1. MULTICS——庞大计划的构想
二十世纪六十年代,贝尔实验室、麻省理工学院及美国通用电器公司共同参与研发,合作开发出一套安装在大型主机上的分时、多用途、多用户的操作系统。
这个操作系统被称为“多任务信息与计算系统”(Multiplexed Information and Computing System),简写为MULTICS。
1969年,因MULTICS项目的工作进展缓慢,最后终究遭裁撤的命运。隶属于美国电话及电报公司的贝尔实验室由此退出此项目。
2. UNIX——项目成员的坚守
曾经参与过MULTICS项目的成员——汤姆森(Ken Thompson) 与里奇(Dennis Ritchie)并没有轻易放弃,他们仍然坚守在贝尔实验室内,希望开发出一款全新的操作系统。
汤姆森与里奇受到Multics的启发,将许多Multics中的功能在新的操作系统中重新实现。经过不懈努力,第一个版本的操作系统最终诞生。
此版本的操作系统因为最多只能支持两个用户,经常被人戏称为:“不完善的Multics系统”(UNiplexed Information and Computing System),缩写为“UNICS”。
然而,在操作系统第二次重大升级后,它真正做到了支持多人同时使用。克尼汉(Brian Kernighan)提议将它的名称从“UNICS”取谐音改为“UNIX”。这便是名声赫赫的UNIX操作系统的诞生故事。
3. C语言——高级语言的诞生
时间转动至1973年,汤姆森与里奇不断尝试将UNIX移植到不同的硬件平台上。
可是他们渐渐察觉,使用汇编语言编写的操作系统,想要进行移植却异常令人头疼。
因此,汤姆森和里奇想要完全颠覆过往,在对UNIX操作系统进行第三版重大升级中,使用高级语言进行编写。
二十世纪七十年代,当时还是汇编语言的天下,几乎所有人都完全以汇编语言进行开发程序,可想而知他们的想法在其他人看来是有多么疯狂。
最开始,汤姆森与里奇想尝试Fortran(世界上第一个被正式推广使用的高级语言),但结果令人失望。
后来,他们使用了BCPL(Basic Combined Programming Language)语言进行开发,并且整合了BCPL,产生出了B语言。
但是,经过一段时间,里奇认为B语言依旧不能满足要求,于是改良了B语言,成功研发出了至今依旧大名鼎鼎的高级语言——C语言。
汤姆森与里奇成功地利用C语言,重写了UNIX的第三版内核。
至此,UNIX这个操作系统无论是修改还是移植都已经相当便利,这也为日后UNIX的普及打下了坚实的基础。
C语言的诞生离不开UNIX操作系统的发展,而UNIX操作系统的繁荣也离不开C语言的辅助。
UNIX和C语言更像是一整块磁铁,牢牢地吸引着对方,结合成为一个完美的统一体。
4. K&R——C语言的第一个非正式标准
1979年,里奇和克尼汉合著出版了一本C语言权威著作。第一次用出版物的形式,全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。
这个版本的C语言通常被称为K&R C。
5. C89——C语言的正式标准
1982年,美国国家标准委员会(ANSI)认识到,对C语言进行标准化有助于C语言在商业编程领域得到更广泛的使用。
于是成立了委员会,着手制定C语言机器运行时函数库的标准。
这个委员会成功地制定了C语言标准,并于1989年被采纳为《美国国家标准X3.159-1989》,或称为ANSI C。
在完成ANSI标准后,国际标准化组织(ISO)只对ANSI做了少量编辑性修改,便把它转换为《国际标准ISO/IEC 9899:1990》。随后,ANSI也采纳了ISO/IEC标准。
由于美国国家标准委员会于1989年采纳该标准,所以这个版本通常叫做C89。
6. 后续版本——C语言的发展之路
C89版本后,还有C95(1995年),C99(1999年),C11(2011年)这几个更新修订版本。
7. C++——C语言的孪生兄弟
C++语言是20世纪80年代早期由Bjarne Stroustrup在贝尔实验室设计的。
当软件系统越来越庞大时,仅仅使用面向过程的编程风格不能很好地满足程序编写的要求,这时候C++的诞生很好地弥补了C语言的缺陷。
C++既保留了原有C的大部分语法,又加入了面向对象编程等风格的支持,使得C++受到了越来越多人的喜爱与追捧。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.