好的,所以我对另一个列表感到很兴奋.我得到了一份beta Clojure编程书的副本......
我注意到的最重要的一点就是假设我知道......就像所有主要的java类一样.
除此之外,一般来说,我并不关心Java.我只是想要足够的知识,让Clojure成为我的选择.
关于如何学习我需要的所有内容的任何建议?
嗯,实际上,尽管Clojure是在考虑Java开发人员的情况下开发的,但它并不是为 Java程序员编写的.
Clojure旨在在Java环境中很好地互操作.
虽然是这样,这不是什么它是专为(至少不是在"Java环境"的语言部分).而"Java环境"意味着语言和JVM以某种方式相互连接,使它们成为一体.他们不是.Conjure是一种原生JVM语言(与Jython或JRuby不同),它使用一个构建良好的虚拟机来生活.
就像Greg说的那样,Clojure是用Java构建的,除非你想真正进入Clojure的软件事务存储系统,否则我会说要检查一个不同的Lisp.
不,谢谢.Clojure不是"用Java构建".它是为JVM构建的.如果您愿意,可以使用Java库,但这不是必需的(虽然它很有用).如果你不想学习Java,那么建议使用不同的Lisp.这是荒谬的.Clojure不是Java; 它意味着成为一流的Lisp.顺便说一句,这意味着以某种方式增强Lisp,使其更具现代性和功能性.它与Java合作的能力应被视为奖励,而非责任.
正如Greg上面指出的那样,像Clojure和Groovy这样的语言主要针对JVM,因此Java开发人员可以拥有两全其美的优势.
也错了.出于上述原因.它们不是为Java开发人员编写的.很抱歉在这里如此直言不讳,但我没有在这些回复中看到有关Clojure的一篇有根据的帖子,我今天刚刚了解了Clojure!如此轻易地看到这种有害的建议是令人沮丧的.
我将以Rick Hickey(编写Clojure的人)的引言结束:
"你可以讨厌Java并喜欢JVM."
他接着说,这就是他的立场.
我对你的主要建议,你已经通过购买Programming Clojure完成了.我多年来一直避免和厌恶Java,并且(编程)Clojure对它进行了修复,以至于语言让我感到兴奋.谁曾想过一个着名的繁重的系统会让你互动(map #(.getName %) (.getMethods (class "")))
?查看"使用Java,3.5将Ant项目和任务添加到Lancet",以便从我熟悉的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世界的绝佳机会.在我生命中的某一天,我从未用过Java编程,而且我正在学习Clojure并热爱它的每一分钟.当然我不知道所有的课程,但我没看到这本书假设你知道所有课程.无论哪种方式,Java都不是学习Clojure的必要条件.