一直都有把编程语言类比成某类事物的说法,
有比成各种汽车的,也有比成各种美女的,
虽然有趣,却总不能涵盖编程语言的完整特征。
随着苹果推出Swift,编程语言数量的问题又要讨论一番了。
编程语言到底是什么?弄点逻辑学的定义,
编程语言的内涵源于计算机科学,是算法;
编程语言的外延源于软件工程技术,是生产工具。
按此逻辑,包含编写环境和运行环境的语言及产成品,
应该理解成一种生产设备或者生产线,而不是最终销售者使用的消费品,
程序编写的过程,应该理解成组装生产设备或者组装生产线的过程,
程序运行的过程,是生产线运转生产的过程,只是生产过程的输入输出都是数据而已,
编程语言的类库,应该理解成生产所需的零配件,自定义类库和组件就是子加工配件了,
编译器语法检查,是质检过程,一旦过了质检,产成结果就算合格了,
......
这么来看,Java C#这种语言就是柔性生产设备,
就像数控机床、3D打印机、金属冲压、高分子材料这类应用广泛的行业,
C和汇编语言是铸造、模具、工具制造等基础行业流水线或者设备,
Lisp、CSS等领域语言,就是泡菜腌制、印刷等小众行业,
HTML、JS、AS等语言,就像木工、瓦工、水暖工行业,到处都用得到,却总赚不到大钱。