请在 2024 Clojure状态调查! 中分享您的想法。

欢迎!请阅读 关于 页面以了解有关此功能的更多信息。

+2
工具
编辑

官方入门指南 展示了如何使用命令行工具为macOS、Linux和Windows安装Clojure及其依赖项。

这些过程对于经验丰富的程序员来说效果很好,他们可以轻松地解决问题。然而,当涉及到降低入门门槛时,这种情况并不理想,给人留下了糟糕的第一印象。

我在面向那些几乎没有Clojure或一般编程经验的初学者的“入门Clojure”研讨会上使用上面提到的指南。我亲眼看到人们如何在自己的系统上安装和正确设置Clojure,尤其是在Windows用户。

允许用户一键安装Clojure及其所有依赖项将使人们更容易安装Clojure,并大大改善新手的用户体验,这对于提高曝光度和采用率至关重要。

为此,我建议为所有操作系统提供官方的“下载并双击安装程序”。为了获得灵感,请查看其他语言(如PythonGo)提供的安装程序。“只需下载此安装程序并运行即可。就这么简单!”

此外,Scala有一个出色的着陆页,有两个选项可引导初学者和高级用户访问不同的安装指南。初学者被鼓励在浏览器中尝试Scala,而不需要在他们的计算机上安装任何内容。对于Clojure,我们可以引导初学者尝试CalvaMaria

总之:我们可以从其他编程语言生态系统汲取灵感,为初学者创造更顺畅的安装体验。在发现之后,新手的体验从安装过程开始。

注意:在 Clojurians Slack 中有一个相关的讨论正在进行中。

4 条答案

+3

使事情变得更容易的一种尝试是 deps.clj 项目,它为官方的 Clojure 工具提供了一种即插即用的替代品。请参见 https://github.com/borkdude/deps.clj。它提供了独立二进制文件、uberjar 和 babashka 脚本,所有这些都能做同样的事情。我已经从 Windows 用户那里听说,安装它对他们来说非常容易。

感谢 deps.clj,@borkdude!自从我们将其与 Calva 结合后,我们已经能够帮助许多 Windows 用户尝试在编辑器中使用 Clojure,并在他们安装 clojure 之前激发一些兴趣。
+1

我认为没有直达一步安装 Clojure 二进制文件安装程序的道路。需要 Java,而安装方式将在不同机器和操作系统之间有很大差异。可能是一个开发容器,但这也意味着需要安装 Docker。

在像您的研讨会这样的活动中,Leif Eric,以及可能在这种环境之外,我认为一种使它成为单一二进制安装的方法是使用babashka。我们可能可以创建一些启动项目,在其中可以使用 JVM Clojure 或 babashka。这样人们就可以轻松地安装尝试这种语言的所需组件,并为进一步的开发提供一条美好的路径,从而使安装 Java 的努力更加值得。

感谢您的建议,Peter!我对JVM有一些(可能很天真)的后续问题:为什么制作一个安装某些JVM版本和Clojure的二进制安装程序如此困难?我想JVM非常通用,可移植和可嵌入。再次,抱歉我无知,因为我之前对Java和JVM有很少的经验。
正如PEZ提到的babashka一样,bb clojure <args> 与 deps <args> 相同,因为babashka已经使用了deps.clj。所以如果你已经有了bb,就无需单独安装deps.clj了。
0

大家好,我是一个仅使用Windows作为我的开发环境的开发者。请注意,我还有Linux双启动安装了WSL2,但我更喜欢使用Windows和cmd.exe。我使用Windows来开发Python、Elixir和Java。有一点需要注意,Clojure似乎需要安装PowerShell,并且似乎不提供任何替代方案。

我强烈建议为不使用PowerShell的人提供安装Clojure的解决方案;我认识的许多Windows开发者根本不使用PowerShell,而是使用老旧的cmd.exe。PowerShell主要用于Windows管理员;它对开发人员和其他我使用的环境中的任何人都毫无价值。

原始问题中提出的解决方案;“只需下载此安装程序并运行即可。就是这样。”是理想的。将可执行文件安装到路径中并使用它。此外,您可能还想考虑提及lein;lein在Windows上也能很好地运行,不需要PowerShell,因此它可以被视为不想使用PowerShell的人的解决方案。

在个人看法中,"入门/运行 Clojure 的其他方式" 应该提到 Leiningen 作为替代方案,因为它就是“运行 Clojure 的另一种方式” ;) 我还发现 Leiningen 的用户界面仍然更好,尤其是对于新手用户。

安装和启动 repl

## Leiningen

1. 获取 "lein" 脚本。
2. 运行: lein repl。
3. 连接到您喜欢的编辑器。

## Clojure 工具

1. 获取安装包。
2. 运行它。
3. 运行 "clj" 或 "clojure" -r。
4. 新手用户询问:clj 和 clojure 之间的区别是什么?
5. 哎呀,我已经启动了 REPL,但无法将其连接到编辑器...
0

"对于初学者来说更容易安装" 已经完成了!我们可以把它拆开。

"对于初学者来说更容易" 不仅是一个更困难的问题,而且也许还次要。在人们为试用而感到兴奋的时候,记住这些是 top-1% 的人,他们甚至知道是否真的 需要 "安装",如果是,他们会很高兴没有比任务本身更多的红地毯待遇。

另一方面,“更容易安装” 不仅是 tougher 的一个问题,而且也许优先级较低。在人们为试用而兴奋的时候,记住这些是 top-1% 的人。他们甚至知道是否真的 需要 "安装",如果是,他们会很高兴没有比任务本身更多的红地毯待遇。

Leiningen 为我们树立了一个很好的典范(很难打败 "下载 lein" 和 "./lein"),甚至没有系统级安装的选项,避免了复杂化。不过,Clojure 的官方入门页面并不是建议 Leiningen 的好地方。Lein 的与 Maven 的深层血缘关系是一种巨大的助推器,但直接与源代码仓库连接的未来,无需打包步骤或中间人经纪 jars,更接近于 Clojure 的精神。

...