⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 古时的风筝 「风筝」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

到目前为止大约有几十种主流的编程语言,例如C、C++、Java、Python、JavaScript、Ruby、Swift、Kotlin、Go等等。除了这些主流语言外,还有上百种非主流或者说普及率没那么高的编程语言。

这么多编程语言中,有很多都是同一个祖宗。

当然了,这里所说的同一个祖宗并不是严格意义上的通过分支发展而来的,而是说在某些方面借鉴了其他的语言。

就拿 Java 来说吧,Java 被认为是 C 家族语言,并不是说 Java 是从 C 语言分支出来然后修改的,而是说 Java 借鉴了 C 语言、C++ 的众多特性,并且在此基础上,又加入了自己的特性,从而形成一种新的编程语言。

最开始 Java 的定位就是 C++ Plus Plus,意思是在 C++ 的优秀设计上进一步增强,然后一步步发展到今天。

编程语言的发展

下图是一个编程语言发展历程图,只列出了一些主流的编程语言。

早期阶段(1940-1950)

1954年出现了FORTRAN,这是第一个广泛使用的高级编程语言,主要用于科学计算。1958年是关键的一年,LISP和ALGOL相继出现。LISP引入了函数式编程概念,而ALGOL影响了后续许多语言的语法结构。

1960年代

这个时期出现了许多重要的语言,如COBOL(商业应用)、APL(数组处理)和BASIC(初学者友好的语言)。Simula(1967年)引入了面向对象编程的概念,这对后来的编程范式产生了重大影响。

1970年代

C语言(1972年)的出现是一个重要里程碑,它影响了此后几乎所有的系统级编程语言。Pascal(1970年)作为一种教学语言获得了广泛使用。Smalltalk(1972年)进一步发展了面向对象编程概念。Prolog(1972年)引入了逻辑编程范式。

1980年代

C++(1983年)结合了C的效率和Simula的面向对象特性,成为主流语言。Ada(1983年)作为一种安全和可靠的语言被开发出来。SQL(1986年)成为数据库查询的标准语言。

1990年代

Python(1991年)和Ruby(1995年)作为易用的脚本语言获得了广泛应用。Java(1995年)的出现带来了”一次编写,到处运行”的理念,极大地影响了后续的编程语言发展。JavaScript(1995年)成为网页交互的标准语言。

2000年代初

C#(2001年)作为微软的重磅语言出现,综合了C++和Java的特性。此后还有许多重要的语言出现,如Scala、Go、Swift等。

语言家族

可以看到Lisp、Algol、COBOL、C语言等形成了自己的”家族树”。

Lisp、COBOL、Algol 可以认为是初代编程语言,这三个语言基本上都是同一时代被不同的大神创造的,之后经过几十年的发展,有的语言在这些初代目的基础上发扬光大,有的语言则默默的离开主流舞台。

比如 Lisp 家族有 Common Lisp、Scheme等。

COBOL 家族有Pascal,再之后有 Ruby,但是除此之外并没有什么太耀眼的成绩。

而目前最主流的语言大部分都是 C语言家族的,比如 C++、Java、C#、Objective-C 等等。而C语言其实是借鉴了 Algol 的思想,而Algol又是借鉴了最早的语言 Fortran,这样说来,Fortran 可称得上是创世语言了。

只不过由于 C语言太过耀眼,加上Algol、Fortran 这些都比较原始,甚至不能说是完整的编程语言,所以现在都说 C 语言家族。

除此之外,还有一些比较个性的语言 ,比如 Rust 和 Swift ,真的是集各家思想于一身。

文章目录
  1. 1. 编程语言的发展
    1. 1.1. 早期阶段(1940-1950)
    2. 1.2. 1960年代
    3. 1.3. 1970年代
    4. 1.4. 1980年代
    5. 1.5. 1990年代
    6. 1.6. 2000年代初
  2. 2. 语言家族