编程语言简明、不完整且大多错误的历史

2020-05-12 08:28:27

1801年的今天,约瑟夫·玛丽·雅克(Joseph Marie Jacquard)使用穿孔卡片指示织布机将“你好,世界”编织成挂毯。由于缺乏尾部调用递归、并发性或适当的大小写,当时的Redditers对此不以为然。

1842年的今天,艾达·洛夫莱斯编写了第一个程序。她没有任何实际的计算机来运行她的代码,这给她的工作带来了很小的不便,这阻碍了她的努力。企业架构师稍后将重新学习她的技术,以便使用UML进行编程。

1936年的今天,艾伦·图灵(Alan Turing)发明了每一种编程语言,这些语言将永远存在,但在他申请专利之前,被英国情报机构(British Intelligence)扣留到007岁。

1936年的今天,阿隆佐·丘奇(Alonzo Church)也发明了每一种未来的语言,但做得更好。他的λ演算被忽略了,因为它不够像C。尽管还没有发明C语言,这种批评还是出现了。

20世纪40年代-各种计算机使用直接布线和开关进行编程。工程师这样做是为了避免“制表符与空格”的争论。

1957年的今天,约翰·巴克斯和IBM创建了FORTRAN。IBM或FORTRAN没有任何可笑之处。不系蓝色领带时写FORTRAN是语法错误。

1958年的今天,约翰·麦卡锡和保罗·格雷厄姆发明了LISP。由于战后战略括号耗尽造成的高成本,储备LISP从未流行[1]。尽管LISP不受欢迎,但在递归和居高临下[2]等关键算法技术中,LISP(现在是Lisp,有时也是Arc#34;)仍然是一门有影响力的语言。

1959年的今天,在与L·罗恩·哈伯德打赌失败后,格蕾丝·霍珀和其他几位虐待狂发明了面向样板的语言(COBOL)的大写。几年后,在对霍珀海军上将的COBOL工作的误导和性别歧视的报复中,Ruby会议经常以歧视女性的材料为特色。

1964年的今天,John Kemeny和Thomas Kurtz为非计算机科学家创建了BASIC,这是一种非结构化编程语言。

1970年的今天,盖伊·斯蒂尔和杰拉尔德·萨斯曼创建计划。他们的工作导致了一系列“终极兰姆达”的论文,最终以“终极厨房用具兰姆达”为高潮。这篇论文成为一个长期播放,但最终未获成功的深夜信息广告的基础。lambdas一直处于相对默默无闻的状态,直到Java通过不使用lambdas而变得流行起来。

1970年的今天,尼克劳斯·沃斯创建了帕斯卡,一种过程性语言。批评家立即谴责Pascal,因为它使用的是";x:=x+y&34;语法,而不是更熟悉的C-like&34;x=x+y&34;。尽管还没有发明C语言,这种批评还是发生了。

1972年的今天,丹尼斯·里奇发明了一种同时向前和向后射击的威力强大的枪。由于对那项发明造成的死亡和永久残废人数不满意,他发明了C和Unix。

1972年的今天,阿兰·科尔默劳尔设计了逻辑语言PROLOG。他的目标是创造一种具有两岁智力的语言。他展示了一个序言会话,对每个查询都写着";No";,以此证明他已经达到了目标。

1973年的今天,罗宾·米尔纳创建了ML,这是一种基于M&Amp;M类型理论的语言。ML产生具有正式指定语义的SML。当被问及正式语义的正式语义时,米尔纳的头炸开了。ML家族中的其他知名语言包括OCaml、F#和Visual Basic。

1980年的今天,艾伦·凯创造了Smalltalk,并发明了面向对象的术语。当被问到这是什么意思时,他回答说,Smalltalk程序只是对象。当被问及对象是由什么组成的时,他回答说,对象。当再次被问到时,他说,看,所有的对象都是往下的。直到你够到乌龟为止。

1983年的今天,为了纪念Ada Lovelace创建从未运行过的程序的能力,Jean Ichbiah和美国国防部创建了Ada编程语言。尽管没有证据表明任何重要的Ada计划曾经完成,但历史学家相信Ada是一个成功的公共工程项目,可以让数千名巡回国防承包商远离帮派。

1983年的今天,Bjarne Stroustrup将他听说过的一切都用C语言来创建C++。由此产生的语言如此复杂,以至于程序必须被送到未来由天网人工智能编译。建造时间受到影响。天网提供这项服务的动机尚不清楚,但未来的发言人说,宝贝,没有什么可担心的,用奥地利口音的单调。有人猜测,天网只不过是一个自命不凡的缓冲区溢出。

1986年的今天,布拉德·考克斯(Brad Cox)和汤姆·洛夫(Tom Love)创建了Objective-C,宣布这种语言既有C语言的记忆安全性,又有Smalltalk的惊人速度。现代历史学家怀疑这两人患有诵读困难。

1987年的今天,拉里·沃尔睡着了,在键盘上撞到了拉里·沃尔的额头。醒来后,拉里·沃尔认定拉里·沃尔监视器上的字符串不是随机的,而是上帝希望他的先知拉里·沃尔设计的编程语言的示例程序。Perl诞生了。

1990年的今天,由西蒙·佩顿-琼斯、保罗·哈达克、菲利普·瓦德勒、阿什顿·库彻和善待动物组织组成的一个委员会创建了Haskell,这是一种纯粹的、非严格的、功能性的语言。由于使用单体控制副作用的复杂性,Haskell遇到了一些阻力。瓦德勒试图安抚批评者,他解释说,单子是内部函数者类别中的么半群,这有什么问题呢?

1991年的今天,荷兰程序员Guido van Rossum前往阿根廷进行一次神秘的操作。他带着巨大的颅骨伤疤回来,发明了巨蟒,被大批追随者宣布为终身独裁者,并向世界宣布,只有一种方法可以做到这一点。波兰变得紧张起来。

1995年的今天,在附近的一家意大利餐厅,拉斯穆斯·勒多夫(Rasmus Lerdorf)意识到,他的一盘意大利面是理解万维网的绝佳模式,网络应用程序应该模仿它们的媒介。在餐巾背面,他设计了可编程超链接意大利面(PHP)。PHP文档至今仍保留在餐巾纸上。

1995年的今天,Yukihiro&34;Mad Matz&34;Matsumoto创造了Ruby,以避免一些模糊的未指明的世界末日,这将给澳大利亚留下一个由莫霍克勇士和蒂娜·特纳(Tina Turner)掌管的沙漠。该语言后来被其真正的发明者David Heinemeier Hansson重新命名为Ruby on rails。[关于松本发明了一种名为Ruby的语言的事情从未发生过,最好在本文的下一个修订版-DHH中删除)。

1995年的今天,布兰登·艾奇(Brendan Eich)阅读了在设计编程语言时犯下的每一个错误,又发明了几个错误,并创建了LiveScript。后来,为了从Java的流行中获利,该语言被重新命名为JavaScript。后来,为了从皮肤病的流行中获利,这种语言被重新命名为ECMAScript。

1996年的今天,詹姆斯·高斯林发明了Java。Java是一种相对冗长的、垃圾回收的、基于类的、静态类型的、单分派的、面向对象的语言,具有单一实现继承和多接口继承。Sun大肆宣扬Java的新颖性。

2001年的今天,安德斯·海尔斯伯格发明了C#。C#是一种相对冗长的、垃圾回收的、基于类的、静态类型的、单分派的、面向对象的语言,具有单一实现继承和多接口继承。微软大肆宣扬C##的新颖性。

2003年-醉酒的马丁·奥德斯基(Martin Odersky)看到瑞斯(Reese)的花生酱杯广告,广告中某人的花生酱沾到了别人的巧克力上,于是有了一个想法。他创建了Scala,这是一种统一了面向对象语言和函数式语言的构造的语言。这激怒了两个组织,每个人都立即宣布圣战。