实用性是高度主观的,所以我只会说学习不同的语言范例只会让你成为更好的程序员。还有什么比这更实用呢?
函数式编程,Haskell - 我知道你说过你不想学,但你真的应该重新考虑一下。你已经接触过 Clojure 和 Python 的函数式编程,但没有像 Haskell 这样充分体验过。如果你真的反对 Haskell,那么 ML 或 OCaml 是很好的选择。
声明式编程,Datalog - 许多人会推荐 Prolog,但我认为 Datalog 是一个更清晰的声明式语言示例。
数组操作,J - 我刚刚发现 J,但我发现它是一种令人惊叹的语言。它会扭曲你的思维。你会感谢 J 给你带来的体验。
栈操作,Factor/Forth - Factor 非常强大,我计划尽快深入研究它。Forth 是栈语言的鼻祖,而且作为额外的奖励,自己实现它
很简单。通过实现学习是有价值的。
数据流编程,Oz - 我认为 Oz 的影响正在上升,并将在未来继续增长。
< p >
基于原型的,JavaScript/Io/Self - Self 是祖先级别的语言,并在每种基于原型的语言中具有很高的影响力。这与基于类的 OOP 不同,不应该被视为相同。许多人来到一个原型语言并创建一个特定的类系统,但如果您的目标是扩展您的思维,那么我认为这是一个错误。充分利用语言。阅读
没有类的组织程序以获取想法。
专家系统,CLIPS - 我总是推荐这个。如果您知道 Prolog,那么您可能会优势更高速,但它是一种非常不同的语言。
Frink - Frink 是一种通用语言,但它以其单位转换系统而闻名。我发现这种语言非常鼓舞人心,因为它不断努力成为最好的自己。另外......真的很有趣!
函数+可选类型,Qi - 您说您有一些类型系统的经验,但您是否具有“可削皮*类型系统的经验?没有人有......但他们应该。 Qi 在许多方面都类似于 Lisp,但其类型系统将使您大开眼界。
演员+容错性,Erlang - Erlang 的进程模型得到了很多关注,但其容错和热代码交换机制是改变游戏规则的。您将不会学到太多有关 FP 的东西,您在 Clojure 中不会学到,但其 FT 功能将使您想知道为什么更多的语言似乎无法做到这一点。
享受!