Trên con đường dẫn đến Khai sáng: Lược đồ, Lisp thông thường, Clojure? [đóng cửa]


26

Rất nhiều người thông minh hơn tôi cứ viết khi bạn học Lisp, điều đó khiến bạn trở thành một lập trình viên giỏi hơn vì bạn "hiểu được".

Có lẽ tất cả những gì tôi nghe về việc Lisp (s) thay đổi cuộc sống của bạn chỉ là một trò đùa thực tế lớn đối với người mới, nhưng tôi thấy không có hại gì khi biết thêm về thế giới, ngay cả khi tôi phát hiện ra mình đã bị gửi đi sau một vụ bắn tỉa hay gì đó .

Tôi muốn theo dõi cuốn sách SICP và ANSI Common Lisp, nhưng đồng thời đang nghiên cứu một phương ngữ và triển khai mà tôi có thể tiếp tục sử dụng cho các dự án cá nhân.

SICP tập trung vào Đề án, vì vậy đó là một phiếu bầu lớn. Paul Graham nói rằng nếu anh ấy dạy người mới, anh ấy sẽ làm điều đó trong Scheme, nhưng có vẻ như Scheme vẫn thua kém Common Lisp. Nhưng sau đó có Clojure-- mà tôi đã nói bị hạn chế theo những cách, nhưng thực tế hơn ở những người khác (thư viện JVM).

Có vẻ như tôi có thể thông qua các tài liệu Scheme dễ dàng hơn, đạt được sự giác ngộ "thực sự" từ CL hoặc đến gần với Clojure và có thể hoàn thành nhiều việc hơn với nó trong thời gian dài.

Bao nhiêu trong số đó là sự thật? Khi nào tôi nên ngừng suy nghĩ về những gì cần tìm hiểu và chỉ đi và tìm hiểu về nó?


4
+1 nhưng hãy cẩn thận, tất cả đều không tốt ở đây, hãy xem điều gì đã xảy ra với điều này: lập trình
viên.stackexchange.com / users / 39479


1
Xin chào, "tôi nên học ngôn ngữ nào tiếp theo?" không phải là chủ đề ở đây.

@MarkTrapp Xin lỗi tôi. Tôi nghĩ rằng câu hỏi "Ngôn ngữ nào là tốt nhất cho [x]?" vẫn còn trong chủ đề bởi vì đó là vấn đề chọn công cụ phù hợp cho công việc. Tôi hình dung có nhiều người muốn biết sự đánh đổi của việc nghiên cứu một cái gì đó có danh tiếng học thuật so với một công cụ tương tự có quyền truy cập vào một nền tảng đã được thiết lập. Đây vẫn là căn cứ để đóng cửa?
Conrad.Dean

2
@MarkTrapp Tôi nghĩ rằng đây là một câu hỏi hay. Cảnh quan lisp có thể gây nhầm lẫn khi điều hướng lúc đầu và OP có một số tiêu chí cụ thể để giúp mọi người đánh giá một câu trả lời thích hợp. Tôi nghĩ rằng câu hỏi này gần như không mơ hồ như "Tôi nên học ngôn ngữ nào tiếp theo?".
benekastah

Câu trả lời:


19

Có lẽ tất cả những gì tôi nghe về việc Lisp (s) thay đổi cuộc sống của bạn chỉ là một trò đùa thực tế lớn đối với người mới

Hoàn toàn không đúng sự thật, Đó không phải là một trò đùa.
Với Lisp bạn sẽ xây dựng bất kỳ thứ gì bạn muốn, thậm chí là ngôn ngữ lập trình của riêng bạn.

Bạn sẽ được khai sáng bất kể bạn chọn gì cho dù đó là CL, Scheme hay Clojure.
Cá nhân tôi khuyên bạn nên học Clojure vì đây là một Lisp hoạt động, một phương ngữ thực tế hỗ trợ lập trình đồng thời theo cách thanh lịch và nó chạy trên JVM (điểm bán hàng khổng lồ).

ClojureScript mang Lisp đến lập trình phía máy khách, đây thực sự là một điều tuyệt vời.

Và nhân tiện, SICP có sẵn trong Clojure .

Chào mừng bạn :)


Bản dịch Clojure của SICP thực sự rất thú vị đối với tôi. Cuối cùng tôi đã kiểm tra nó vẫn còn là một công việc đang tiến hành, nhưng nó phải được tiếp tục cho đến bây giờ. Bất cứ ai cũng có thể nhận xét về cách dịch này vẫn bảo tồn niết bàn bạn nhận được từ việc đọc SICP?
Conrad.Dean

@ Conrad.Dean: Chà, nó vẫn có một cảnh báo khá nổi bật: "Bạn chưa nên ở đây. Thật ra, bạn được chào đón nhiều hơn để nhìn xung quanh. Tôi sẽ tránh đưa ra bất kỳ gif nào về hình nón giao thông và biển báo dừng , nhưng trang web này đang được xây dựng rất nhiều, và không ở đâu gần điểm hữu ích. "
Jerry Coffin

3
Việc đóng cửa dịch SICP là DEAD kể từ năm 2009, điều đó thật đáng buồn vì các giải pháp tồn tại trong clojure ...
AndreasScheinert

nếu bạn thực sự muốn thay đổi cuộc sống của mình, hãy tìm hiểu, lập kế hoạch, prolog và C, theo thứ tự đó. Python cũng có giá trị một hoặc hai sniff. Sau đó, nếu đầu bạn chưa nổ, hãy đi và thiết kế ngôn ngữ lập trình của riêng bạn hoặc giúp hoàn thiện các ngôn ngữ mới khác.
Sam Watkins

7

Có vẻ như tôi có thể thông qua các tài liệu Scheme dễ dàng hơn, đạt được sự giác ngộ "thực sự" từ CL hoặc đến gần với Clojure và có thể hoàn thành nhiều việc hơn với nó trong thời gian dài.

Đừng mong chờ phép màu. Làm việc trong một ngôn ngữ như Scheme sẽ mở rộng tầm nhìn của bạn và có thể dạy cho bạn khá nhiều về cách các chương trình được thực thi, nhưng đó không phải là một vé nhanh đến Sphere of Infinite Consciousness.

Khi nào tôi nên ngừng suy nghĩ về những gì cần tìm hiểu và chỉ đi và tìm hiểu về nó?

Khoảng 7 giây sau khi bạn đọc xong câu trả lời này.


5

Nếu bạn muốn bắt đầu với SICP, hãy đi với sơ đồ, chỉ vì đó là những gì cuốn sách dạy. Di chuyển từ Scheme sang Clojure sẽ khá dễ dàng.


Bạn có thể nhận xét nếu các điểm chính của SICP dịch trong dự án SICP in Clojure , hoặc có bất cứ điều gì bị mất giữa sơ đồ để clojure không?
Conrad.Dean

1
Thành thật mà nói, đã quá lâu kể từ khi tôi ném SICP và không dành nhiều thời gian với Clojure. Điều quan trọng về SICP không phải là kế hoạch mà là hiểu mô hình tính toán mà họ đang làm việc.
Zachary K
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.