Linux和Windows哪个更适合Clojure开发?

3
我开始学习Clojure。我已经在Windows上使用IntelliJ IDEA 14和新的cursive插件以及Eclipse和counterclockwise插件尝试过了。我在安装和设置leiningen、repl和其他对Clojure开发有用的插件/工具方面遇到了很多问题。
我的问题是:是否值得花费时间和精力从Windows转换到Linux Ubuntu或其他发行版,因为我听说Linux终端和其他工具有许多优点。
PS. Emacs对我来说太难学了 :)

你在安装lein时遇到了什么问题?当我开始学习Clojure时,我使用的是Win 7,但是从cygwin运行leiningen,它提供了类似于Linux的终端。最终我迁移到了Linux,一切都如此神奇地正常工作。另一方面,如果您实际上不打算将其用作主要操作系统,那么从一个操作系统切换到另一个操作系统可能会有点尴尬,除非您从Win 7运行Linux VM。 - juan.facorro
2
我自己是一个使用Ubuntu十年的用户,对它感到满意,但我建议你出于正确的原因更换操作系统。Clojure开发是跨平台的,所以你不需要更改你喜爱的操作系统。 - Sylwester
@juan.facorro 我经常在Windows终端中编写命令时遇到问题。我将尝试使用vagrant或cygwin,希望能有所帮助。无论如何,谢谢! :) - Ivan Aracki
关于在Windows上使用Emacs...这促使我全职转向非Windows开发。在Windows上,由于非POSIX兼容工具(如grep、路径等)存在太多注意事项。Tramp的工作效果很差(如果有的话),你无法很好地运行Emacs守护进程等。Windows上的Emacs不如*nix上的Emacs好用。 - joefromct
2个回答

4
我在工作时使用Intellij 14和Cursive,分别在OSX和Windows上。这两个环境的体验基本相同,你可以在它们之间共享Intellij配置。唯一的区别在于命令行方面,OSX终端比Windows要好得多(尽管ConEmu会有很大帮助),所以在Windows上,我还运行一个无头linux虚拟机,使用Vagrant,因为我喜欢linux式的shell,并且已经厌倦了Cygwin。
我认为,在选择OSX、Windows或Linux时,没有Clojure特定的理由优先选择其中任何一个。您可以根据其他对您重要的原因来做出选择。

顺便提一下,我也尝试过LightTable,它是一个非常优秀的Clojure开发环境,但对于多语言开发来说并不那么有用 - 我会推荐Intellij或Emacs。如果我在Clojure中使用Java互操作或在ClojureScript中使用JavaScript互操作,则当我进入这些语言时,我重视Intellij提供的完整功能。Intellij和Emacs都具有运行REPL并将表单发送到其中的能力,而Intellij 14现在具有Show Variables In Editor调试选项,与LightTable的Instarepl相差不远。


如果有人使用Eclipse进行Clojure开发的经验,请随意在此处添加,以完善这个答案。 - Conan
最近在一些活动中听到了这个讨论,看起来领先的选项是IntellijCursive或Emacs与CIDER。两者在功能上相当,而且都比其他任何选项更出色。 - Conan

0

很难说这是否值得。这取决于个人口味,我想说。

除了转换到Linux之外,您可能还想查看Light Table。我也曾经因设置问题而开始我的Clojure探索,一旦我将环境简化为仅使用Leiningen和Light Table,一切都开始变得顺畅起来。

一旦您获得了一些经验,了解了事物的运作方式,转换到更复杂的环境就成为可能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接