Tôi không phải là nhà phát triển Ruby. Tuy nhiên tôi cảm thấy lý do là tính minh bạch tham chiếu.
Hàm clojure thành ngữ nhất là các hàm thuần túy tuân theo tính minh bạch tham chiếu. Kết quả là cá nhân tôi tìm thấy nó dễ dàng hơn nhiều để kiểm tra các chức năng là các đơn vị độc lập độc lập và chúng phần nào cung cấp mục đích của các bài kiểm tra đơn vị. Clojure là một ngôn ngữ được đánh giá cao thích rằng hầu hết các chức năng đều không có quốc tịch. Nó tạo ra sự phân biệt rõ ràng giữa mã nơi các hiệu ứng phụ xảy ra cũng như các trạng thái được duy trì bằng cách sử dụng các lựa chọn thay thế khác như var
, refs
, agents
, atoms
v.v ..., giữ phần lớn mã của bạn sạch sẽ, hiệu ứng phụ miễn phí và minh bạch.
Tôi cảm thấy bất kỳ mã nào được cấu trúc xung quanh các hàm trong suốt và trạng thái không liên quan sẽ tự động cho vay để được hưởng lợi từ REPL cho dù nó có trong Ruby hay bất kỳ ngôn ngữ lập trình nào khác không.
Mặc dù đối với hầu hết các mục đích thực tế, CLI được cung cấp bởi một ngôn ngữ khác sẽ hữu ích như nhau, tuy nhiên khái niệm về Read, Eval, Print and Loop
không giống với LISP vì nó thuộc bất kỳ ngôn ngữ nào khác. Bất kỳ ngôn ngữ non-homoiconic
sẽ không có giai đoạn READ
và nó sẽ chỉ đọc biểu diễn văn bản hoặc chuỗi, tuy nhiên trong LISP, giai đoạn READ
thực sự có thể phân tích cú pháp dưới mọi hình thức s-expression
mà bạn ném vào đó. Để biết thêm chi tiết về nó tham khảo dưới đây 2 câu trả lời:
Is Lisp the only language with REPL?
How is Lisp's read-eval-print loop different than Python's?
Nguồn
2016-08-22 20:54:35
Đây là gọn gàng, nhưng nó không trả lời câu hỏi. Anh ta không tuyên bố hoặc cho rằng điều đó là không thể (thực ra, ngược lại). Anh hỏi tại sao nó không phổ biến hơn. – Ken
Có lẽ họ không sử dụng emacs, hoặc là tốt hơn nhiều tại Test Driven phát triển hơn tôi. – thattommyhall