计算机和编程语言、计算机思维方式、为什么是C、简单历史
计算机和编程语言、计算机思维方式、为什么是C、简单历史
计算机和编程语言
计算机解决问题的思想
-
程序是用特殊的编程语言写出来表达如何解决问题的
-
不是用编程语言和计算机交谈,而是描述要求它如何做事情的过程或方法。
算法
- 我们要让计算机做计算1,就需要这样找出计算的步骤,然后用编程语言写下来
- 计算机做的所有的事情都叫做计算
- 计算机的步骤就是算法
计算机思维方式
程序的执行
- 解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
- 编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言(机器语言)写的程序,然后这个机器语言写的程序就能直接执行了。
注意:语言本来没有解释和编译的区别,只是常用的执行方式的区别不一样。解释型的语言具有特殊的计算能力,编译型语言有确定(多次运算的效率都是一样的)的运算性能。(C是编译型的语言,Python语言是解释型的语言。)
过去解释型的语言运行速度比较慢,但是今天的计算机运行速度已经很高,这个问题有时候可以忽略。
为什么是C
其他语言
C在很多场合是无法替代的,比如嵌入式系统,操作系统。现代的语言的语法差异很小,很大程度上都可以算得上是Clike语言。语言的能力/适用领域主要是由库和传统来决定的——对于面向对象的语言来说是类库,对于面向过程的语言来说是函数库,这些库一般有真对某一特定领域(sklearn,numpy)。
简单历史
左边的图是最开始做unix的计算机,当时叫做小型机。
右边图有C的创始人之一,在这个机器上做了unix的一个版本
C语言
C语言是从B语言发展而来的,B语言是从BCPL语言发展而来的,BCPL是从FORTRAN发展而来的
BCPL和B都支持指针间接方式,所有C也支持
C语言还受到PL/I的影响,还和PDP-II的机器语言有很大关系(这使得在高级语言当中的,C显得比较底层)
1973年在第三版的unix上出现了C的编译器
1973年11月,第四版的Unix发布,这个版本的unix完全是用C写的
C的发展与版本
经典C:又被叫做“K&R the C”(圣经级别的语言标准)
1989年ANSI发布一个标准——ANSI C
1990年ISO接受了ANSI的标准——C99
C的标准在95年和99年发生过变化——C95和C99
以上的版本有语法上的差异,也有能力上的差异,C99里面变量可以在任意地方去定义,C99里面变量可以设置为不能修改