我非常喜欢的一件事是阅读不同的编程语言。目前,我正在学习Scala,但这并不意味着我对Groovy,Clojure,Python和许多其他语言不感兴趣。所有这些语言都具有独特的外观和某些特色。对于Clojure,我不了解这些设计决策之一。据我所知,Clojure非常注重其功能范式,并且几乎迫使您尽可能使用不可变的“变量”。因此,如果一半的值是不可变的,为什么要动态键入该语言?

Clojure网站说:



好吧,这听起来很奇怪。如果程序已编译,则无法再进行更改。当然,您可以与它进行“交互”,这就是UI的用途,但该网站当然并不意味着一个整洁的“动态” GUI。

Clojure如何从动态键入中受益

我的意思是Clojure的特殊情况,而不是动态类型的一般优势。

动态类型系统如何帮助改善功能编程

同样,我知道不溢出“int a”的乐趣。遍及源代码,但是类型推断可以减轻很多麻烦。因此,我只想知道动态类型如何支持功能语言的概念。

最佳答案

我同意,纯函数式语言仍然可以具有交互式的read-eval-print-loop,并且可以更轻松地进行类型推断。我认为Clojure希望通过成为“lisp for the jvm”来吸引Lisp程序员,并选择像其他lisps一样保持动态。另一个因素是类型系统需要被设计为语言的第一步,而语言实现者跳过该步骤会更快。

关于dynamic - 为什么动态输入Clojure?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5110292/

10-11 03:08
查看更多