过去的几十年间,大量的编程语言被发明、被替换、被修改或组合在一起。每种语言总在争论中诞生,又在进化中消亡。而这些语言的的创造者,无一不是编程世界中的标志性人物,高举探索的旗帜不断前行。

敬仰之情促使了这个页面的诞生,这里收集并分享了这五十年来最成功、最流行的十二门编程语言和它们的创造者的故事。

JavaScript 的起源

JavaScript 最初由 Netscape 的 Brendan Eich 设计。JavaScript 是甲骨文公司的注册商标。ECMA 国际以 JavaScript 为基础制定了 ECMAScript 标准。JavaScript 也可以用于其他场合,如服务器端编程。完整的 JavaScript 实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。

Netscape 在最初将其脚本语言命名为 LiveScript,后来 Netscape 在与 Sun 合作之后将其改名为 JavaScript。JavaScript 最初受 Java 启发而开始设计的,目的之一就是“看上去像 Java”,因此语法上有类似之处,一些名称和命名规范也借自 Java。但 JavaScript 的主要设计原则源自 Self 和 Scheme。JavaScript 与 Java 名称上的近似,是当时 Netscape 为了营销考虑与 Sun 微系统达成协议的结果。为了取得技术优势,微软推出了 JScript 来迎战 JavaScript 的脚本语言。为了互用性,Ecma 国际(前身为欧洲计算机制造商协会)创建了 ECMA-262 标准(ECMAScript)。两者都属于 ECMAScript 的实现。尽管JavaScript 作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推广和宣传,但是 JavaScript 具有非常丰富的特性。

个人经历

布兰登·艾克生于美国加州的森尼维尔市,在圣塔克拉拉大学(Santa Clara University)就读时,最初主修物理学,在大三时,因兴趣转变,投入计算机科学领域,后获取数学与计算机科学学士学位。1986 年获取伊利诺伊大学香槟分校计算机科学硕士学位。

毕业后进入 SGI 工作,在此工作七年,主要负责操作系统与网络功能。之后他至 MicroUnity 工作了三年。1995 年 4 月,任职于网景期间,为网景浏览器开发出 JavaScript,之后成为浏览器上应用最广泛的脚本语言之一。1998 年,艾克协助成立 Mozilla.org,2003 年在美国在线决定结束网景公司营运后,艾克协助成立了 Mozilla 基金会。

2014 年 3 月 24 日,艾克晋升为 Mozilla 公司首席执行官引发同性恋族群反弹,归咎于艾克 2008 年曾捐助 1000 美元支持加利福尼亚州 8 号提案。如今引发 OkCupid 网站抵制使用 Firefox 浏览器,部分Mozilla 员工亦要求去职首席执行官。4 月 3 日,艾克宣布从 Mozilla 离职,并表示 Mozilla 的使命远超过我们任何一人,无法胜任 Mozilla 的领导职位。

Go 的起源

Go,又称 golang,是 Google 开发的一种静态强类型、编译型,并发型,并具有垃圾回收功能的编程语言。

罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于 2007 年 9 月开始设计 Go 语言,稍后 Ian Lance Taylor, Russ Cox 加入项目中。谷歌把 Go 作为一个 20% 项目开始研发,即让员工抽出本职工作之外时间的 20%, 投入在该项目上。除了派克外,该项目的成员还有其他谷歌工程师也参与研发。对于开发这门语言的起因,派克说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。

Go 语言是基于 Inferno 操作系统所开发的。Go 语言于 2009 年 11 月正式宣布推出,成为开放源代码项目,并在 Linux 及 MacOS X 平台上进行了实现,后追加 Windows 系统下的实现。2010 年 1 月 10 日,Go 语言摘得了 TIOBE 公布的 2009 年年度大奖,该奖项授予在 2009 年市场份额增长最多的编程语言

个人经历

罗勃特·C·派克(Robert C. Pike,1956年-),昵称为罗勃·派克(Rob Pike),来自加拿大的程序员,曾经加入贝尔实验室,和 Ken Thompson 以及 Dennis M. Ritche 一起开发 UNIX。曾经参与过贝尔实验室九号计划、Inferno,与编程语言 Limbo 的开发。此外他还是个颇为厉害的业余天文学家,设计的珈玛射线望远镜差点被 NASA 用在航天飞机上。

1980 年奥运会射箭的银牌得主。
1992 年,肯·汤普逊开始研发 UTF-8。罗勃·派克参与实作工作,与肯·汤普逊一同在 Plan 9 上实作了 UTF-8。
目前为 Google 的工程师,参与编程语言 Go 与 Sawzall 的研发工作。

著作

《The Unix Programming Environment》
《The Practice of Programming》

Python 的起源

1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为 ABC 语言的一种继承。之所以选中 Python 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者。ABC 是由吉多参加设计的一种教学语言。就吉多本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果,完美结合了 C 和其他一些语言。

就这样,Python 在吉多手中诞生了。实际上,第一个实现是在 Mac 机上。可以说,Python 是从 ABC 发展起来,主要受到了 Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了 Unix shell 和C 的习惯。目前吉多仍然是 Python 的主要开发者,决定整个 Python 语言的发展方向。Python 社区经常称呼他是仁慈的独裁者(BDFL),意思是他仍然关注 Python 的开发进程,并在必要的时刻做出决定。

Python 的设计哲学是“优雅”、“明确”、“简单”。Python 开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。在设计 Python 语言时,如果面临多种选择,Python 开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。这些准则被称为“Python 格言”。

个人经历

吉多·范罗苏姆在荷兰出生、成长,1982 年在阿姆斯特丹大学获得数学和计算机科学硕士学位。后来他在多个研究机构工作,包括在荷兰阿姆斯特丹的国家数学和计算机科学研究学会(CWI),在马里兰州 Gaithersburg 的国家标准及技术研究所(NIST),和维珍尼亚州Reston的国家创新研究公司(CNRI)。

2002 年,在比利时布鲁塞尔举办的自由及开源软件开发者欧洲会议上,吉多·范罗苏姆获得了由自由软件基金会颁发的 2001 年自由软件进步奖。2003年五月,吉多获得了荷兰 UNIX 用户小组奖。2006 年,他被美国计算机协会(ACM)认定为著名工程师。
2005 年 12 月,吉多·范罗苏姆加入 Google。他用 Python 语言为 Google 写了面向网页的代码浏览工具Mondrian,之后又开发了 Rietveld。在那里他把一半的时间用来维护 Python 的开发。
2012 年 12 月 7 日,Dropbox 宣布吉多·范罗苏姆加入 Dropbox 公司。

著作

《An Introduction to Python》
《The Python Programming Language》
《Python Reference Manual》

Java 的起源

1990 年代初,任职于 Sun 公司的詹姆斯·高斯林等人开始开发 Java 语言的雏形,最初被命名为 Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通讯。由于这些智能化家电的市场需求没有预期的高, Sun 公司放弃了该项计划。随着 1990 年代互联网的发展, Sun 公司看见 Oak 在互联网上应用的前景,于是改造了 Oak,于1995年5月以 Java 的名称正式发布。Java 伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

与传统型态不同, Sun 公司在推出 Java 时就将其作为开放的技术。全球数以万计的 Java 开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的 .NET 平台以及模仿 Java 的 C# 语言。后来 Sun 公司被甲骨文公司并购,Java 也随之成为甲骨文公司的产品。

Java 的创造是为了完成 WORA(Write once, run anywhere 一次编写到处运行)的理念,它的平台独立性使它在企业应用中获得了巨大成功。到目前为止,它已经成为了最流行的一门应用程序编程语言,被广泛应用于企业级Web应用开发和移动应用开发。。

个人经历

詹姆斯·高斯林(英语:James Gosling,1955年5月19日-),出生于加拿大。在 12 岁的时候,詹姆斯就能设计电子游戏机,帮邻居修理收割机。大学时期在天文系担任程序开发工读生,1977 年获得了加拿大卡尔加里大学计算机科学学士学位。1981年开发在 Unix 上运行的 Emacs 类编辑器 Gosling Emacs(以C语言编写,使用 Mocklisp 作为扩展语言)。1983 年获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:"The Algebraic Manipulation of Constraints"。毕业后到 IBM 工作,设计 IBM 第 一代工作站 NeWS 系统,但不受重视。后来转至 Sun 公司。

2009 年四月,Sun 被甲骨文公司并购。詹姆斯于 2010 年四月时宣布从甲骨文公司离职。
2011年3月29日,高斯林在个人博客上宣布将加入 Google。
2011年8月30日,仅仅加入 Google 数月之后的高斯林就在个人博客上宣布离开 Google,加盟一家从事海洋机器人研究的创业公司 Liquid Robotics,担任首席软件架构师。
在2011年5月建立的 Scala 公司 Typesafe Inc.,高斯林被列为公司顾问。

著作

《The Java Programming Language》
《The Java Language Specification》
《The Java Application Programming Interface》

PHP 的起源

PHP 原本的简称为 Personal Home Page,是拉斯姆斯·勒多夫为了要维护个人网页,而用 C 语言开发的一些CGI 工具程序集,来替换原先使用的 Perl 程序。最初这些工具程序用来显示拉斯姆斯·勒多夫的个人履历,以及统计网页流量。他将这些程序和一些窗体解释器集成起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。拉斯姆斯·勒多夫在 1995 年 6 月 8 日将 PHP/FI 公开发布,希望可以通过社区来加速程序开发与查找错误。这个发布的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、窗体处理功能、以及嵌入到 HTML 中运行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。

在 1997 年,任职于 Technion IIT 公司的两个以色列程序员:Zeev Suraski 和 Andi Gutmans,重写了PHP 的语法分析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为 PHP: Hypertext Preprocessor.。经过几个月测试,开发团队在 1997 年 11 月发布了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在 1998 年 6 月正式发布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写 PHP 的核心,这个在 1999 年发布的语法分析器称为 Zend Engine,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。

在 2000 年 5 月 22 日,以 Zend Engine 1.0 为基础的 PHP 4 正式发布,2004 年 7 月 13 日则发布了 PHP 5,PHP 5 则使用了第二代的 Zend Engine。PHP 包含了许多新特色,像是强化的面向对象功能、引入 PDO(PHP Data Objects,一个访问数据库的延伸库)、以及许多性能上的增强。目前 PHP 4 已经不会继续更新,以鼓励用户转移到 PHP 5。

2008 年 PHP 5 成为了 PHP 唯一维护中的稳定版本。现在已经有超过 2000 万个网站和 100 万个Web服务器使用了这门语言,Facebook、Wikipedia、Wordpress 以及 Joomla 这些互联网巨头都在使用它。

个人经历

拉斯姆斯·勒多夫(英语:Rasmus Lerdorf,1968年11月22日-)出生于格陵兰岛凯凯塔苏瓦克。他也是编程语言 PHP 的创始人,其中 PHP 的头两个版本是由他编写的,后来他也参与 PHP 后续版本的开发。

1988 年毕业于安大略省金城中学,1993 年毕业于滑铁卢大学,获得系统设计工程应用科学学士学位。
2002 年 9 月至 2009 年 11 月 6 日间,他在 Yahoo! 公司担任基础设施架构师。
2010 年,他加入 WePay 公司帮助开发其 API。
2011 年起,他担任创业顾问。

著作

《Programming PHP》
《PHP Pocket Reference》

C++ 的起源

比雅尼·斯特劳斯特鲁普(Stroustrup)工作起于 1979 年的 C with Classes。这个构思起源于 Stroustrup 做博士论文时的一些程序撰写经验。他发现 Simula 具备很利于大型软件开发的特点,但 Simula 的运行速度太慢,无法对现实需求发挥功效;BCPL 虽快得多,但它过于低级的特性,使其不适于大型软件的开发。当 Stroustrup 开始在贝尔实验室工作时,他有分析 UNIX 核心关于分布式计算的问题。回想起他的博士论文经验,Stroustrup 开始为 C 语言增强一些类似 Simula 的特点。之所以选择 C,是因为它适于各种用途、快速和可移植性。除了 C 和 Simula 之外,同时也从其它语言中获取灵感,如 ALGOL 68、Ada、CLU 以及 ML。刚开始时,类、派生类、存储类型检查、内联和默认参数特性,都是通过 Cfront 引入 C 语言之中。1985 年 10 月出现了第一个商业化发布。

1983 年,C with Classes 改命名为 C++。加入了新的特性,其中包括虚函数、函数名和运算符重载、参考、常数、用户可控制的自由空间存储区控制、改良的类型检查,以及新的双斜线(//)单行注解风格。1985年,发布第一版《C++程序设计语言》,提供一个重点的语言参考,至此还不是官方标准。1989年,发布了Release 2.0。引入了多重继承、抽象类、静态成员函数、常数成员函数,以及成员保护。1990年,出版了The Annotated C++ Reference Manual。这本书后来成为标准化的基础。稍后还引入了模板、异常处理、名字空间、新的强制类型转换,以及布尔类型。

C++ 这个名字是 Rick Mascitti 于 1983 年中所建议的,并于 1983 年 12 月首次使用。更早以前,尚在研究阶段的发展中语言曾被称为“new C”,之后是“C with Classes”。在计算机科学中,C++ 仍被称为 C 语言的上层结构。它最后得名于 C 语言中的“++”操作符(其对变量的值进行递增)。而且在共同的命名约定中,使用“+”以表示增强的程序。Stroustrup 说:“这个名字象征着源自于C语言变化的自然演进”。C+ 是一个和 C/C++ 无关的早期编程语言。

个人经历

比雅尼·斯特劳斯特鲁普(丹麦语:Bjarne Stroustrup),1950年12月30日生于丹麦奥胡斯郡,计算机科学家,德州农工大学工程学院的计算机科学首席教授。他以创造 C++编程语言而闻名,被称为“C++ 之父”。

斯特劳斯特鲁普于 1975 年获得丹麦奥胡斯大学的数学和计算机科学硕士学位,又于 1979 年获得英国剑桥大学的计算机科学博士学位。从贝尔实验室大规模编程(Large-scale Programming)研究部门设立至 2002 年晚些时候,他一直担任那里的负责人。现在他在德州农工大学工程学院任教授一职。

「红宝石」语言的起源

1993年,松本行弘开始 Ruby 语言的研发工作,试图集成脚本语言中最好的特点,基于 C 语言开发,但比 Perl 更强大,比 Python 更面向对象。1994 年,松本行弘独立完成 Ruby 的第一个 Alpha 版,那年他才28岁。松本行弘把它取名 Ruby,也因这名字是一种美丽珍贵的红宝石之意。Ruby 本身也极具魅力——这种解释型脚本语言,既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。

此外,松本行弘还借鉴了 Perl 语言在文字处理方面的优势,由 Ruby 编写的程序不需事先编译即可直接运行,因此利于实现开发过程中的快速反馈,极大地方便了程序的调试。1995 年 Ruby 脚本语言的第一个版本发布后,因其大大提高了开发者的工作效率,让编程更有乐趣,很快在日本非常流行。

1997 年开始,松本行弘在“株式会社 Network 应用通信研究所”担任特别研究员,专注于 Ruby 的开发。2000年,Dave Thomas 首次将这 Ruby 介绍到了英文社区,很快掀起了 Ruby 语言的热潮。Ruby 的灵活特性给动态编程语言注入了新的活力,逐渐获得全世界范围的程序设计者的喜爱。

世界上没有一种完美的语言,Ruby 也一样。尽管 Ruby 很棒,但很多人还是觉得他的性能效率较低。不过好在后来开发者也通过一些扩展来弥补 Ruby 的瓶颈。2004年,丹麦人 David Heinemeier Hansson 用 Ruby 语言开发的一种 Web 框架 Ruby on Rails,可达到 J2EE 开发速度的 10 倍以上,被很多人视为“软件开发的银弹”,Ruby 开始在全球范围内流行。

个人经历

松本行弘出生于大阪府,从四岁起居住在鸟取县。中学二年级时,在父亲的口袋型电脑 Sharp PC-1210 上以 Basic 写了第一个程式。 1984 年进入筑波大学第三学群资讯(情报)学类。大学其中两年休学,从事基督教传教工作。 大学时在程式语言研究室,1990 年毕业。

1993 年以来,一直从事 Ruby 的设计与开发。 1997 年开始,在「株式会社 Network 应用通信研究所」担任特别研究员,专注开发 Ruby。著书:「物件导向 Script 语言 Ruby 」(与石冢圭树共同著作),「RubyDesktopReference」,「软体工匠(ソフトウェアの匠)」等。 自称「语言otaku」(语言宅男)。

著作

《图灵程序设计丛书:代码的未来》
《松本行弘的程序世界》

Scala 的起源

Scala 是一门多范式的编程语言,一种类似 Java 的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。

2001 年,洛桑联邦理工学院的马丁·奥德斯基开始基于 Funnel 的工作开始设计 Scala。Funnel 是把函数式编程思想和佩特里网相结合的一种编程语言。 奥德斯基之前工作于 Generic Java 和 javac。Java 平台的Scala 于 2003 年底/ 2004 年初发布。.NET 平台的 Scala 发布于 2004 年 6 月。该语言第二个版本,v2.0,发布于 2006 年 3 月。2009 年 4 月,Twitter 宣布他们已经把大部分后端程序从 Ruby 迁移到Scala,其余部分也打算要迁移。此外, Wattzon 已经公开宣称,其整个平台都已经是基于 Scala 基础设施编写的。

2014 年,马丁·奥德斯基宣布 Scala 2.12 将要简化语法,推出 Scala "Don Giovanni" 项目的时候,表示:“Scala 现在是为聪明人创造的,以后也是为聪明人服务的。” 不同于 Python 让程序员用一种方法做所有事情,Scala 提供一整套工具,让程序员自由选择,无论是 mutable 数据结构,immutable 数据结构,并行(parallel)数据结构。然后在这些选择中,Scala 再针对他们进行算法层面的特殊优化。Scala 相信程序员的聪明才智,让程序员自行选择合适的结构,以针对变化万千的任务需求,这点是 Scala 做得好的地方。

个人经历

马丁·奥德斯基(Martin Odersky)是 Typesafe 的联合创始人,也是 Scala 编程语言的发明者。Martin 是 EPFL(瑞士领先的技术大学)编程研究组的教授。他在整个职业生涯中一直不断追求着一个目标:让写程序这样一个基础工作变得高效、简单、且令人愉悦。他可能比世界上任何一个人写过更多的 Java 和 Scala 代码。他编写了 javac,这是目前大部分 Java 程序员所使用的编译器。他也编写了 Scala 编译器 scalac,可谓是 Scala 社区飞速发展的基石。他曾经就职于 IBM 研究院、耶鲁大学、卡尔斯鲁厄大学以及南澳大利亚大学。在此之前,他在瑞士苏黎世联邦理工学院追随 Pascal 创始人 Niklaus Wirth 学习,并于 1989 年获得博士学位。

著作

《Programming in Scala》

Android 的起源

2003 年 10 月,安迪·鲁宾(Andy Rubin)在美国创建了 Android 科技公司(Android Inc.),并与利奇·米纳尔(Rich Miner)、尼克·席尔斯(Nick Sears)、克里斯·怀特(Chris White)共同发展这家公司。Android 系统最初由安迪·鲁宾(Andy Rubin)等人开发制作,最初开发这个系统的目的是创建一个数码相机的先进操作系统,但是后来发现市场需求不够大,加上智能手机市场快速成长,于是 Android 被改造为一款面向智能手机的操作系统。谈到创建 Android 科技公司的原因,鲁宾说:“聪明的移动设备能更好的意识到用户的爱好和要求。”尽管 Android 科技公司的创始人和员工过去都具有各自的科技成就,但是 Android 科技公司的经营只显露出它在智能手机软件的方面,这时鲁宾为 Android 科技公司花光所有钱。

2005 年 8 月 17 日,Google 低调收购了成立仅 22 个月的高科技企业 Android 及其团队。安迪鲁宾成为Google 公司工程部副总裁,继续负责 Android 项目。2007 年 11 月 5 日,谷歌公司正式向外界展示了这款名为 Android 的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与 84 家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良 Android 系统。

2013 年 09 月 24 日谷歌开发的操作系统 Android 迎来了 5 岁生日,全世界采用这款系统的设备数量已经达到 10 亿台。

个人经历

Andy Rubin,1963 年生于纽约州 Chappaqua 镇,父亲是学心理学的,经营一家电子玩具直销公司。销售样品拍照放进销售目录之后,就属于小 Andy 的了,他的房间满是各种最新的电子玩具,反复拆装这些玩具是他最爱做的事情之一。

2从纽约州由提卡学院计算机专业毕业后,在卡尔·蔡司公司任机器人工程师,之后在度假期间偶然帮助了和女朋友吵架被赶出来的苹果工程师,被引荐到了苹果公司。1989 年加入苹果公司。1990年,苹果分拆他所在的手持计算和通信设备部门,成立 General Magic 公司,在这里他开发了手持设备操作系统 Magic Cap。公司倒闭后加入 Artemis Research,开发了交互式互联网电视 WebTV。后与人创办 Danger 公司,担任 CEO,但不久被免职。Danger 公司开发了后来被称为 T-Mobile Sidekick 的手机,公司于 2008 年被微软收购。

2002 年初,还在 Danger 期间,Andy Rubin 曾在斯坦福大学的工程课上做了一次讲座。听众中出现了 Google 的两位创始人 Larry Page 和 Sergey Brin。互联网手机的理念深深打动了 Page,尤其是他注意到Danger 产品上默认搜索引擎是 Google。离开 Danger 后,Andy 曾再次隐居开曼群岛,想开发一款数码相机,但是没有找到支持者。他很快回到熟悉的领域,创办 Android,开始启动下一代智能手机的开发。这次的宗旨,是设计一款对所有软件开发者开放的移动平台。2005 年,Andy 靠自己的积蓄和朋友的支持,艰难地完成了这一项目。在与一家风投洽谈的同时,Andy 突然想到了 Larry Page,于是给后者发了一封邮件。仅仅几周时间,Google 就完成了对 Android 的收购。接下来的故事,已经载入史册。

其他链接

Node.js 的起源

Node.js 由 Ryan Dahl 和一些其他的开发者于2009年在 Joyent 工作时发明。Node.js 在2009年初次发布于Linux。 开发和维护工作由 Dahl 主持,其工作单位 Joyent 同时赞助这些工作。

Dahl 设计 Node.js 的灵感来自于 Flickr 上的一款上传进度栏,浏览器并不清楚多少文件内容已被上传,除非向服务器进行查询。Dahl 于是设计了一个更简便的方法。这个集成了 Google V8 JavaScript 引擎和一个底层 I/O API 的项目由 Dahl 在 inaugural European JSConf 向公众进行展示。

Node.js 已经有数十万模块,它们可以通过一个名为 npm 的管理器免费下载。

个人经历

Ryan Dahl 是一个自由程序员,美国人,目前生活在德国。他是几个开源项目的核心构建者,例如 Ebb web erver 和 Nginx 的 EY ”负载均衡模块。

2009 年在 Joyent 工作时发明 Node.js。 2012 年,Ryan Dahl 宣布 Isaac Schlueter 将接替自己的位置,而自己将转而搞其他研究项目,Isaac Schlueter 也是 Node.js 的核心构建者。

ASP.NET 的起源

1997 年时,微软开始针对 ASP 的缺点(尤其是意大利面型的程序开发方法)准备开始一个新项目来开发,当时 ASP.NET 的主要领导人 Scott Guthrie 刚从杜克大学毕业,他和 IIS 团队的 Mark Anders 经理一起合作两个月,开发出了下一代 ASP 技术的原型,这个原型在 1997 年的圣诞节时被发展出来,并给予一个名称:XSP,这个原型产品使用的是 Java 语言。不过它马上就被纳入当时还在开发中的 CLR 平台,Scott Guthrie事后也认为将这个技术移植到当时的 CLR 平台,确实有很大的风险,但当时的 XSP 团队却是以 CLR 开发应用的第一个团队。

为了将 XSP 移植到 CLR 中,XSP 团队将 XSP 的核心程序全部以 C# 语言重新撰写(在内部的项目代号是 "Project Cool",但是当时对公开场合是保密的),并且改名为 ASP+,作为 ASP 技术的后继者,并且也会提供一个简单的移转方法给 ASP 开发人员。ASP+ Beta 版本以及应用在 PDC 2000 中亮相,由 Bill Gates 主讲,由富士通公司展示使用 COBOL 语言撰写 ASP+ 应用程序,并且宣布它可以使用 Visual Basic .NET、C#、Perl、Nemerle 与 Python 语言来开发。

在 2000 年第二季时,微软正式推动 .NET 策略,ASP+ 也顺理成章的改名为 ASP.NET,经过四年的开发,第一个版本的 ASP.NET 在 2002 年 1 月 5 日亮相(和.NET Framework 1.0),Scott Guthrie 也成为ASP.NET的产品经理(到现在已经开发了数个微软产品,像 ASP.NET AJAX 和 Microsoft Silverlight)。

个人经历

Scott Guthrie 于 1997 年毕业于杜克大学的计算机科学专业,并取得学位。同年加入 Microsoft,最初从事IIS 4 和 Windows NT Option Pack 的研究工作。在其发布后不久,他设计了最初代号为“XSP”的新服务器编程模型并构建出原型。随后的 1998 年,与 Mark Anders 一起组建了一个新的团队,构建了最终被称为ASP.NET 的框架。这些年在微软,Scott 主要领导负责构建了 CLR、ASP.NET、WPF、"WPF/E"、Windows Forms、IIS7.0、Commerce Server、.NET Compact Framework 以及V isual Studio Web 和客户端开发工具的开发团队。

在公开场合中,Scott 经常会穿着一身红色 T 恤,他的个人博客、推特上也是一件红色 T 恤作为头像,因此,中国 .NET 开发者给他起了一个昵称叫“红衣教主”。

Swift 的起源

2010 年 7 月,苹果开发者工具部门总监克里斯·拉特纳开始着手 Swift 编程语言的设计工作,以一年时间,完成基本架构后,他领导了一个设计团队大力参与其中。Swift 大约历经4年的开发期,2014 年 6 月发表。

苹果宣称 Swift 的特点是:快速、现代、安全、互动,而且明显优于 Objective-C 语言。Swift 以 LLVM 编译,可以使用现有的 Cocoa 和 Cocoa Touch 框架。Xcode Playgrounds 功能是 Swift 为苹果开发工具带来的最大创新,该功能提供强大的互动效果,能让 Swift 源代码在撰写过程中能即时显示出其运行结果。拉特纳本人强调,Playgrounds 很大程度是受到布雷特·维克多(Bret Victor)理念的启发。

2015 年 6 月 8 日,苹果于 WWDC 2015 上宣布,Swift 将开放源代码,包括编译器和标准库。

2015 年 12 月 3 日,苹果宣布开源 Swift,并支持 Linux,苹果在新网站 swift.org 和托管网站 Github 上开源了 Swift,但苹果的 app store 并不支持开源的 Swift,只支持苹果官方的 Swift 版本,官方版本会在新网站 swift.org 上定期与开源版本同步。

个人经历

2000 年,克里斯·拉特纳自奥勒冈州波特兰大学(University of Portland)计算机科学系毕业。之后进入伊利诺伊大学厄巴纳-香槟分校(UIUC)就读。在此期间,他经年累月学习《Compilers: Principles, Techniques, and Tools》这本龙书,并与维克拉姆·艾夫(Vikram Adve)发起LLVM(Low Level Virtual Machine)项目,并于 2003 年发表,新式的 LLVM compiler 使用 GCC 进行语义分析产生IF(Intermediate Format),然后LLVM使用分析结果完成源码最优化的工作。

Apple 也是 LLVM 计划的主要资助者。早年 Apple 一直使用 GCC 作为官方的编译器,但 Apple 对 GCC 的性能不满意,再者 Objective-C 在 GCC 中优先级低,GCC 对 Objective-C 语言新特性的支持程度也不高。因此 Apple 一直在寻找 compiler 的开源替代品,于是他们将目光转移到 LLVM 身上。2005 年,Apple 直接雇用了克里斯·拉特纳及他的团队,为了苹果电脑开发应用程序系统。克里斯一开始将 LLVM 运行时的编译架构在 OpenGL stack 之上,这样 OpenGL stack 可以产出更高效率的图形代码。OpenGL stack 成为 JIT compiler, Xcode 3.1 实现了 llvm-gcc compiler, Xcode 3.2 实现了 Clang 1.0,克里斯再接再励, Xcode 4.0 实现了 Clang 2.0. 后来的 Mac OS X 10.6 Snow Leopard 即大量使用 LLVM 的编译技术。

接着克里斯发起 Clang 项目,希望完全替换 GCC。Clang 在性能评比上的多项指针,如编译 Object-C 的速度,超过 GCC,LLVM 3.0 发布已完整支持所有 ISO C++ 标准,代表着 LLVM 正式走向成熟。

2010 年 7 月开始,克里斯开始设计 Swift。完成基础架构后,克里斯带领开发小组陆续完成语法设计、编译器、运行时、框架、IDE 和文档等相关工作。这个语言在 2014 年 WWDC 大会上公开。

当我们谈论编程语言的时候,
我们在谈论什么
说点什么 > _