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 Erik,以及可能在该背景之外,我认为将问题简化为单一二进制安装的一种方法是用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的人的解决方案。

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%,他们会知道他们是否真的需要“安装”,如果需要,他们会很高兴不会给予超过任务本质的红地毯。

Leiningen设定了一个相当好的例子(很难击败“下载lein”和“./lein”),它甚至没有系统级安装的选项,以避免复杂的情况。尽管如此,Clojure的官方入门页面并不是提出Leiningen的好地方。Lein与深度Maven追溯的相关性已成为一个很好的助推器,但直接连接到源代码仓库的未来,无需打包步骤或中间人经纪jar包,更接近Clojure的精神。

...