clojure la gi

JVM (Java Virtual Machine) là nền tảng thú vị vì như thế có tương đối nhiều tủ sách nhất trong những loại nền tảng và đem vận tốc nhanh chóng. Ngôn ngữ đơn giản tụ hợp những qui luật logic, bất kì ngữ điệu nào thì cũng chỉ việc dịch lịch sự byte code theo như đúng chuẩn chỉnh JVM là chạy được bên trên nó, nên ngoài Java bên trên JVM hiện nay đem cả trăm ngữ điệu.

Đang xem: Clojure là gì

Bạn đang xem: clojure la gi

Xu phía lúc bấy giờ là nhiều lõi, hiện nay đem 2 ngữ điệu nổi trội bên trên JVM tương hỗ nhiều lõi là Scala và Clojure. Bài Khủng hoảng nhiều lõi: Scala vs Erlang đang được kể Scala, bài xích này reviews Clojure bằng phương pháp đối chiếu với Scala và Erlang, tiếp sau đó chỉ dẫn cơ hội thiết lập môi trường xung quanh học tập.

*

So sánh với Scala và Erlang

Đa nhiệm đem 2 mục tiêu: tận dụng tối đa hiệu suất cao sức khỏe xử lí của một máy và của khá nhiều máy. Do giới hạn của JVM nên Clojure và Scala chỉ thực hiện đảm bảo chất lượng tiềm năng đầu, còn Erlang thực hiện đảm bảo chất lượng cả hai. JVM sử dụng native thread của hệ quản lý và điều hành nên Clojure và Scala chỉ chạy tuy nhiên song hiệu suất cao chừng vài ba ngàn việc làm, vì như thế những hệ quản lý và điều hành chỉ chạy hiệu suất cao tối nhiều chừng vài ba ngàn thread, hơn thì hệ quản lý và điều hành tiếp tục tạm thời thậm chí là treo máy. Erlang sử dụng green thread nên vận tốc tạo nên thread rất nhanh cỡ nano giây và con số thread đưa đến hoàn toàn có thể lên tới cả triệu. Khi vận tải lên rất cao (nhiều việc làm cho tới liên tiếp nằm trong lúc), lịch trình Erlang chỉ chạy lắng dịu chứ không nhiều đem kĩ năng bị tiêu diệt vì như thế khối hệ thống không còn khoáng sản (CPU và cỗ nhớ) như lịch trình Clojure và Scala. Tuy nhưng với loại lịch trình thường xuyên về tính chất toán số học tập thì Clojure và Scala nhanh chóng rộng lớn Erlang, tự đó:

Nên sử dụng Clojure hoặc Scala nếu như lịch trình thiên về tính chất toán chỉ việc chạy đảm bảo chất lượng bên trên 1 máy, từng máy chỉ việc chạy tuy nhiên song chừng vài ba ngàn việc làm, và không nhiều cần thiết truyền vấn đề đằm thắm nhiều máy.Nên sử dụng Erlang Lúc lịch trình cần thiết chừng tuy nhiên song cao bên trên 1 máy và nhiều máy, chịu đựng được vận tải và sự uy tín cao.

Erlang rời khỏi năm 1986, Scala rời khỏi năm 2003, Clojure rời khỏi sau Scala 4 năm nên ko cải cách và phát triển vì chưng. Tuy nhưng hiện nay Clojure đem động lực cải cách và phát triển mạnh rộng lớn Scala vì như thế một trong những lí do:

Scala phối kết hợp cả thiết kế phía đối tượng người dùng (OOP) và thiết kế hàm (FP), cú pháp phức tạp còn hơn hết Java. Trong Lúc cơ Clojure chỉ là một trong những thay đổi thể (dialect) của Lisp, thuần FP nên cú pháp đơn giản và giản dị rộng lớn thật nhiều.Scala là ngữ điệu tĩnh, cần dịch rồi mới nhất chạy được. Clojure là ngữ điệu động, ko cần thiết dịch trước lúc chạy (Ruby cũng động như cú pháp phức tạp rộng lớn Clojure nhiều nên JRuby đủng đỉnh rộng lớn Clojure tự mã Ruby khó khăn dịch hiệu suất cao rời khỏi mã JVM rộng lớn Clojure).Yếu tố lai đằm thắm OOP và FP của Scala một vừa hai phải là ưu và là điểm yếu kém. Ưu vì như thế cú pháp như là Java nên dễ dàng học tập với những người đang được biết Java, nhược vì như thế người trước ni chỉ quen thuộc ghi chép OOP sẽ sở hữu được Xu thế ghi chép Scala theo phong cách OOP, không nhiều tận dụng tối đa được xem năng xử lí nhiều lõi của Scala. Clojure là thay đổi thể của Lisp, nhưng mà số người biết tối thiểu một trong mỗi thay đổi thể của Lisp (vì được dạy dỗ ở trường) vô cùng phần đông, nhất là vô giới nghiên cứu và phân tích khoa học tập PC.

Cả Clojure và Scala đều hoàn toàn có thể gọi thẳng tủ sách ghi chép vì chưng Java và ngược lại (tuy vậy cú pháp gọi Java của Clojure đảm bảo chất lượng hơn). Nếu cần lựa chọn học tập 1 trong các 2 ngữ điệu nhằm học tập, thì có lẽ rằng nên:

Chọn Scala nếu như cần thiết làm gấp project gì cơ vì như thế Scala nhiều tư liệu rộng lớn, cú pháp như là những ngữ điệu thịnh hành như Java, C#, Ruby nên lúc mới nhất chính thức học tập thì vận tốc học tập nhanh chóng rộng lớn Clojure. Ví dụ Twitter vô thời hạn cụt đang được hoàn toàn có thể gửi kể từ Ruby lịch sự Scala.Nên lựa chọn Clojure nếu như chưa chắc chắn FP là gì. Người tao bảo ngữ điệu còn nếu như không thực hiện thay cho thay đổi tâm lý của tớ thì ko xứng đáng học tập. Clojure dựa vào Lisp nhưng mà Lisp là ngữ điệu FP thượng cổ thứ hai (sau Forth) và có lẽ rằng là có một không hai còn sinh sống khoẻ cho tới thời nay. Scala lai đằm thắm OOP và FP nên tuy vậy dễ dàng thích nghi rộng lớn tuy nhiên nếu như trước giờ chỉ quen thuộc từng OOP thì Lúc ghi chép lịch trình các bạn sẽ đem Xu thế ghi chép theo phong cách OOP (vậy thì sử dụng Java quách mang lại xong), ko tạo ra thay cho thay đổi gì vô tâm lý mang lại khuôn đầu của tớ.

2 quy mô xử lí tuy nhiên song được hiệu suất cao nhất lúc bấy giờ là
. Erlang và Scala theo đuổi quy mô actor, Clojure theo đuổi quy mô STM. Actor xử lý được yếu tố xử lí tuy nhiên song ở cả hai tình huống bên trên và một máy và trên rất nhiều máy không giống nhau. STM thì chỉ xử lý được yếu tố bên trên một máy. Tuy nhưng, công ty trương của Clojure là sử dụng STM nhằm tận dụng tối đa tối nhiều đặc điểm của việc việc chạy xe trên một máy là bộ nhớ lưu trữ hoàn toàn có thể sử dụng công cộng, xử lý thiệt đảm bảo chất lượng yếu tố một máy trước, rồi vô sau này mới nhất tìm hiểu cơ hội xử lý yếu tố nhiều máy sau (dùng JMS chẳng hạn).

Xem thêm: vo cu that quyen ru

Xem thêm:

Học Scala sẽ sở hữu được xúc cảm nó tham ô lam tích phù hợp đầy đủ loại chức năng hầm bà lằng. Học Clojure sẽ sở hữu được xúc cảm nó đẹp nhất.

Cách học

Nên biết Java trước khi tham gia học Clojure. Nếu đang được biết Lisp rồi thì quá khoẻ vì như thế Clojure chỉ là một trong những phiên bạn dạng của Lisp, như là JRuby đối với Ruby.

Cần tìm hiểu hiểu kĩ những công ty nhằm sau thời điểm học tập Clojure:

Cú pháp ngoặc ()Các sườn căn bạn dạng như def, defn, fn, ifSequence và list, vector, hash, setLập trình concurrent và var, atom, ref, và agentCách links với Java

Nắm kĩ được những chủ thể bên trên là nhân tố đưa ra quyết định để sở hữu căn bạn dạng Clojure vững chãi. Tại phía trên tao chỉ bàn thêm thắt về chủ thể căn bạn dạng nhất là cú pháp ngoặc, những chủ thể không giống bên trên mạng đem đẫy.

Cú pháp ngoặc đem 3 điểm quan tiền trọng:

Xem thêm: đam mỹ truyenfull

Khi list được quote thì nó đơn giản độ quý hiếm literal (khối dữ liệu).Khi list ko được quote thì nó là điều gọi hàm: (1) list sẽ tiến hành evaluate và (2) thành phần trước tiên gọi là sườn tiếp tục đưa ra quyết định list sẽ tiến hành evaluate rời khỏi độ quý hiếm gì.(a b c d) thì hoàn toàn có thể coi a là tên gọi hàm, những khuôn sót lại là thông số. Để dễ dàng nắm bắt thông thường cần hiểu theo đuổi trật tự kể từ cần lịch sự trái: tìm hiểu hiểu coi d là gì trước, tiếp sau đó cho tới c v.v.

Xem thêm: Theme Park Là Gì ? Nghĩa Của Từ Theme Park Trong Tiếng Việt Theme Park Là Gì

Clojure bao gồm phần core ngữ điệu (giống corelib của Ruby) và phần contrib bao gồm những tủ sách đa dạng chủng loại (giống stdlib của Ruby). Thư viện contrib này tương quan nhiều cho tới bạn dạng đằm thắm ngữ điệu thì sẽ tiến hành đi vào core dần dần. Thư viện này đảm bảo chất lượng được dùng nhiều thì sẽ tiến hành đi vào contrib. Hãy nhằm ý tập luyện sử dụng được phổ thông tủ sách vô contrib càng đảm bảo chất lượng.

1.5/5 - (59 bình chọn)