質問

Clojure を発見した後、ここ数日間、それに没頭して過ごしました。

Clojureを介してJavaに適しているプロジェクトの種類、またはその逆、および組み合わせ

Clojureの前に試したことがないプログラムの例は何ですか?

役に立ちましたか?

解決

Clojureは、同時プログラミングに適しています。ソフトウェアトランザクションメモリや可変参照などのスレッドを処理するためのすばらしいツールを提供します。

Western Mass Developer's Groupのデモとして、Rich Hickeyは、各アリが独自のスレッドであり、すべての変数が不変であるアリのコロニーシミュレーションを行いました。スレッドの数が非常に多い場合でも、うまくいきました。これは、Richが素晴らしいプログラマーだからであるだけでなく、コードの作成中にロックについて心配する必要もなかったからです。彼のアリのコロニーに関するプレゼンテーションはこちらをご覧ください。

他のヒント

コンカレントプログラミングを試す場合、clojureはJavaからすぐに使用できるものよりもはるかに優れていると思います。このプレゼンテーションを見て理由を確認してください:

http://blip.tv/file/812787

ブログでClojureを使用して最初の20日間を記録しました

http://loufranco.com/blog/files /category-20-days-of-clojure.html

SICP講義から始めて、並列素数ふるいを作成しました。マクロもいじくりました。

  

Clojure経由でJavaを使用するのに適しているプロジェクトの種類、その逆   その逆、または組み合わせ?

     

GUI構築ツールを使用するプロジェクト   (NetbeansのMatisseなど)は   必要なのは、Javaが   まだ必要です。でやったこと   JavaはClojureでかなり行うことができます   プロキシとgen-classを使用すると、すぐに   必要な、または単にJavaにアクセスする   必要(。、doto、newなど)。この   Clojureプロジェクトで簡単に使用できます   JavaライブラリまたはレガシーJavaコード。

     

Clojureの前に試したことがないプログラムはどれですか?

     

Clojureを見つける前、私は   必要なプロジェクトを検討する   JDBC、サーブレットで実行されます   コンテナ、そして私は   多くの反復開発   どのメソッドがどうなるかは明確ではありませんでした   分析に必要なデータを処理します。   私はバックバーナーにそれを置きます   時間も忍耐もなかった   compile-debug- deploy-validation   Javaが必要とするサイクリング。私は今しました   Clojureでアプリケーションを作成し、   のしやすさにとても満足しています   その場で変更を加えて   結果を調べることができます   すぐに。喜びはもちろん   ロックフリープログラミングと   開発する必要から解放された(そして   リファクタリング)クラス階層。

     

-" MikeM" clojure@googlegroups.com メーリングリスト経由

  

Clojureを介してJavaに適しているプロジェクトの種類、またはその逆、および組み合わせ

JavaとClojureで使用するフレームワークを開発する場合、Clojureで記述するよりもJavaで主要な抽象化(インターフェースと基本クラス)を記述する方が望ましいことがわかりました(Clojureの gen-class はやや退屈で、むしろ proxy を使用します)。

Hibernateまたはプログラムによる代替手段を提供せずにJavaアノテーションを多用する他のフレームワークのユーザーである場合、アノテーション付きのPOJOをClojureのデータ構造でエミュレートすることは簡単ではないため、いくつかの問題が発生します。

それ以外は、ClojureがJavaよりも適切でないユースケースはありません。もちろん、静的型付けの損失に対処する必要があります。これは、最初は多少戸惑いを感じますが、消える傾向があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top