C语言的历史

简介: C语言的历史。

C语言的前身是B语言,B语言的英文全称是Basic Combined Programming Language,简称BCPL,它是一种早期的高级语言,1967年由剑桥大学的计算机科学家马丁·理察德在CPL语言上改进而来,下面我们聊一聊C语言的进化过程。
CPL是1963年由英国剑桥大学研发的一种编程语言,实际上CPL语言也不是横空出世,它是在ALGOL 60语言基础上发展而来,ALGOL 60采用了结构化程序设计和模块,并提出了函数、递归、巴克斯范式、结构体等现代程序设计思想,可以说ALGOL 60是程序设计语言发展史上的一个里程碑。
ALGOL 60最大的缺点就是缺乏标准的输入输出能力,使用ALGOL 60编写的程序无法兼容不同的计算机外部设备,导致ALGOL 60最终失败。
ALGOL 60并没有随着它的命运一起终结,英国剑桥大学在ALGOL 60的基础上研发了CPL语言,CPL催生了BCPL语言,而 BCPL 语言又进一步发展成为 C 语言。
美国贝尔实验室在1970年对BCPL语言进行了修改和扩充,将修改和扩充的语言命名为B语言,并使用B语言写了第一个UNIX操作系统。1973年美国贝尔实验室对B语言又进行了改进,改进后的语言被命名为C语言,并使用 C 语言成功重新编写了UNIX内核。使用 C 语言编写内核的 UNIX 版本非常稳定,并且具有良好的可移植性,展现了 C 语言与 UNIX 的完美结合及 C 语言在编写系统软件时得天独厚的优势。
重写后的UNIX系统在一些研究机构、大学、政府机关开始慢慢流行起来,并带动了C语言的发展,1978年《The C Programming Language》出版,又进一步推动了C语言的普及。
从70年代开始,C语言被广泛应用,也衍生了C语言很多不同的版本,为了统一C语言版本,1983年美国国家标准局(英文简称ANSI)开始制定C语言标准,标准于1989底完成,在1990年春季发布,这个标准称为“ANSIC”标准,因为该标准在1989完成,因此也称为“C89”标准。
“ANSIC”标准在1990年被ISO采纳为国际标准,称为“ISOC”标准,同时也被称为“C90”标准,ANSIC(C89)和ISOC(C90)内容基本相同,主要区别在于制定C标准的组织不同而已。
1999年ISO对“C90”标准进行了扩充,增加了语言和标准库功能,增强了数值处理能力,该标准被称为“C99”标准,同时该标准在2000年被ANSI采纳。
当前最新的C语言标准是“C11”标准,由ISO制定并发布。
C 语言是一门工程实用性极强的语言,提供了对操作系统和内存的精准控制,编译后的程序运行效率相比Java、Python等语言要高效的多,对理工科学生来说它也是一门必修课。C语言的特点概况如下;
C语言是一种结构化语言,层次清晰,便于模块化方式组织程序,易于调试和维护。
C语言功能强大,程序运行效率高,计算机操作系统一般都由C语言编写而成,如Windows操作系统、Linux操作系统。
C语言数据结构丰富,能实现各种复杂的数据类型的运算,引入指针可以直接操作硬件,把高级语言的基本结构和语句与低级语言的实用性结合起来。
C语言可移植性强。它适合于多种操作系统编程,如Windows、DOS、UNIX、Linux等等,在一种系统中编写的C程序稍作修改或不修改就能在其它系统运行。
C语言允许直接访问物理地址,能进行位(bit)操作,可以实现汇编语言的大部分功能,直接对硬件进行操作,特别适合于编写嵌入式程序和控制硬件的程序。

相关文章
|
安全 Linux 网络安全
手把手教你在centos 7.4上搭建NTP服务器
手把手教你在centos 7.4上搭建NTP服务器
2126 0
手把手教你在centos 7.4上搭建NTP服务器
|
7月前
|
存储 弹性计算 人工智能
2026年阿里云免费试用说明:云服务器等云产品领取指南
阿里云长期推出免费云产品试用体系,覆盖从基础算力到创新工具的全场景需求,为个人开发者、学生及初创企业降低了上云门槛。但免费资源背后存在配置限制、合规要求等细节问题,需结合自身场景理性选择。以下从资源矩阵、使用体验、避坑技巧及适用场景四方面,用通俗语言详细解析,帮助高效利用免费资源。
1574 3
|
4月前
|
存储 缓存 运维
【架构设计】高可用架构设计:SLA可用性指标、集群、副本、异地多活、容灾备份、故障隔离
本文系统构建高可用架构知识体系:以SLA为标尺,集群副本为基石,故障隔离为屏障,容灾备份为兜底,异地多活为高阶形态,并贯穿全生命周期保障。涵盖六大核心原则、N个9量化标准、混沌工程验证及3-2-1备份等最佳实践,强调风险管控、自动可观测与动态平衡。
|
存储 人工智能 自然语言处理
企业AI知识库搭建指南
中关村科金得助智能企业知识库基于AI大模型,支持多格式文档上传与自动解析,具备智能问答、内容生成、精准搜索等功能,助力企业高效构建产品文档、技术手册、FAQ等知识体系。
|
XML 前端开发 Java
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
【4月更文挑战第6天】按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath。xpath 的定位方法, 非常强大。使用这种方法几乎可以定位到页面上的任意元素。xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。
424 0
|
存储 机器学习/深度学习 人工智能
有关云计算应用场景
5月更文挑战第7天
|
数据采集 机器学习/深度学习 数据可视化
最大值归一化介绍
【10月更文挑战第2天】
1408 0
|
供应链 Shell Python
经济订货量(Economic Order Quantity,简称EOQ)
经济订货量(Economic Order Quantity,简称EOQ)