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)操作,可以实现汇编语言的大部分功能,直接对硬件进行操作,特别适合于编写嵌入式程序和控制硬件的程序。

相关文章
|
安全 网络安全
华为防火墙原来是这样应对多个运营商接入互联网的,涨知识了
华为防火墙原来是这样应对多个运营商接入互联网的,涨知识了
1029 0
|
3月前
|
存储 人工智能 自然语言处理
企业AI知识库搭建指南
中关村科金得助智能企业知识库基于AI大模型,支持多格式文档上传与自动解析,具备智能问答、内容生成、精准搜索等功能,助力企业高效构建产品文档、技术手册、FAQ等知识体系。
|
安全 Linux 网络安全
手把手教你在centos 7.4上搭建NTP服务器
手把手教你在centos 7.4上搭建NTP服务器
1626 0
手把手教你在centos 7.4上搭建NTP服务器
|
SQL Java 应用服务中间件
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
这篇文章是关于如何使用SSM框架搭建图书商城管理系统的教程,包括完整过程介绍、常见问题解答和售后服务,提供了项目地址、运行环境配置、效果图展示以及运行代码的步骤。
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
|
12月前
|
数据采集 机器学习/深度学习 数据可视化
最大值归一化介绍
【10月更文挑战第2天】
764 0
|
12月前
|
SQL 数据处理 数据库
SQL语句优化与查询结果优化:提升数据库性能的实战技巧
在数据库管理和应用中,SQL语句的编写和查询结果的优化是提升数据库性能的关键环节
1097 0
|
监控 Java 数据库连接
解决Spring Boot中的数据库连接池问题
解决Spring Boot中的数据库连接池问题
|
API 开发者 Python
API接口:原理、实现及应用
本文详细介绍了API接口在现代软件开发中的重要性及其工作原理。API接口作为应用程序间通信的桥梁,通过预定义的方法和协议实现数据和服务的共享。文章首先解释了API接口的概念,接着通过Python Flask框架示例展示了API的设计与实现过程,并强调了安全性的重要性。最后,本文还讨论了API接口在Web服务和移动应用程序等领域的广泛应用场景。
|
应用服务中间件
Tomcat日志中文乱码
通过以上步骤,你可以在Tomcat日志中解决中文乱码问题,确保日志以UTF-8编码输出。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
212 4