私はRuby開発者ではありません。しかし、私は理由が参照透明性だと思う。
ほとんどのイディオム的なClojure関数は、参照透過性に従う純粋な関数です。その結果、独立したスタンドアロンユニットである関数をテストする方がはるかに簡単であり、ユニットテストの目的をいくらか提供します。 Clojureは、多くの機能が無国籍であることを強く主張しています。 var
、refs
、agents
、atoms
などのようなさまざまな代替手段を使用して状態が維持されるだけでなく、副作用が発生するコードとコードを明確に区別し、コードの大部分を清潔にし、副作用がなく、
私はRubyやその他のプログラミング言語であっても、自動的にREPLの恩恵を受けることができます。
Read, Eval, Print and Loop
のコンセプトは、他の言語で提供されているCLIと同じではありませんが、ほとんどの場合、他の言語で提供されるCLIも同じです。どんなnon-homoiconic
言語もREAD
フェーズを持たず、テキスト表現や文字列を読み込むだけですが、LISPではREAD
フェーズは実際にs-expression
という形で解析できます。それについての詳細は、以下の2の回答参照してください。
Is Lisp the only language with REPL?
How is Lisp's read-eval-print loop different than Python's?
をこれはきちんとしているが、それは質問に答えていません。彼はそれが不可能であったと主張しなかった(実際は逆でした)。彼はなぜそれが普及していないのか尋ねました。 – Ken
彼らはemacsを使用していないかもしれませんし、私よりもTest Driven Developmentではるかに優れています。 – thattommyhall