【新】如何设计编程语言


Author: Kimmy

首先明确一个点,设计一门编程语言的意义是什么?

我在第一定律里提到过,编程语言都是领域特定的,也就是,为了解决特定的领域问题。

不信的话我们拿上古的几个编程语言来看看就知道了:

现代编程语言已经都是多范式(multi-paradigm)、多平台的编程语言了,但其实现以及某些特性会带来某种程度上的限制,这就导致了这些编程语言其实也是领域特定的。

比如脚本语言诸如JavaScript,在应用扩展能力上是强项,但在服务的可靠性、性能方面是短板,于是通常会用做Web前端、或者程序扩展配置用的编程语言;而与其恰相反的如C++,构建模型复杂,缺少运行时动态性的支撑,但由于其与系统接口(通常是C语言)有着较好的兼容,同时本身积累的生态也相对稳定可靠,加上作为直接硬件映射的编程语言,其执行没有运行时overhead,效率要好得多,所以更容易作为系统级软件的选择。

这种倾向,目前没有任何一个编程语言能够做到通吃。所以提到通吃的,基本上也是在痴人说梦。

创建时间:2020-09-11 最近更新时间:2023-11-03