| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
原始链接: https://news.ycombinator.com/item?id=43955397
Hacker News 上的一篇帖子讨论了一个 200 行 Clojure 编写的 LSP 客户端。最高赞评论批评代码过于 Java 风格,冗长 verbose,建议使用 `core.async` 进行改进。其他人则为代码辩护,认为其符合 Clojure 习惯用法,在性能和表达性之间取得了平衡,避免了不必要的复杂性。一些人指出简洁性是 Clojure 的优点,并且坚持使用 Java 原语在实践中是可行的。 更深入的分析质疑了“200 行”的说法,指出代码依赖于一个相当大的 JSON 库,以及 Clojure 的启动成本,建议使用原生可执行文件。一个反复出现的主题是 Clojure 的相关性,观点从“正在消亡”到一种稳定的、小众的语言,拥有一个忠实的社区。也有人提到了 Jank 等替代方案。关于可读性和可维护性也存在争论,一些人主张使用更小的函数,另一些人则欣赏 Clojure 的调试能力。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Just want to emphasize this because clojure is indeed a small, lesser known language that has a hard enough time attracting users. This is not what anyone would consider an idiomatic example of using clojure.
reply