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

欢迎!请参阅关于页面,了解有关此平台的一些更多信息。

+2
工具
编辑

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

这些步骤对于经验丰富的程序员来说效果很好,他们能够轻松解决这些问题。然而,当涉及到降低初学者的入门门槛时,这并不理想,给人留下了不好的第一印象。

我在针对初学者的“Clojure入门”研讨会中使用了上面提到的指南,这些研讨会面向那些几乎没有Clojure或编程经验的初学者。我亲眼目睹了人们在他们的系统上安装和正确使用Clojure时的挣扎,尤其是Windows用户。

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

为此,我建议为所有操作系统提供官方的“下载并双击安装程序”。为了获得灵感,您可以查看其他编程语言提供的安装程序,如PythonGo。“只需下载此安装程序并运行它。就是这样!”

此外,Scala有一个优秀的着陆页面,提供两种选项来引导初学者和高级用户到不同的安装指南。对于初学者,鼓励他们尝试在浏览器中运行Scala,而无需在计算机上安装任何东西。对于Clojure,我们可以引导初学者使用CalvaMaria

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

请注意,在Clojurians Slack中正在进行相关的讨论。[查看讨论](https://clojurians.slack.com/archives/C0353589RFC/p1649837679043339 "查看讨论")。

4 个答案

+3

为了让事情变得更简单,一个尝试是deps.clj项目,它提供官方Clojure工具的现场替换。见https://github.com/borkdude/deps.clj。它提供了一个独立的二进制文件,uberjar和babashka脚本,它们都做了相同的事情。我特别从Windows用户那里听说安装它非常容易。

@borkdude,感谢deps.clj!自从我们将它与Calva捆绑在一起后,我们已经能够帮助许多Windows用户在编辑器中尝试Clojure,并在他们安装Clojure之前培养一些兴趣。
+1

我认为没有一条路径可以直接安装Clojure的二进制程序。Java是必需的,而且安装过程将因机器和操作系统而异。可能是一个开发容器,但这将把问题转移到也需要安装Docker上。

在像您这样的研讨会上,Leif Eric,也可能在这个背景之外,我认为使它成为一个单二进制安装的方法是使用babashka。我们可能可以在一个启动项目中使用JVM Clojure或babashka。这样,人们就可以通过简单的方式安装尝试语言所需的内容,并为下一步提供一条清晰的路径,从而使安装Java的工作更具价值。

感谢您的建议,Peter!我对JVM有一个(可能很天真)的后续问题:为什么创建一个安装了某些JVM版本的二进制安装程序这么困难?我觉得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管理员使用;它对开发者和其他环境中没有任何有价值的内容。

原问题中提出的解决方案;“只需下载此安装程序并运行它。就是这样。”将是理想的。在路径中安装一个可执行文件并使用它。此外,您可能还想考虑讨论Leiningen;leiningen在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血缘关系是一枚伟大的助推火箭,但未来通过直接源代码库连接的自由,没有包装步骤或中介代理 mellanforms,更接近Clojure的精髓。

...