首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无需Java知识即可学习Clojure

无需Java知识即可学习Clojure
EN

Stack Overflow用户
提问于 2009-01-31 00:53:45
回答 6查看 5.8K关注 0票数 17

好吧,我对另一个列表很感兴趣。我给自己买了一本测试版的Clojure编程书籍...

我最注意到的一件事就是假设我知道...就像所有主要的java类一样。

除了,一般来说,我并不真正关心Java。我只想要有足够的知识让Clojure成为我的一个选择。

对于如何学习我所需要的东西,有什么建议吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-01-31 15:50:19

我对您的主要建议是,您已经通过购买Programming Clojure来实现了。多年来,我一直回避和厌恶Java,而(编程) Clojure对它进行了足够的修复,这门语言现在让我兴奋不已。谁会想到一个以繁重著称的系统会让你交互式的(map #(.getName %) (.getMethods (class "")))呢?请参阅“使用Java,3.5将Ant项目和任务添加到Lancet”,以了解我在Ruby中熟悉的风格。

如果你使用的是Freenode #clojure,也可以加入##java。获取Java的API documentation并将其放在手边。在网上搜索你想做的事情的Java answer,并或多或少直接翻译成to Clojure

编辑:在clj:

代码语言:javascript
复制
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=>
票数 19
EN

Stack Overflow用户

发布于 2009-04-12 06:20:07

嗯,实际上,尽管Clojure是在考虑Java开发人员的情况下开发的,但它并不是为Java程序员编写的。

Java被设计为在

环境中很好地互操作。

尽管它是这样做的,但这并不是它设计的目的(至少在"Java环境“的语言部分不是这样)。"Java环境“意味着语言和JVM以某种方式相互联系,使它们成为一体。他们不是。Conjure是一种原生JVM语言(与Jython或JRuby不同),它使用构建良好的虚拟机来运行。

就像Greg所说的那样,

是为使用Java而构建的,除非你想真正进入到Clojure的软件事务存储系统中,否则我建议你去看看不同的Lisp。

不,对不起。Clojure不是“用Java构建的”。它是为JVM构建的。如果愿意,您可以使用Java库,但这并不是必需的(尽管它很有用)。如果您不想学习Java,建议您使用不同的Lisp。那太荒谬了。Clojure不应该是Java;它应该是一流的Lisp。顺便说一句,这意味着在某些方面增强Lisp,使其更加现代和实用。它与Java良好协作的能力应该被视为一种奖励,而不是一种负担。

正如Greg上面指出的,像Clojure和Groovy这样的语言瞄准

有一个主要原因,这样Java开发人员就可以两全其美。

也是错的。出于上面所述的原因。它们不是为Java开发人员编写的。很抱歉在这里如此直截了当,但在这些回复中,我还没有看到一个关于Clojure的受过教育的帖子,而且我今天才刚刚了解到Clojure!看到这种有害的建议如此容易地给出是令人沮丧的。

我将引用Rick Hickey (编写Clojure的人)的话来结束我的演讲:

“你可以讨厌Java,喜欢JVM。”

他继续说,这就是他的立场。

票数 22
EN

Stack Overflow用户

发布于 2009-01-31 11:51:03

无意冒犯格雷格但我不同意。学习Clojure也是一个掌握Java世界的绝佳机会。我这一生中从来没有用Java编程过一天,我正在学习Clojure,我喜欢它的每一分钟。当然,我不知道所有的类,但我看不出这本书假设你知道所有的类。无论哪种方式,Java都不是学习Clojure的必要条件。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/497890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档