专栏首页养码场编程语言简史:有人不喜欢花括号,于是他发明了 Python

编程语言简史:有人不喜欢花括号,于是他发明了 Python

编程语言有上千种,但是流行的不过10来种,那些我们经常使用的编程语言都是谁在什么时候创造出来的呢?Casper Beyer为我们进行了整理。(本文节选)

1957年

约翰·巴克斯(John Backus)创建全世界第一套高阶语言FORTRAN,这是程序员真正意义上使用的第一种语言。

1959年

葛丽丝·穆雷·霍普(Grace Hopper)发明了第一个面向企业的面向业务的编程语言,为“面向商业的通用语言”简称 COBOL

1964年

John Kemeny和Thomas Kurtz认为编程太困难了,他们需要回到基础上来,于是,他们称自己发明的编程语言为BASIC

1970年

Niklaus Wirth很喜欢开发语言,于是开发了多种语言,最终,他发明的Pascal成为当时世界上最受欢迎的语言之一。他还提出了一句计算机领域人尽皆知的法则:算法+数据结构=程序,这个公式对计算机科学的影响程度不亚于戈登·摩尔的摩尔定律。

1972年

丹尼斯·里奇(Dennis Ritchie )在贝尔实验室上班上到无聊的时候,他决定发明带有花括号的语言,于是C语言诞生了,最终还取得了巨大的成功。之后,他又添加了分段错误等友好的功能来提高工作效率。

倒腾出这门C语言后,他和贝尔实验室的朋友心想要不做一个C的演示程序,于是,一个叫做Unix的操作系统又诞生了。

1980年

Alan Kay发明了面向对象的编程,并将其称为Smalltalk,在Smalltalk中,所有的东西都是对象,甚至一个对象也是一个对象。所以压根没人真正搞得清楚 small talk 是什么意思。

1983年

Jean Ichbiah注意到Ada Lovelace程序从来没有真正运行,于是决定用她的名字开发一门语言,但语言最终还是没有运行成功。

1983年

Bjarne Stroustrup 注意到C语言在编译方面还不够完美,于是把自己能想到的功能都加进去了,并将其命名为C ++

程序员到处都采用它,这样,他们看各种视频和工作时读xkcd漫画的时候就有借口可找了。

1986年

Brac Box和Tol Move决定开发一个基于Smalltalk的C语言不可读版本,他们称之为Objective-C,然而却没有人能够理解它的语法。

1991年

Guido van Rossum不喜欢花括号,于是决定发明一种没有花括号的语言,然后又因为太喜欢英国肥皂剧《Monty Python飞行马戏团》,于是,就把该语言命名为Python。

1993年

Roberto Ierusalimschy和朋友决定开发一个巴西本地的脚本语言,在本地化过程中,一个错误使得索引从1开始算起,而不是0,他们把这门语言命名为Lua

1994年

Rasmus Lerdorf为了要维护个人网页,在1994年,用C语言开发了一些CGI工具程式集,来取代原先使用的 Perl 程式。最初这些工具程式用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,并将这些程式和一些表单直译器整合起来,称为 PHP/FI

1995年

编程过程中存在很多不必要的琐碎时间,导致松本行弘不是很高兴,他注意到其他程序员也不是很高兴。于是,他创建了 Ruby 来让程序员高兴。最后,Ruby 社区高兴了,每个人也都高兴了。

1995年

Brendan Eich 利用周末时间设计了一门语言,打算用这门语言来为全世界的每一个主流浏览器乃至于最终的 Skynet 都提供动力。他先是找到了 Netscape 然后说这门语言叫做 LiveScript,但在代码评审期间 Java 变得流行起来,所以他们决定最好还是用花括号,然后就把它更名为 JavaScript

结果表明,命名带有 Java 会让他们惹上商标的纠纷,于是,JavaScript 就更名为 ECMAScript,但大家仍然把它叫做 JavaScript。

1996年

詹姆斯·高斯林(James Gosling)发明了Java,这是第一个过度冗长的面向对象编程语言,其中设计模式在实用主义方面几乎为0。于是乎,就诞生了超级有效的管理器提供商、容器提供商、服务提供商、单一管理器提供商模式

2001年

Anders Hejlsberg重新发明了Java并将其称为C#,因为感觉C编程比Java更酷。每个人都喜欢这个新版本的Java,因为它完全不像Java。

2005年

David Hanselmeyer Hansen创建了一个名为Ruby on Rails的Web框架,从此大家都忘了Ruby和Rails原来是两个独立的语言了。

2009年

肯·汤普森(Ken Thompson)和罗伯·派克(Rob Pike)决定开发一种像C这样的语言,但是编译速度要更快,更安全,并且把 Gopher(囊鼠)作为吉祥物。

最后,他们把这门语言命名为 Go,并把它做成开源,然后另外卖 Gopher 商标来作为收入来源。

2010年

Graydon Hoare也想要像C这样的语言,于是开发出了Rust。Rust集齐了其他动态语言的重要特性。比如不需要管理内存,比如不会出现Null指针等,但Graydon想要更炫的东西,于是开始为苹果开发Swift。

2012年

Anders Hjelsberg希望在Web浏览器中编写C#,于是他设计出了TypeScript,它可以理解为是JavaScript的超集,但其中却包含了更多的Java。

2013年

Jeremy Ashkenas希望像Ruby开发者一样快乐,所以他创建了CoffeeScript,编译成JavaScript,但看起来更像Ruby。不过,Jeremy从来没有像Matz和Ruby开发者那样真正开心过。

2014年

Chris Lattner开发Swift时的主要设计目标就是不要成为Objective-C,最终它看起来像Java。

本文分享自微信公众号 - 养码场(yangmachang0)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货领取!Java架构体系学习路线图,这6点技术人一定要知道!

    可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。

    养码场
  • 印度首颗自研CPU,可商用了?

    近日,印度理工学院发布了首款自主研发CPU——“Shakti”(在印度神话中代表女性力量)的SDK软件开发包,并承诺会很快放出开发版。

    养码场
  • 针对“Java老矣,尚能饭否?”,我们想说:驰骋码场,Java你英姿依旧!

    养码人B:JAVA是学院派的玩具,功能和架构非常完善,但笨重,开发效率太低,javascript、python和go语言将不断蚕食JAVA的市场。

    养码场
  • 激情测试--冒烟军团的远征

    一、冒烟起源篇 冒烟测试的概念在整个测试组其实已经使用很久,在FT化之后,冒烟测试下发到各个FT里面进行把控,一直是一个不温不火的状态。 ...

    腾讯移动品质中心TMQ
  • 震惊,冒烟测试还可以这样

    冒烟测试,名字听起来很奇怪,冒烟和测试完全就没有什么关系,为什么两者会联系到一起?冒烟测试本是说硬件测试时进行加电,如果电路板没有冒烟则说明电路设计没有问题,后...

    腾讯移动品质中心TMQ
  • 腾讯TMQ在线沙龙回顾|冒烟测试

    冒烟测试 活动时间:2017年7月18日 QQ群视频交流 活动介绍:TMQ在线沙龙第二十四期分享 本次分享的主题是:冒烟测试 共有204位测试小伙伴报名参加活动...

    腾讯移动品质中心TMQ
  • 腾讯司晓:“互联网+”指数与“一带一路”战略布局

    ?  9月20日上午,“中国港澳台和外国法律查明研究中心”(以下简称“研究中心”)正式落户深圳。作为研究中心的有力支撑,“最高人民法院港澳台和外国法律查明基...

    腾讯研究院
  • 双轨制奖金分配系统,兼顾技术人员老龄化问题

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

    hotqin888
  • WPF自学入门(十)WPF MVVM简单介绍

       前面文章中,我们已经知道,WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的,WPF提供了数据绑定机制,当数据发生变化时...

    黄昏前黎明后
  • 多线程循环打印数组 -- Java笔记

    1.使用 import java.util.concurrent.locks.LockSupport;

    WeiMLing

扫码关注云+社区

领取腾讯云代金券