编程语言的家谱:从插拔电缆到"说话就能写代码"的80年进化

1943年给计算机编程得手动插线,2026年你对AI说句话就能生成代码。从机器语言到汇编、C到Python、再到提示词即编程——编程语言的进化史就是不断让机器"更像人类那样理解"。
1943年,六位女性数学家围坐在一台重达30吨的ENIAC计算机前。她们不是在"写代码"——她们在插线。每一次计算都需要手动连接数百根电缆和开关,程序就是物理电路。
80年后的今天,你只需要对ChatGPT说一句话:"帮我写个计算器",代码就自动生成了。
这两者之间,横跨了一段比任何故事都精彩的编程语言进化史。
第一代:机器语言——和机器说"话"
最早的编程不是写,是"接"。ENIAC的程序员——Kay McNulty、Jean Bartik等六位女性——物理地插入电缆和拨动开关来编程。程序错误意味着短路或烧毁零件。
后来有了打孔纸带和机器语言:用0和1直接写指令,比如0011 1010 0101 1100。人类需要像机器一样思考。写错一个数字——程序崩溃。
第二代:汇编语言——给机器指令起名字
1950年代,汇编语言出现了。它不是写0和1,而是给机器指令起"助记名":ADD表示加法,SUB表示减法,JMP表示跳转。一个叫"汇编器"的程序把这些名字翻译成机器码。
这看起来是小事,但它是一个观念革命:人不必像机器一样思考。工具应该做翻译。
第三代:高级语言——让代码像英语
1957年,IBM的约翰·巴克斯发布了FORTRAN——第一种被广泛使用的高级语言。程序员终于可以写:x = a + b 而不是记住哪个寄存器存放中间结果。
FORTRAN之后,百花齐放:COBOL(1959,商业数据处理)、LISP(1958,人工智能——John McCarthy设计,至今65年后还是AI研究的基础语言)、C语言(1972,Dennis Ritchie——几乎所有操作系统的基础)。
每种语言的出现都是为了回答一个问题:"这群用户最自然地怎么想问题?" FORTRAN是"数学家想问题",COBOL是"会计师想问题",LISP是"逻辑学家想问题"。
第四代:面向对象——模拟真实世界
1980-90年代,面向对象编程成为主流。C++(1983)、Java(1995)、Python(1991)陆续登场。核心思想:代码结构应该模拟真实世界的实体。"车"是一个对象,有属性(颜色、速度)和方法(加速、刹车)。
Python是其中最奇特的。Guido van Rossum在1989年圣诞节假期间"想找点事做",写了个解释器——后来成了全球最流行的编程语言。这个决定可能比任何CEO的商业决策都要有影响力。
第五代:声明式与函数式——告诉机器"要什么"
2010年代,函数式编程和声明式方法从学术界走向工业界。React说"UI是状态的函数"。Kubernetes说"描述你想要的状态,我来实现"。你不再告诉机器"怎么做"(先打开这个、再改那个),而是描述"结果应该是怎样的"。
这是一次哲学上的"升维":从"命令式"到"声明式"。
第六代:提示词即编程
2022年ChatGPT上线后,出现了一个有趣的现象:自然语言正在成为最"高级"的编程语言。你对AI说"把这段代码的性能优化一下",AI理解并执行。
这不只是技术进步——它改变了"什么是编程"这个问题的答案。编程语言一直在往"更像人类语言"的方向进化。提示词是这个趋势的终点:程序最终变成了对话。
从插线到聊天,从0011到"帮我写一个..."——编程语言的家族历史,就是不断让机器学习"更像人类那样理解"的过程。而这条路,才刚刚开始。
评论 (0)
加载评论中…