实用性是高度主观的,因此我只想简单地说,学习不同的语言范例只会使您成为一个更好的程序员。还有什么比这更实际的呢?
功能性,Haskell-我知道您说过您不想这样做,但您应该真正考虑一下。您已经使用Clojure甚至Python获得了一些功能方面的知识,但是如果没有Haskell,就不会充分体验它。如果您真的反对Haskell,则可以选择ML或OCaml作为妥协。
声明式,数据日志-许多人会在此位置推荐Prolog,但我认为Datalog是声明式语言的较干净的示例。
Array,J-我刚刚发现J,但是我发现它是一种令人赞叹的语言。它将使您的大脑变成椒盐脆饼。您将为此感谢J。
Stack,Factor / Forth -Factor非常强大,我打算尽快对其进行研究。Forth是Stack语言的祖父,此外,它很容易实现。关于通过实施进行学习,有话要说。
Oz数据流-我认为Oz的影响正在上升,并且只会在未来继续增长。
基于原型的JavaScript / Io /自我-自我是祖父,并且对每种基于原型的语言都具有很大的影响力。这与基于类的OOP不同,不应将其视为此类。许多人使用一种原型语言并创建了一个临时类系统,但是如果您的目标是扩大思维范围,那么我认为这是一个错误。充分利用语言。阅读无课程组织程序以获取想法。
CLIPS专家系统-我始终建议您这样做。如果您了解Prolog,那么您很有可能会上手,但是这是一种非常不同的语言。
Frink -Frink是一种通用语言,但以单位转换系统而闻名。我发现这种语言在不懈地追求最好的过程中非常令人鼓舞。另外...真的很有趣!
功能+可选类型,Qi-您说您曾经使用过某些类型系统,但是您是否有过“可滑动*类型系统”的经验?没有人……但是他们应该。类型系统会让您大吃一惊。
Actors + Fault-tolerance,Erlang -Erlang的过程模型引起了很多轰动,但其容错和热代码交换机制却改变了游戏规则。您不会像使用Clojure会学到的那样了解很多关于FP的知识,但是它的FT功能会让您想知道为什么更多的语言似乎无法正确解决这一问题。
请享用!