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,以及可能在该背景之外,我认为将overview变为单一二进制安装的一种方法是使用babashka。我们可能可以创建一些启动项目,其中可以使用JVM Clojure或babashka。这样,人们可以轻松安装尝试语言所需的东西,并找到一条通往切实可行的路径,使得安装Java的努力更有价值。

谢谢你的建议,彼得!我对 JVM 有一个(可能很天真)的后续问题:为什么很难制作一个安装器来安装某个 JVM 版本并与之一起安装 Clojure?我觉得 JVM 是极其普遍的,便携的和可嵌入的。再次,请原谅我的无知,因为我对 Java 和 JVM 的经验很少。
正如 PEZ 所说的,babashka 与 bb clojure <args> 与 deps <args> 是相同的,因为 Babashka 已经使用了 deps.clj。因此,如果您已经有 bb,就没有必要单独安装 deps.clj。
0

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

我强烈建议为不使用 PowerShell 的人提供安装 Clojure 的解决方案;我认识的许多使用 Windows 的开发者都不使用 PowerShell,而是使用古老的 cmd.exe。Powershell 主要用于 Windows 管理员;它对开发者和其他我使用的环境没有任何帮助。

原始问题中提出的解决方案;“只需下载此安装程序并运行即可。就是这样。”将是理想的选择。在路径中安装可执行文件,然后使用它。此外,您可能还想考虑关于 lein 的问题;Lean 对 Windows 的工作良好,且不需要 PowerShell,因此可以考虑作为不想使用 PowerShell 的人的解决方案。

by
个人认为,“入门/运行 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
by

"更容易让新手安装" 已经完成了!让我们把它拆分一下。

"更容易让新手安装" 意味着不需要使用管理员权限;不需要做出承诺或承担意外行为带来的风险;文件显然是分区的(例如,在1个目录中),这使得删除它并重新尝试更加清晰。

另一方面,“更容易安装” 不仅是更难的问题,可能还次要一些。等到有人对试用感到兴奋时,我们必须记住这些人属于顶尖 1%,他们会知道他们是否真的“需要”安装,而如果他们需要安装,他们宁愿得到的红毯不要超过这项任务的本身。

Leiningen 也设置了很好的榜样(很难打败 "下载 lein" 和 "./lein"),甚至没有系统级安装的选项,避免了复杂性。然而,Clojure 的官方入门页面并不是建议 Leiningen 的理想场所。Lein 深深的 Maven 密切关系是一枚巨大的助推火箭,但未来直接源代码仓库连接的自由,无需打包步骤或中间人代理处理 jars,更接近 Clojure 的精神。

...