所有走的路
都是必经之路
编程语言到今天已经发展了70多年了,在迅猛的发展过程中出现了十几门比较主流的编程语言,比如C,C++,Java,Python,javascript,Go等。
除了主流的编程语言,还有数百种不那么流行的编程语言。人们对创造新的编程语言似乎有很大的兴趣,并且每个几年就会诞生出一门新的语言。
当我们接触了几门语言之后,会发现每个语言都有自己的玩法,但是实际上它们都有一个共同的祖先。
比如说 Java 吧,Java 被认为是 C 家族语言,因为Java 的设计借鉴了 C 语言、C++ 的众多特性,并且在此基础上,又加入了自己的创新和特性,同时也摒弃了C语言的一些难以使用的指针等概念,从而形成一种新的编程语言。
在上个世纪九十年代,实际上像Java这样的高级语言并不多,所以Java最初的定位是在巨人C++的肩膀上做自己的增强。
下面是一些主流编程语言发展的关系图。
开辟鸿蒙
1940到1950年,是编程语言的萌芽期,这个阶段出现了FORTRAN,这是当时第一个广泛使用的高级编程语言,主要用于科学计算,当时的编程并没有平民化,还是少数人的工具。
1958年出现了LISP和ALGOL,LISP引入了函数式编程概念,对后来很多语言产生了巨大的影响,而ALGOL奠定了后续许多语言的语法结构的设计。
萌娃阶段
1960年代,出现了很重要的语言,比如COBOL(商业应用)、APL(数组处理)和BASIC(初学者入门的语言)。 1967年出现了Simula,标志着面向对象编程的思想诞生,这种编程思想在后来很多语言中都得到了应用。
初步成熟
时间来到了1970年代,这个时期出现了C语言,它的光芒几乎影响到了后面出现的所有系统级编程语言,以至于在半个世纪后它仍然是一门极为重要的语言。
同时,Smalltalk的出现也进一步促进了面向对象编程的发展。
更进一步
又过去了十年,由于C是在是很优秀,以至于不得不出现它的模仿者甚至超越者,所以C++诞生了。它结合了C的效率,同时加入了Simula的面向对象特性,让它一越成为当之无愧的主流语言。
也是在这个阶段,SQL成为数据库查询的标准语言。从此世界上又多了一个从入门到放弃的语言。
互联网兴起
到了1990年代,可以明显感觉到电脑的普及,这个阶段出现了Python和Ruby这样流行的脚本语言。
1995年,Java横空出世,带来了"一次编写,到处运行"的口号,极大地影响了后续的编程语言发展。 JavaScript开始成为前端的标准语言。
新世纪时代
2001年,微软为了取代Java的江湖地位,基于C++和Java创造了C#。
再后来,受Java的影响,又出现了Scala,谷歌创造了取代Java的Go,为了取代C++出现了Rust。
很喜欢马克思的那句话,事物的发展是螺旋式的上升和波浪式的前进,大浪淘沙,如今留下来的大多是C语言家族的,比如Java,Go,C#,Rust。
C语言其实是借鉴了Algol ,而Algol又借鉴了最早的语言 Fortran,这样一来,Fortran 可称得上是始语言了。