1801年 – Joseph Marie Jacquard使用穿孔卡片指示织布机织入“hello, world”。当时的人们并不感到惊讶,因为缺乏尾递归、并发性或正确的大写形式。
1842年 – Ada Lovelace编写了第一个程序。但她因为没有实际计算机来运行她的代码而受到限制。企业架构师们后来重新学习她的技术,以便在UML中编程。
1936年 – Alan Turing发明了所有将来的编程语言,但在他能够申请专利之前被英国情报部门劫持成为007。
1936年 – Alonzo Church也发明了所有将来的编程语言,但他做得更好。他的λ演算被忽视,因为它不够类似于C。尽管如此,C语言当时还没有发明。
1940年代 – 使用直接布线和开关来“编程”各种“计算机”。工程师们这样做是为了避免关于制表符和空格的争论。
1957年 – John Backus和IBM创建了FORTRAN。IBM和FORTRAN之间没有任何有趣的事情。没有戴蓝领带的情况下写FORTRAN是语法错误。
1958年 – John McCarthy和Paul Graham发明了LISP。由于战后对括号的需求大大增加导致成本上升,LISP从未流行起来。尽管不流行,LISP(现在称为”Lisp”或有时称为”Arc”)仍然是”递归和优越感等关键算法技术”方面具有影响力的语言。
1959年 – 在与L·Ron Hubbard打赌失败后,Grace Hopper和其他几个虐待狂发明了面向模板的大写(COBOL)语言。多年后,出于对霍普上将COBOL工作的错误和性别歧视的报复,Ruby会议经常出现厌女材料。
1964年 – John Kemeny和Thomas Kurtz创建了BASIC,一种面向非计算机科学家的非结构化编程语言。
1965年 – Kemeny和Kurtz回到了1964年。
1970年 – Guy Steele和Gerald Sussman创建了Scheme。他们的工作导致了一系列”Lambda the Ultimate”论文,最终发展成了”Lambda the Ultimate Kitchen Utensil”。这篇论文成为了一系列深夜广告的基础,但最终并不成功。Lambda在相对默默无闻的状态下,直到Java通过不使用它们而使它们流行起来。
1970年 – Niklaus Wirth创建了过程语言Pascal。批评家立即指责Pascal使用了”x := x + y”的语法,而不是更熟悉的类C语言的”x = x + y”。尽管如此,当时C语言还没有发明。
1972年 – Dennis Ritchie发明了一种能够前后同时射击的强大枪械。然而,对于从该发明中造成的死亡和永久伤残的数量不满意,他发明了C和Unix。
1972年 – Alain Colmerauer设计了逻辑语言Prolog。他的目标是创建一种具有两岁儿童智力的语言。他通过展示一段Prolog会话对每个查询回答”否”来证明他达到了目标。
1973年 – Robin Milner创建了ML,一种基于M&M类型理论的语言。ML引发了SML,它具有正式指定的语义。当要求对正式语义进行形式化语义时,Milner的头爆炸了。ML系列中其他著名的语言包括OCaml、F#和Visual Basic。
1980年 – Alan Kay创建了Smalltalk,并发明了”面向对象”这个术语。当被问及这意味着什么时,他回答说:”Smalltalk程序只是对象。”当再次被问及对象由什么组成时,他回答说:”对象。”当再次被问及时,他说:”看,它一直都是对象。直到你遇到乌龟。”
1983年 – 为了纪念Ada Lovelace永远不运行的能力,Jean Ichbiah和美国国防部创造了Ada编程语言。尽管没有证据表明任何重要的Ada程序被完整地完成,历史学家认为Ada是一个成功的公共工程项目,使数千名流动的国防承包商远离了帮派。
1983年 – Bjarne Stroustrup将他听说过的所有东西都加入到C语言中,创造了C++。结果的语言如此复杂,以至于程序必须被发送到未来,由Skynet人工智能来编译。构建时间受到影响。关于Skynet执行此服务的动机仍不清楚,但来自未来的发言人用奥地利口音的单调声说:”不用担心,宝贝,一切都没问题。”有一些推测认为Skynet不过是一个炫耀的缓冲区溢出。
1986年 – Brad Cox和Tom Love创建了Objective-C,并宣称”这种语言具有C的内存安全性和Smalltalk的高速性。”现代历史学家怀疑两人患有诵读困难症。
1987年 – Larry Wall睡着了,头碰到键盘。醒来后,Larry Wall决定Larry Wall显示器上的字符序列不是随机的,而是上帝希望他的先知Larry Wall设计的一种编程语言的示例程序。于是Perl诞生了。
1990年 – 由Simon Peyton-Jones、Paul Hudak、Philip Wadler、Ashton Kutcher和人类对待动物协会组成的委员会创建了Haskell,一种纯粹的、非严格的、函数式语言。由于使用单子来控制副作用的复杂性,Haskell遭到一些抵制。Wadler试图通过解释”单子是函子范畴中的单子,有什么问题吗?”来安抚批评者。
1991年 – 荷兰程序员Guido van Rossum前往阿根廷进行一次神秘的手术。他带着一个大脑袋的伤疤回来,发明了Python,并被一大群追随者宣布为终身独裁者,宣告世界上”只有一种正确的方法”。波兰变得紧张起来。
1995年 – 在一个附近的意大利餐厅,Rasmus Lerdorf意识到他的盘中意大利面是理解万维网的极好模型,并且Web应用程序应该模仿它们的介质。他在餐巾纸的背面设计了可编程超链接意大利面(PHP)。PHP文档至今仍保存在那张餐巾纸上。
1995年 – Yukihiro “疯狂Matz” Matsumoto创造了Ruby,以避免某种模糊不清的大灾难,这将使澳大利亚成为一个由莫霍克战士和蒂娜·特纳统治的沙漠。该语言后来由真正的发明者David Heinemeier Hansson更名为Ruby on Rails。[关于Matsumoto发明一种名为Ruby的语言的那部分是虚构的,应在本文的下一个修订版本中删除 – DHH]。
1995年 – Brendan Eich研究了设计编程语言时所犯的所有错误,发明了一些新错误,并创造了LiveScript。后来,为了利用Java的流行,该语言更名为JavaScript。随后,为了利用皮肤病的流行,该语言更名为ECMAScript。
1996年 – James Gosling发明了Java。Java是一种相对冗长的、垃圾回收的、基于类的、静态类型的、单分派的、面向对象的语言,其主要用途是在计算机上运行小程序。尽管如此,Java发展成了一种用于编写企业级应用程序、嵌入式系统和计算机中毒的语言。
2001年 – Anders Hejlsberg 发明了C#。C#是一种相对冗长的、自动垃圾回收的、基于类的、静态类型的、单分派的、面向对象的语言,具有单一实现继承和多重接口继承。微软高调宣扬C#的新颖之处。
2003年 – 醉醺醺的Martin Odersky看到了一则Reese’s花生酱杯广告,广告中的花生酱落到了别人的巧克力上,这给他一个灵感。他创造了Scala,一种统一了面向对象和函数式语言构造的语言。这激怒了两个阵营,双方立即宣布圣战。
作者:JAMES IRY 来源:Blogspot 翻译:西墙网
2005年 – 一位匿名的语言设计师在洛杉矶的一家酒吧里创建了一种新的编程语言,以帮助那些不希望像其他人一样在派对上骄傲地宣布他们编写的代码”就是在酒吧里写的”的人。该语言被命名为Clojure,并迅速成为函数式编程社区的宠儿。
2014年 – Chris Lattner创建了Swift,一种新的编程语言,以替代Objective-C,使苹果开发者能够在一分钟内创建出奇迹般的应用程序。许多开发者表示,他们最喜欢Swift的原因是它让他们能够在Stack Overflow上发表更多关于Swift的问题。
2014年 – Chris Lattner 创建了Swift,一种新的编程语言,用于取代Objective-C,使得苹果开发者能够在不到一分钟的时间内创建神奇的应用程序。许多开发者声称他们最喜欢Swift的一点是能够在Stack Overflow上发布更多关于Swift的问题。
2014年 – Facebook推出了Hack,一种建立在PHP之上的编程语言。Hack提供了静态类型和其他功能,以提高开发者的生产力。对于厌倦了PHP的特殊性的PHP开发者来说,它非常受欢迎。
2014年 – Google发布了Go编程语言,旨在实现高效和并发编程。Go迅速在开发者中获得了流行,他们欣赏它的简单性、性能和内置的并发支持。
2017年 – 微软推出了TypeScript,它是JavaScript的一种带类型的超集,可以编译成纯JavaScript。TypeScript提供了静态类型、类型推断和先进的工具,使其成为大型JavaScript项目中的首选语言。
2018年 – Mozilla推出了Rust,一种专注于安全、速度和并发的系统编程语言。Rust的内存安全保证和强大的所有权系统使其成为注重安全性和性能的开发者的理想选择。
2021年 – OpenAI发布了GPT-3,一种领先的语言模型,彻底改变了自然语言处理并生成人类般的文本。它成为各种应用的宝贵工具,包括内容创作、语言翻译和对话代理。
2022年 – 编程社区见证了新的编程语言和框架的出现。一些值得注意的发展包括:
Rust继续因其对内存安全、并发性和性能的重视而受到欢迎。它成为系统编程的首选语言,特别是在安全性和可靠性至关重要的领域。
TypeScript作为JavaScript的一种带类型的超集,被广泛采用于大规模的Web开发。其静态类型检查能力提高了开发者的生产力和代码可维护性。
Python在数据科学和机器学习领域仍然占据主导地位。随着TensorFlow 2.0和PyTorch的发布,Python巩固了其作为构建和训练神经网络的首选语言的地位。
低代码和无代码平台的兴起使非技术人员能够在不需要广泛编程知识的情况下创建软件应用。这些平台通过可视化界面和拖放组件实现了快速原型设计和开发。
函数式编程范式越来越受到关注,像Elixir、Clojure和Haskell等语言的采用率也有所增加。对于不变性、纯函数和声明式编程的关注,使得代码库更加健壮和易于维护。
2023年 – 量子计算快速发展,导致探索和开发专门针对量子系统的编程语言。微软的Q#作为一种特定领域的语言,在编程量子计算机和模拟量子算法方面引起了关注。
编程语言的未来充满着令人兴奋的可能性,持续的研究和开发推动了可实现的边界。随着技术的不断演进,新的编程语言和工具将涌现,塑造我们解决问题和构建软件的方式。