你和clojure有什么困难?

你和clojure有什么困难?,clojure,Clojure,我已经开始用clojure构建一个系统,主要是因为我需要使用Java库。我对Clojure的主要问题是缺乏适当的IDE支持(让它在Windows上与Emacs很好地协同工作并不是一件小事)。我想知道别人遇到了什么困难。 < P>一个想法:如果你在java环境中工作,那么你可能会考虑使用java IDE,使用Culjule插件,而不是与Emacs等。 例如,我的设置与以下各项完美配合: Eclipse 3.6.1 Clojure 0.2.0 RC1()的逆时针插件 Clojure 1.2库(在e

我已经开始用clojure构建一个系统,主要是因为我需要使用Java库。我对Clojure的主要问题是缺乏适当的IDE支持(让它在Windows上与Emacs很好地协同工作并不是一件小事)。我想知道别人遇到了什么困难。

< P>一个想法:如果你在java环境中工作,那么你可能会考虑使用java IDE,使用Culjule插件,而不是与Emacs等。

例如,我的设置与以下各项完美配合:

  • Eclipse 3.6.1
  • Clojure 0.2.0 RC1()的逆时针插件
  • Clojure 1.2库(在eclipse构建路径上,或者使用Maven自动导入)
  • 使用逆时针()提供的REPL进行交互式开发
由于我需要在Clojure代码中使用大量Java(通常在同一个项目中!),这种设置比使用一整套新工具更有意义。

缺少“用户友好”的堆栈跟踪(来自Haskell,感觉像是一个巨大的倒退),但你最终会习惯的,并学会用自己的方式工作

我们仍然在为没有leiningen的日子做噩梦(类路径混乱,启动脚本,依赖“管理”地狱)

它改进了很多,似乎每一个版本都在改进。

被“懒虫”咬了一口

“懒虫”会让你的文件变空


ps:答案是,
dorun

将我的思维方式从命令式编程转变为函数式编程

在我读了一本关于lisp编程的书之后,它变得更好了。

到目前为止,我的问题是:

  • 使用常见的Lisp和Clojure获取EMACS/SLIME并不太容易
  • 到目前为止,Clojure 1.2.0 stacktraces还是一团糟。通常很难弄清楚出了什么问题
  • 调试体验不是很好。试过JSWAT和逆时针方向,但不太满意

我的括号键磨损了……IntelliJ IDEA现在有了一个免费版本,并且非常支持Clojure,可能是所有IDE中最好的。推荐。事实上,我试过Netbeans,对Enclojure印象不太好,但我只是试过Intellij和LaClojure,而且效果非常好better@RafeKetterr:Clojure代码的括号通常比Java少。另外,我认为自20世纪70年代左右,当带有自动代码完成功能的IDE被发明以来,没有任何Lisp程序员真正键入过括号。是的,我仍然觉得stacktraces非常糟糕,但我也发现Java stacktraces有时也非常不可读:)我推荐clj stacktrace。您不必运行最新版本的Clojure,而且它比Clojure 1.3中的内容具有更好的对齐和着色:没有与此相关的参数,尽管您的函数编程“技术”可以应用于您使用的“任何”语言,甚至Java@Zubair,那么这一页是一个问题还是一个激励性的演讲呢?:)两者都不是。我试着让自己沉浸在clojure中,所以我想从其他人的语言体验中尽可能多地学习。我明白了。事实上,我是Clojure的忠实粉丝,但我不能否认,我花了很多时间学习才变得相当有成效。无论如何,我认为我做出了正确的选择。do强制对列表中的所有项目进行评估,并缓存结果。dorun与do类似,只是它不需要保存列表,只返回nil。对于较小的列表,可以稍微节省空间,对于真正巨大或无限的列表,也不会破坏堆。请查看“clojure.contrib.trace”,它在很多情况下都比传统的调试好。我知道这一点。在此期间,我主要使用1.3,但效果要好得多。10个月后重新审视这个答案,建议仍然有效,只是列出的所有工具都有闪亮的新版本,而且效果更好。。。。。。
(with-open [file (writer name)]
    (map #(.write file (process %)) (get-data)))