编程语言发展史上有哪些趣事?

发布时间:2020-06-11 12:51:31 作者:qq59360cbfb048b
来源:网络 阅读:1184


1、世界上第一个可编程的机器是由法国人Joseph Marie Jacquard于1801年发明的雅卡尔织布机,使用打孔卡片进行编程,控制织布机织出不同图案的布


2、英国诗人拜伦的女儿、数学家Ada Lovelace描述了一个计算伯努利数的算法和程序,被认为是最早的计算机程序,并被尊为第一位程序员。但是,1815年才出生的她,不可能比上一则说的Jacquard更早地进行编程工作。后来美国国防部组织开展研发的Ada语言以这位女数学家的名字命名。


3、我们一般认为1957年发明的Fortran是世界上第一门高级编程语言,而实际上早在1942至1945年,发明了世界上第一台图灵完全的通用数字计算机Z3的德国工程师Konrad Zuse还研发了一种叫作Plankalkül的语言。可惜的是,Z3在1944年柏林轰炸中被炸毁,Plankalkül在战争结束前既没有正式发表,也没有被实现。这门语言的设计一直到了1972年才被正式发表出来,而1998年第一个该语言的编译器才首次被实现。这门语言对后世的编程语言设计几乎没有任何影响,但是它却考虑了包括赋值语句、子程序、条件判断、循环、浮点小数计算、数组、拥有层次结构的结构体、断言、异常处理、结果导向执行(注:书上写作目标搜寻,英文似乎是goal-directed execution)等后来许多语言都不具有的功能,这些设计在当时以及之后的很长一段时间内都是非常具有先进性的。


4、著名计算机科学家、图灵奖得主John McCarthy于1958年发明了LISP语言,但是LISP这种迥异于其他语言的表达方法S-expression并不是他原本的设计,John McCarthy原本设计了一种叫作M-expression的表达方法,而S-expression则是一种中间语言。令他万万没有想到的是,最后流行开的是那个中间语言S-expression。另外LISP具备垃圾回收、异常处理等后来高级语言的许多特性,也是一门很先进的语言,不过这些已有许多文章进行描述,这里就不多说了。

M: (A B C)

S: (QUOTE (A B C))


M: car[x]

S: (CAR X)


M: car[append[(A B C); (D E F)]]

S: (CAR (APPEND (QUOTE (A B C)) (QUOTE (D E F))))


5、Guido van Rossum喜欢看喜剧团体Monty Python,所以发明了一个编程语言叫作Python。同样的,Python自带的那个IDE,IDLE名字来源于该团体的成员Eric Idle。此外,用来表示垃圾邮件的单词spam也是出自Monty Python这部作品,而这个单词在剧中指的是Spam品牌的午餐肉。


6、编程语言Perl的名字来源于珍珠Pearl,发明者Larry希望给语言起一个简短而有积极含义的名称。受到这个影响,松本行弘在发明Ruby的时候也从珠宝中选择名字,并且选择了Ruby。松本还提到,Ruby还跟诞生石(birthstone)有关,可是生于4月的松本行弘为什么选择了七月份出生的同事的诞生石红宝石呢,一定是好×××啊。


7、JavaScript的命名还真跟Java有关,所以他们不是雷锋和雷峰塔的关系,更像是印度和印度尼西亚的关系。Netscape希望这是一个Java的客户端版本,一种轻型的脚本语言,并且不像Java和C++那样针对专业的开发人员。


8、Lua的意思是月亮女神,是由三个巴西人Roberto Ierusalimschy、Waldemar Celes、Luiz Henrique de Figueiredo发明。发明的原因是巴西石油公司(当然,是一个国企)PETROBRAS没办法使用指定的硬件,使用公众的资金需要通过一系列的严格手续,并且现有设备中什么平台什么系统都有,所以Lua被设计成一个基于ANSI C开发可以任意跨平台的语言。


9、Smalltalk现在已经很难见到,但是他影响了我们今天还在使用的许许多多语言,以及后来的所有面向对象编程语言的开发者。


10、现在iOS开发者所使用的、在现在大红大紫的Objective-C,是一个和C++同岁的语言,都是早期对C语言进行拓展的面向对象编程的开拓者。不过iOS上使用的Objective-C 2.0,跟Objective-C的作者Brad Cox没有一点关系,“除了我喜欢Apple的产品以外,我同他们没有什么关系”。


推荐阅读:
  1. Autotools发展史
  2. Linux和Unix的发展史

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

编译器 编程语言 发展史

上一篇:mongodb基本命令

下一篇:死磕 java集合之CopyOnWriteArrayList源码分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》