资讯专栏INFORMATION COLUMN

缅怀那些正渐行渐远的编程语言

Lycheeee / 2074人阅读

摘要:为了纪念伟大的先辈程序员那能够写出永远也无法被执行的代码的彪悍技能,和美国国防部创造了语言。曾经是美国国防部指定的嵌入式计算机系统唯一开发语言,在其研发上耗资巨大。近年来年度编程语言排行来源语言会迭代升级有兴衰起落。

现代编程语言的祖先 (1801)

Joseph Marie Jacquard 用打孔卡为一台织布机编写指令,在挂毯上织出了“hello, world”字样。当时的reddit网友对这项工作的反响并不热烈,因为它既缺少尾递归调用,又不支持并发,甚至都没有注意在拼写时恰当地区分大小写。这套机械编制技巧后来被改良成纸卷钢琴录音,也激发IBM创建者Herman Hollerith使用打洞卡来记录数据和做计算机程序设计。IBM为纪念纺织工业,后来在1994年也将其操作系统命名为OS/2 Warp(warp即是纺织布上的经线)。

Ada Lovelace (1824)

1842 年拜伦之女 Ada Lovelace 写了世界上第一个程序。她的努力只遇到了一点点小小的麻烦,那就是:实际上并没有任何计算机能够用来运行她的程序。后来的企业架构师们重新吸收了她的这个技能,用来学习如何更好地使用UML进行编程。

Ada Lovelace为Charles
Babbage的分析机写了一个计算伯努利数的算法实现,因此被后世公认为是世界上第一个程序员。实际上,由于分析机设计思想过于先进,在当时根本没有被制造出来。(Babbage的分析机一般被认为是现代电子通用计算机的先驱。)

讽刺现在的某些“软件架构师”顶多只会纸上谈兵地画画UML。

Fortran (1957)

John Backus 和 IBM 发明了 Fortran(FORmula TRANslator)语言。它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。Fortran 90之前的版本是人们所知晓的FORTRAN(全部字母大写),从Fortran 90以及以后的版本都写成Fortran(仅有第一个字母大写)。关于IBM或Fortran并没有什么特别的地方,除了写 Fortran程序的时候不系蓝领带将被编译器视作是一个 syntax error。

蓝领带、白衬衫、深色西装似乎是IBM公司20世纪经典的dress code。

早期Fortran(Fortran 77)对程序书写格式的要求那是相当严格。(例如,固定格式缩进)

Cobol (1959)

在输掉了和 L. Ron Hubbard 之间的一场打赌之后,Grace Hopper 和其他几个发明了所谓的“面向Boilerplate的全大写化语言”(Capitalization Of Boilerplate Oriented Language,Cobol)Cobol(CommonBusinessOrientedLanguage)是数据处理领域最为广泛的程序设计语言,是第一个广泛使用的高级编程语言。在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企管理问题,美国的一些计算机用户于1959年组织设计了专用于商务处理的计算机语言COBOL,并于1961年美国数据系统语言协会公布。

COBOL语言以代码极其冗长和通篇大写字母的书写风格而闻名。

Pascal (1970)

1970年 Niklaus Wirth 创造了Pascal,一个过程式的语言。尽管Pascal非常流行(然而在八十到九十年代时比21世纪更加流行),依据维尔特的对这种语言的定义来构建Pascal,使它不适合在非教学的场合使用,这遭到了广泛的批评。 推广了C语言的Brian Kernighan早在1981年就在他的论文《Why Pascal Is Not My Favourite Programming Language》对Pascal提出了严厉的抨击。

Smalltalk (1980)

Alan Kay 创造了Smalltalk并发明了“面向对象”这个词。当被问到它的含义时,他回答道:“Smalltalk 程序本身就是对象。”当被问到对象是由什么组成时,他回答到:“对象。”当再一次被问到这个问题时,他说“看,它从里到外都是对象。直到你抽出一只乌龟。”

90年代的许多软件开发思想得利于Smalltalk,例如Design Patterns, Extreme Programming(XP)和Refactoring等。

20世纪70年代到80年代前期,美国施乐公司的帕洛阿尔托研究中心(PARC)开发了Smalltalk编程语言。从Smalltalk-72、Smalltalk-78到Smalltalk-80,他们开发完成了整个Smalltalk系列,Smalltalk编程语言对近代面向对象编程语言影响很大,所以称之为“面向对象编程之母”。

Smalltalk的设计从很大程度上受到了Logo的影响。

这门语言在70年代初期就诞生了,但公开可用的第一版是Smalltalk-80 Version 1。

Ada (1983)

为了纪念伟大的先辈程序员 Ada Lovelace 那能够写出永远也无法被执行的代码的彪悍技能,Jean Ichbiah和美国国防部创造了Ada语言。Ada不仅体现了许多现代软件的开发原理,而且将这些原理付诸实现。同时,Ada语言的使用可大大改善软件系统的清晰性、可靠性、有效性、可维护性。

Ada是现有的语言中无与伦比的一种大型通用程序设计语言,它是现代计算机语言的成功代表,集中反映了程序语言研究的成果。Ada的出现,标志着软件工程成功地进入了国家和国际的规模。尽管缺乏证据显示有任何重要的Ada程序曾经被完成过,历史学家仍然确信Ada是个成功的公益项目,它让数以千计的国防承包商免于沦落为与黑帮为伍。

Ada 曾经是美国国防部指定的嵌入式计算机系统唯一开发语言,在其研发上耗资巨大。(国防承包商们于是不用靠贩卖军火给黑帮来维持生计了。)

以上语言虽然都在不同程度上渐渐不再为现代的多数开发者所用,但每一次的创新与创造,都将关乎未来。

近年来年度编程语言排行

(来源:TIOBE)

**语言会迭代升级、有兴衰起落。
历年来编程语言排行榜的名次也都是在不断变化,不论是否流行 ,都值得被尊重。
仅以此,向正在努力着的开发者们致敬!**

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43536.html

相关文章

  • DevOps 发展融合运维可视化

    摘要:,是开发和运维的组合,代表一种文化运动或实践,旨在促进软件交付和基础设施变更软件开发人员和运维技术人员之间的合作和沟通。预计年,将成为一项优势策略得到全面的普及与实践。而且随着新软件和工具以及技术的使用,这一势头有望增长。 DevOps,是开发(Development)和运维(Operations)的组合,代表一种文化、运动或实践,旨在促进软件交付和基础设施变更软件开发人员(Dev)和...

    desdik 评论0 收藏0
  • 用canvas画一轮明月,夜空与流星

    摘要:今天是中秋节,于是突发奇想,欸不如用来画一画月亮吧。径向渐变这是月亮的类,主要用到了里的径向渐变效果。然后整体倾角度,并且填充时用上一个径向渐变,就可以相当完美的达到流行尾巴那样渐行渐远渐模糊的样子。 今天是中秋节,于是突发奇想,欸不如用canvas来画一画月亮吧。 于是一副用canvas画出的星空就这样诞生了。 Demo 在这里我用了ES6语法,星星,月亮和流星都单独写成了一个mod...

    VioletJack 评论0 收藏0
  • SaaS伙伴走进华为云后,中国公有云格局将改写吗?

    摘要:最近华为云开始发力,在全国范围内开展伙伴走进华为云活动,展示了其在公有云方面的决心。年华为杀入公有云,有的看好有的唱衰,但是无疑为中国公有云市场增加了变数。年月华为正式宣布进入公有云市场,成立华为云。2017年9月举办的全联接大会(HUAWEI CONNECT 2017)上,华为副董事长、轮值CEO郭平表示,华为已经战略投入了公有云,并承诺长期投入,华为有决心也有能力和合作伙伴打造世界上的5...

    frank_fun 评论0 收藏0

发表评论

0条评论

Lycheeee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<