关闭

C语言的发展及其版本

标签: c语言
453人阅读 评论(0) 收藏 举报

注:转载于C语言中文网。

C语言于1972年11月问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,1983年由美国国家标准局(American National Standards Institute,简称ANSI)开始制定C语言标准,于1989年12月完成,并在1990年春天发布,称之为ANSI C,有时也被称为 C89 或 C90。


C语言之父——里奇

在学习C语言之前,我们先了解一下C语言的历史。

C语言是一门通用的,模块化,程序化的编程语言,被广泛应用于操作系统和应用软件的开发。由于其高效和可移植性,适应于不同硬件和软件平台,深受开发员的青睐。

C语言早期发展

1969-1973年在美国电话电报公司(AT&T)贝尔实验室开始了C语言的最初研发。根据C语言的发明者丹尼斯·里奇 (Dennis Ritchie) 说,C 语言最重要的研发时期是在1972年。

说明:丹尼斯·里奇(Dennis Ritchie),C语言之父,UNIX之父。1978年与布莱恩·科尔尼干(Brian Kernighan)一起出版了名著《C程序设计语言(The C Programming Language)》,现在此书已翻译成多种语言,成为C语言方面最权威的教材之一。2011年10月12日(北京时间为10月13日),丹尼斯·里奇去世,享年70岁。

C语言之所以命名为C,是因为C语言源自Ken Thompson发明的 B语言,而B语言则源自BCPL语言。

C语言的诞生是和UNIX操作系统的开发密不可分的,原先的UNIX操作系统都是用汇编语言写的,1973年UNIX操作系统的核心用C语言改写,从此以后,C语言成为编写操作系统的主要语言。

K&R C

1978年,丹尼斯·里奇(Dennis Ritchie)和布莱恩·科尔尼干(Brian Kernighan)出版了一本书,名叫《The C Programming Language》(中文译名为《C程序设计语言》)。这本书被C语言开发者们称为“K&R”,很多年来被当作C语言的非正式的标准说明。人们称这个版本的C语言为“K&R C”。

1988年丹尼斯·里奇(Dennis Ritchie)和布莱恩·科尔尼干(Brian Kernighan)修改此书,出版了《The C Programming Language》第二版,第二版涵盖了ANSI C语言标准。第二版从此成为大学计算机教育有关C语言的经典教材,多年后也没再出现过更好的版本。

ANSI C 和 ISO C

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

为统一C语言版本,1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,来制定C语言标准。1989年C语言标准被批准,被称为ANSI X3.159-1989 "Programming Language C"。这个版本的C语言标准通常被称为ANSI C。又由于这个版本是 89 年完成制定的,因此也被称为 C89。

后来 ANSI 把这个标准提交到 ISO(国际化标准组织),1990年被 ISO 采纳为国际标准,称为 ISO C。又因为这个版本是1990年发布的,因此也被称为C90。

ANSI C(C89) 与 ISO C(C90)内容基本相同,主要是格式组织不一样。

因为 ANSI 与 ISO 的C标准内容基本相同,所以对于C标准,可以称为ANSI C,也可以说是ISO C,或者 ANSI / ISO C。

注意:以后大家看到 ANSI C、ISO C、C89、C90,要知道这些标准的内容都是一样的。

目前,几乎所有的开发工具都支持 ANSI / ISO C 标准。是C语言用得最广泛的一个标准版本。

C99

在ANSI C标准确立之后,C语言的规范在很长一段时间内都没有大的变动。1995年C程序设计语言工作组对 C语言进行了一些修改,成为后来的1999年发布的 ISO/IEC 9899:1999标准,通常被成为C99。

但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的時候,微软和Borland却似乎对此不感兴趣。

说明:GCC(GNU Compiler Collection,GNU编译器集合)是一套由GNU工程开发的支持多种编程语言的编译器。

综上所述,目前广泛使用的C语言版本是 ANSI / ISO C,最经典的C语言教材是《C程序设计语言(The C Programming Language) 第二版》。


C语言版本更迭史

C语言对其它语言的影响

很多编程语言都深受C语言的影响,比如C++(原先是C语言的一个扩展)、C#、Java、PHP、Javascript、Perl、LPC和UNIX的C Shell等。

0
0
查看评论

【补充】C语言的发展及其版本

如果您是一名入门学者,或者您还不理解什么是编程语言,请查看:什么是编程语言。 如果您之前未接触任何编程语言,或者您不理解为什么学习C语言,请查看:为什么C语言是首选。 C语言于1972年11月问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,1983年由美国国家标准局...
  • czg13548930186
  • czg13548930186
  • 2017-07-07 11:06
  • 511

C语言的发展及其版本

如果您是一名入门学者,或者您还不理解什么是编程语言,请查看:什么是编程语言。 如果您之前未接触任何编程语言,或者您不理解为什么学习C语言,请查看:为什么C语言是首选。 C语言在19世纪70年代初问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,后由美国国家标准...
  • u014673881
  • u014673881
  • 2014-04-12 11:57
  • 265

C起源及发展

C的发展史: 1958年出现ALGOL1963年剑桥大学退出CPL(Combined Programming Language)1967年剑桥大学Matin Richards退出BCPL1970年贝尔实验室Ken Thompson在BCPL的基础上改进了B语言1972年贝尔实验室D.M.R...
  • chen_chen__
  • chen_chen__
  • 2015-09-04 15:54
  • 768

C语言的发展史(The Development of the C Language)

The Development of the C Language*  Dennis M. Ritchie Bell Labs/Lucent Technologies Murray Hill, NJ 07974 USA dmr@bell-labs.com 不满足网上的译文,yqj2065...
  • yqj2065
  • yqj2065
  • 2013-05-18 15:48
  • 2596

C语言、编程语言发展史

以铜为鉴,可正衣冠;以古为鉴,可知兴替;以人为鉴,可明得失。 了解和学习一门语言、一个系统乃至方方面面的任何东西时,如果不知道其历史和现状而只是一上来就一味地闷头苦学,你就很容易“一叶障目不见泰山”。这样火急火燎的就上手苦干,私以为大错特错,所谓“学而不思则罔”。当然,上手苦干也是之后的很重要的部分...
  • u010297957
  • u010297957
  • 2016-05-01 12:07
  • 12155

C语言的发展史-2

接C语言的发展史1   原文 The Development of the C Language yqj2065自己翻译一下。备用。
  • yqj2065
  • yqj2065
  • 2013-06-03 00:13
  • 2340

C语言发展史

C语言发展史   1、第一个编程语言比现代的计算机还早诞生。首先,这种语言是种编码(en:code)。于1801年发明的提花织布机(或称甲卡提花织布机,英文:en:Jacquard loom),运用打孔卡上的坑洞来代表缝纫织布机的手臂动作,以便自动化产生装饰的图案。   Ada...
  • LiuJiuXiaoShiTou
  • LiuJiuXiaoShiTou
  • 2016-09-24 23:12
  • 862

C语言的发展史-3

C语言的发展史1    C语言的发展史-2 原文 The Development of the C Language 不满足网上的译文,yqj2065自己翻译一下。备用。【】是译注、补充。 C初生 在本语言取名后,快速地变更不停,例如&&和||操作...
  • yqj2065
  • yqj2065
  • 2013-06-06 14:24
  • 3416

[1]Go语言历史概览

Go语言的前身是Limbo,Limbo是用于开发运行在小型计算机上的分布式应用的编程语言,他支持模块化编程,编译期和运行时的强类型检查,进程内基于具有类型的通信通,原子性垃圾收集和简单的抽象数据类型。他被设计为:即便是在没有硬件内存保护的小型设备上,也能安全运行。 贝尔实验室从20世纪80年代开始...
  • baobeijuzi
  • baobeijuzi
  • 2015-02-02 22:57
  • 671

做c语言的码农专业发展方向

写了几年C语言代码,最近在思索,何去何从比较好? 搜索了一下,发现几个答案: 2015年10月编程语言排行榜 丢开C语言在教学应用外。在目前C语言的实际应用中。常见的应用的情景有如下: 内核/驱动,bootloader,Android HAL驱动和Linux库。前两者其实跟应层打交道比较多,...
  • Macro_code
  • Macro_code
  • 2015-11-02 11:10
  • 1940
    个人资料
    • 访问:448999次
    • 积分:8774
    • 等级:
    • 排名:第2618名
    • 原创:324篇
    • 转载:12篇
    • 译文:89篇
    • 评论:118条
    【目录索引】

    闲适音乐

    博客专栏
    最新评论

    Email: 457086306@qq.com