知识卡片

三代程序设计语言与机器无关目标

专业/工作 · 1290

内容

程序设计语言的演进沿着”离机器越来越远、离人类思维越来越近”这条主线推进:第一代是数字编码的机器语言,第二代是用助记符代替数字的汇编语言(如 MOV R5, R6),但汇编语言的原语和机器语言的原语本质相同,只是符号不同,因此仍然依赖具体机器、无法直接移植;第三代语言(如 FORTRAN、COBOL)第一次让原语与具体机器特性脱钩,实现了机器无关——同一段高级代码理论上能被不同机器各自的翻译器编译成对应的机器语言。发散:这条演进路径的本质是不断把”必须知道底层实现细节”这件事从程序员身上转移给翻译器/编译器去承担,和房屋设计中用”房间、窗户、门”而不是”木板、钉子、砖块”来思考是同一个抽象升级的逻辑——构建产品最终要用的基本材料,不必是设计过程中使用的思维单元。

参考来源

《计算机科学概论》第6章《程序设计语言》