程序设计语言的发展分为三个阶段:第一代机器语言、第二代语言和第三代高级语言。
第一代机器语言(01)计算机只能识别01,音乐、视频、图片的保存形式都是01代码,CPU只能执行01代码。枯燥且难以记忆。
第二代语言(汇编语言)将01代码翻译成英文单词。
第三代语言(1980年前结构化语言+1980年后面向对象语言),结构化语言:Fortran(科学计算)、Basic(比尔盖茨喜欢、后改名为VB)、C(最重要)、Pascal(用于教学)。缺陷:数据和操作是分离的,所以写大项目的时候会出现各种莫名其妙的问题。
面向对象语言:Algo、Simula67、Ada、SmallTalk、C++(最复杂)、Java(C++改装)、C#(微软写的和Java差不多的语言)。
举例:
高级语言:a+b
汇编语言:ADD AX,BX
机器语言:0000 0001 1101 10000
执行速度:机器>汇编>高级(C>C++>java/C# )
java和C#流行的原因是它们在任何机器上都可以运行,且运行结果一样。
语言发展史
ALGOL60语言是真正的第一个面向问题的语言,离硬件比较远。CPL:剑桥和伦敦大学,离硬件比较近,但功能不够强大。进一步强化:BCPL(B-basic)。B语言的创始人,用B语言写出了世界上第一个操作系统Unix(系统很稳定,常用于大型商务机、如银行)。C语言创始人是B语言创始人的同事,都在贝尔实验室,C是对B的改写和扩充。两人合作制作了Unix的第五版。当时操作系统是免费给大学、军工用于研究的,在各工程师使用和改进的过程中,促进了C语言的流行。
C++的创始人是C语言创始人的一个下属,同属贝尔实验室。
函数和指针是C语言中最重要的两部分。