2010-11-23 15 views
76

Clojureを使用している人はどのような現実的なアプリケーションですか?Clojureとは何が役に立ちますか?

私は接着剤のためにGroovyを、大きなシステムのためにJavaを、構文解析と接着剤のためにPython/Perlスクリプトを使用します。私は自分自身がJavaからClojureを呼び出すのを見ることができましたが、私はそれをどこで使うのかわかりません。私は、特別なタスクのためにほとんどすべてのスクリプト言語を使用する方が簡単だろうと私に警告します。

私はGroovyのエキスパートでもファンもいないが、より優れたサポートフレームワーク、ツール、多くの言語構成(クロージャ、関数型プログラミング)を持っていると私は思います。 Scalaについても同じことが言えます。

将来は他のシステムに組み込まれている言語である可能性はありますか?

+17

私はサンドイッチを作る以外はすべて。 – wheaties

+10

@ wheaties: '(サンドイッチ・ミーBLT)'を試しましたか? – FrustratedWithFormsDesigner

+0

GroovyもClojureよりも古いです。ツールは魔法のように書き込まれず、一晩安定しています。 – Rayne

答えて

69

私はのためにClojureのを使用しました:OpenGLので遊んで

  1. スクレーパーWebページ
  2. シェルスクリプト
  3. ビルのウェブサイト
  4. 書き込み非同期のWebサーバ
  5. HTMLのテンプレート
  6. 並列タスクの実行(複数のURLを取得するリアルタイムオーディオ
  7. シミュレーションの実用的な/楽しいことがあります

で遊んで並列にD工程)

  • しかし、Clojureには理論的な深さもたくさんあります。主流としてますます関連性が高まるアイデアは、機能プログラミングの可能性を実際に理解するようになります。

    個人的な意見ではあるが、Clojure Flat Outは、これまで私が使用してきたすべての言語(C、C++、Objective-Language)のソフトウェアを正しく整理するための優れた言語構成を提供しますC、Java、JavaScript、Python、Ruby。

    Clojureは完璧です。しかし、それはそこにあるほとんどのものよりも優れた基盤上に構築されているようです。

  • +0

    あなたはDavid Nolenですか? "Clojurescript:Lisp's Revenge"でトークをした人。すごい話だったよ! –

    +0

    //「ソフトウェアを正しく編成するためのより優れた言語構成を提供する」とはどういう意味ですか? E.G. http://dev.clojure.org/display/community/Library+Coding+Standards? –

    +0

    シェルスクリプト? Clojureの起動時間が遅いという問題はありましたか? – masnun

    12

    これは難しい質問です。何をしたいですか? Clojureが本当に適していないということはあまりありません。つまり、cakeなどを使用していない限り、JVMの起動時間のためにコマンドラインスクリプトを使用しているスクリプトではそれほど大したことではありませんが、それはどのJVM言語でも言えることです。

    Clojureは並行処理タスクに特に適しています。それは、同時性のためのすばらしい言語であるために土台から作られた、そしてそれはSTMシステムは素晴らしいです。いくつかのハードコア並行性関連の処理を行う必要がある場合、Clojureは特にそのタスクに適しているかもしれません。

    ただし、Clojureは汎用言語であることを覚えておく必要があります。特定のニッチにしか適していないだけでなく、他のJVM言語が適しているものの多くまたはすべてに役立つ傾向があります。

    Clojureは、それ自体が素晴らしい言語であり、必ずしもグルー(glue)言語である必要はありません。 Javaコードに直接触れることなく、Clojureで最初からシステムを構築することができます。いい接着剤の言語を作っていないわけではありませんが、私は多くの人がそのように使用していることを知っています。

    何かを念頭に置いている場合は、どのような言語でもオプションがどのように見えるかを検討するのが最善の方法です。 Groovyで見た目が良くなったら、Groovyに行ってください。彼らは根本的に異なる言語であり、どちらも目的を持っています。

    +0

    それでも、CLI Clojureスクリプトを書いていることがわかりました。なぜなら、私は言語を書くのが楽しいと思っていて、私の場合は起動時間に気にしなかったからです。 – nha

    15

    大量のデータを処理するためにClojureが広範に使用されています()。これは、データマイニング/商用AI(すなわち:Runa)と大規模な予測(WeatherBill)に非常に適しています。 Clojureの並行処理の話は、並列処理が単に唯一の答えであるデータ重いドメインで本当に役立ちます。

    5

    Clojureは、GroovyまたはJavaを使用する場所ならどこでも使用できます。 なぜそれをしたいですか? lispが好きな人もいます。それらはGroovyよりもClojureを選択します。 Lispを嫌う人もいます。それらはGroovyを選択します。

    +0

    これは選択肢だけのものではありませんが、clojureには他の言語とは異なる機能がたくさんあります。何も言及されていない人がいます。私はほとんど会議を覚えていませんので、ここで適切な答えを書くことはできません。 – holms

    関連する問題