在Why Clojure? Rich Hickey(假设)声称“虚拟机,而不是操作系统,是未来的平台”引用类型系统,抽象操作系统的库,内存管理和字节码+ JIT编译。我理解所有这些东西都带有VM平台,但它们已经存在了25年。什么会使操作系统和硬件抽象在未来更受欢迎,特别是在权衡这种抽象的性能成本时呢?
答案 0 :(得分:6)
为什么选择Clojure?正在回答自我提出的问题 - 为什么我要编写另一种编程语言? - 在2006 - 2007年计算生态系统的背景下,当Clojure被发明时。当时非常不同的世界。
在现代环境中查看时,像Go和Rust这样的语言可以看作是虚拟机操作系统声称的反驳 - 在单个无虚拟机中提供可用性,新抽象和效率的杠杆作用,多操作系统工具链。
也就是说,自Clojure发明以来10多年来,VM抽象成功的证据--LMVM,JSVM,移动虚拟机,超越了JVM的持续优势,是压倒性的。虚拟机抽象允许庞大的工程团队专注于在抽象下实现类似操作系统的性能和效率结果。像无服务器和unikernel这样的持续努力甚至进一步抽象出操作系统,同时实现更好的性能或效率结果。
以现代的眼光,从语言设计师的角度来看,为什么Clojure的故事?有点过时了,核心主张的具体反驳很容易找到。然而,从历史的角度来看,人们不得不说Rich非常正确。