わかりました、それで私は別のリストについて興奮しています。ベータ版の Clojure プログラミング本のコピーを手に入れました...
そして、私が最も気付いていることの 1 つは、すべての主要な Java クラスと同様に、私が知っていると想定されていることです。
ただし、一般的に、私は Java にはあまり関心がありません。私は、Clojure が私の選択肢となるために十分な知識が欲しいだけです。
必要なものだけを学ぶ方法について何か提案はありますか?
あなたへの私の主な推奨事項は、プログラミングClojureを購入することですでに達成しています。私は何年もの間Javaを避けて嫌っていましたが、(プログラミング)ClojureはJavaを十分にリハビリし、言語が私を興奮させました。有名な面倒なシステムでインタラクティブにできると誰が思ったでしょう(map #(.getName %) (.getMethods (class "")))
か。「Javaの操作、3.5 LancetへのAntプロジェクトとタスクの追加」を読んで、Rubyでよく知っているスタイルの調査を行ってください。
Freenode #clojureを使用している場合は、 ##javaにも参加してください。JavaのAPIドキュメントを入手して、手元に置いておきます。やりたいことに対するJavaの答えをウェブで検索し、それを多かれ少なかれ直接Clojureに翻訳します。
編集:cljで:
user=> (use 'clojure.contrib.javadoc)
nil
user=> (keys (ns-publics 'clojure.contrib.javadoc))
(*remote-javadocs* javadoc find-javadoc-url add-remote-javadoc
*core-java-api* add-local-javadoc *local-javadocs*)
user=> (javadoc "this is a java.lang.String")
true (browses to http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html)
user=> (javadoc java.net.ServerSocket)
true (...)
user=>
グレッグに不快感はありませんが、私は同意しません。Clojure を学ぶことは、Java の世界を少しでも理解する絶好の機会です。人生で 1 日も Java でプログラミングしたことはありませんが、Clojure を学び、そのすべてを愛しています。もちろん、私はすべてのクラスを知っているわけではありませんが、本があなたがそれらすべてを知っていると想定している場所を理解できていません. いずれにしても、Clojure を学ぶために Java は必須ではありません。
必要なものは Google と StackOverflow から問題なく入手できるはずですが、Java の標準ライブラリに慣れるまでは両方にアクセスすることを期待してください。
ただし、Greg が言ったように、Clojure は Java を使用するように構築されており、Clojure のソフトウェア トランザクショナル メモリ システムを本当に使いたい場合を除き、別の Lisp をチェックアウトすることをお勧めします。Java は確かに必須ではありませんが、Clojure の標準ライブラリーに加えて標準ライブラリーを学習する必要がないことは大きな利点です。
上記の Greg が指摘しているように、 Clojure や Groovy などの言語が JVM をターゲットにしている主な理由の 1 つは、Java 開発者が両方の長所を活用できるようにするためです。したがって、Lisp を学びたい場合は、Scheme または Common Lisp から始めるのがよいでしょう。
Clojure のすべての Java 側面に興味がない場合は、Common Lisp や Scheme など、Lisp の別の方言を学習したほうがよいでしょう。Clojure は、Java 環境でうまく相互運用できるように設計されています。