代码是一门语言,这门语言搭建了人与计算机沟通的桥梁。通过编写代码,人类可以"命令"计算机开发网页、开发软件、搭建游戏... ... 这门语言并不是上帝的发明,它是前辈们发挥聪明才智创造出来的,前辈们的创造过程虽然充满了有趣与巧合,但是并不神秘!本文就从1980年开始,带你一览编程语言发展的"别样"历史。 1800年,Joseph Marie Jacquard让织布机学会了读穿孔卡片,造出了第一台重度使用多线程处理单元的机器。 预见到天网(Skynet)诞生的织布工们激烈地反对该项发明。 Ada Lovelace 1842年,Ada Lovelace厌倦了贵族生活,于是在记事本上写写画画,而记事本上的这些内容被后世称作第一个发布的计算机程序。 可惜当年没有电脑,真是不巧。 1936年,Alan Turing啥都发明了,但英国法庭看他不顺眼,还阉了他。后来女王免了他的罪名,虽然当时他已经死去几百年了。 Alonzo Church 1936年,Alonzo Church和Turing一样啥都发明了,但他生活在太平洋彼岸(也不是基佬)所以没被女王人道主义。 John Backus 1957年,John Backus发明Fortran语言,也是"真正的编程者"使用的第一种计算机语言。 1959年,Grace Hopper发明了第一个面向企业、可用的编程语言,命名为"通用的业务导向语言",简称为COBOL。 1964年,John Kemeny和Thomas Kurtz都觉得现有计算机语言的编程太难了,人们需要回归基础(basic),因而将他们发明的计算机语言称之为BASIC。 1970年,Niklaus Wirth创造了Pascal和几门其它语言(他就是这么爱创造语言),他还创造了沃斯定律。相形之下摩尔定律就过时了,因为软件开发者基于摩尔定律写的软件太臃杂了,连主机都带不动。后来Electron.js的发明和基于它的抽象概念也证明了这一点。 Dennis Ritchie 1972年,Dennis Ritchie在贝尔实验室里对工作产生了厌倦,于是决定搞个带大括号的C语言,并取得了巨大的成功。之后,他在语言中加入分段错误和其它一些对开发者友好的功能来增强C语言的生产力。 干完这些工作后,离下班还有几小时,所以他和贝尔实验室的小伙伴们决定开发个程序来展示C语言,然后他们就造了个叫Unix的操作系统(红红火火恍恍惚惚)。 Alan Kay 1980年,Alan Kay建立了一门叫做Smalltalk的面向对象的编程语言。这门语言里,什么都是对象,对象本身也是一个对象。可惜大家都没时间思考闲聊(small talk)的意义。 Larry Wall 1987年,Larry Wall经历了一次宗教体验,成为了一名传教者,他传播的教义就是Perl。 Jean David Ichbiah 1983年,Jean Ichbiah发现Ada Lovelace的程序就从来没真正运行过,于是决定以她名字创建一门语言。 但她的语言也没运行过。 1986年,Brac Box和Tol Move决定要创建一门基于Smalltalk、不可读版本的C语言,并称之为Objective C语言,但没人看得懂这门语言的语法。 Bjarne Stroustrup 1983年,Bjarne Stroustrup从未来穿越过去,发现C语言没给编译留足时间,于是他把所有能够想到的功能加进去了,并命名为C++。几乎所有的编程者都在使用它,这样他们就有理由在工作的时候撸猫片和看科学松鼠会了。 Guido van Rossum 1991年,Guido van Rossum写了本关于蛋蛋和火腿的食谱(Python之父)。 1993年,Roberto Ierusalimschy和他的朋友们觉得他们需要一门英国本地化的脚本语言,在本地化过程中出了个错,使得本应该从0开始的计数从1开始了,然后他们把这个叫做Lua。 Rasmus 1994年,Rasmus Lerdorf为他个人主页的CGI脚本弄了个模版引擎,并把这个文件发布在网上了。世界各国人民钦定这个文件哪哪都要用上,于是兴奋炸裂的Rasmus又放了点额外的绑定数据库上去,并称之为PHP。