下面是TIOBE的2016年最新的编程语言排名表。当然统计得不一定够准确,因为看到这篇文章的你估计也没有参与进来。恭喜Java大哥。
至少在自动化控制行业,C/C++还是占据绝对优势的,作为C家族的忠实追随者,把家族的发展史整理下!
C
C语言原型为ALGOL 60语言(也称为A语言)。
--- 1967年,剑桥大学的Matin Richards对CPL语言进行了简化,于是产生了BCPL语言。
--- 1970年,美国贝尔实验室的KenThompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。并且他用B语言写了第一个UNIX操作系统。
--- 1973年,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
--- 1980年以后,贝尔实验室使得C变得更为广泛的流行,使得C一度成为了操作系统和应用程序编程的首选。甚至到今天,它仍被广泛用于编写操作系统以及作为广泛的计算机教育的语言。
--- 1988年,随着微型计算机的日益普及, 出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准。
--- 1999年1月,ISO和国际电工委员会(IEC)发布了C语言的新标准,名叫ISO/IEC9899:1999 - Programming languages -- C,简称C99标准。这是C语言的第二个官方标准。
--- 2011年12月8日,ISO和IEC再次发布了C语言的新标准,名叫ISO/IEC9899:2011 - Information technology -- Programming languages -- C,简称C11标准,原名C1X。这是C语言的第三个官方标准,也是C语言的最新标准。
C++
--- 1967 年,Simula 语言中第一次出现了面向对象(OO) 的概念,但由于当时软件规模还不大,技术也还不太成熟,面向对象的优势并未发挥出来。
--- 1980 年,Smalltalk-80 出现后,面向对象技术才开始发挥魅力。
--- 1979 年,Bjarne Stroustrup 借鉴 Simula 中 "Class"的概念,开始研究增强 C 语言,使其支持面向对象的特性。 B.Stroustrup 写了一个转换程序 "Cfront" 把 C++ 代码转换为普通的 C 代码,使它在各种各样的平台上立即投入使用。 1983 年,这种语言被命名为 C++.刚开始叫C with class,这是把它当作一种C语言的有效扩充。由于当时C语言在编程界居于老大的地位,要想发展一种新的语言,最强大的竞争对手就是C语言,所以当时有两个问题最受关注:C++要在运行时间、代码紧凑性和数据紧凑性方面能够与C语言相媲美,但是还要尽量避免在语言应用领域的限制。在此情况下,Bjarne博士为了避免受到C语言的局限性,一个很自然的想法就是让C++从C语言继承过来,但同时参考了很多的其它语言,例如:从Simula继承了类的概念,从Algol68继承了运算符重载、引用以及在任何地方声明变量的能力,从BCPL获得了//注释,从Ada得到了模板、名字空间,从Ada、Clu和ML取来了异常。
--- 1986 年,B.Stroustrup 出版了 《The C++ ProgrammingLanguage》第一版,这时 C++ 已经开始受到关注, B.Stroustrup 被称为 C++之父(Creator of C++)。
--- 1989 年,负责 C++ 标准化的 ANSIX3J16挂牌成立。1990 年,B.Stroustrup 出版了《The Annotated C++ Reference Manual》(简称 ARM),由于当时还没有 C++ 标准,ARM 成了事实上的标准。
--- 1990 年, Template(模板) 和 Exception(异常) 加入到了 C++ 中, 使 C++ 具备了泛型编程(GenericProgramming)和更好的运行期错误处理方式。
--- 1991 年,负责 C++ 语言国际标准化的技术委员会工作组 ISO/IEC JTC1/SC22/WG21 召开了第一次会议,开始进行 C++ 国际标准化的工作。从此,ANSI和 ISO 的标准化工作保持同步,互相协调。
--- 1994 年, C++ 标准草案出台。B.Stroustrup 出版了《The Design and Evolution of C++》(简称 D&E)。
--- 1998 年,ANSI 和 ISO 终于先后批准 C++ 语言成为美国国家标准和国际标准。
C#
--- 1998年12月,微软启动了一个全新的语言项目——COOL,这是一款专门为CLR设计的纯面向对象的语言,也正是C#的前身。
--- 1999年7月份,微软完成了COOL语言的一个内部版本。
--- 2000年2月份,微软才正式将COOL语言更名为C#。
---2000年9月,国际信息和通信系统标准化组织为C#语言定义了一个Microsoft公司建议的标准。最终C#语言在2001年得以正式发布。
嗯 嗯 嗯
由于计算机不同的发展阶段、利益、软件开发面对的行业及规模不同,计算机发展的几十年产生了n多的语言。他们之间相互借鉴和学习,不断升级发展。几乎每个语言都拥有自己的funs群和应用热点,很难说那种语言比另外一种好,也很难说一种语言完成不了另外一种语言可以完成的功能。所以,与其说编程语言是计算机的灵魂,不如说程序员才是计算机的灵魂。
最后附上大部分c/c++程序员的第一个程序,希望自己在把他们当作生存工具的同时,也不要忘了编程带给我们的快乐!
#include<stdio.h>
void main(void)
{
printf("HelloWorld!\n");
}