打卡 002刘乃业 20180422 13/100
书名:《冒号课堂》
作者:郑晖
用时:60分钟
输出:
评论语言的优劣,如同争论兵器高下,撇开使用的主体,都是空谈。兵器没有高下之分,人使用兵器才有高低之分。尺有所短寸有所长,高手使用不同的兵器都能展现出兵器的长处。
提出并回答如下5个问题:
1:语言好坏的标准是什么?
本书给出的答案是:语言的流行度不是评判语言好坏的唯一指标,好的语言是适合编程者,并能解决问题的语言。解决问题我可以理解,但是怎么算适合编程者,本书作者并没有详细说明。只是举了赵云如果把兵器改为锤子,那么武力大打折扣的例子,来说明”适合“这个抽象词。例子很鲜明,但是无法和编程联系起来。
后面又提出了”如何判断一种语言是否适合自己,是否适合解决问题“这个问题,这正是我想问的问题,作者又说了要想做出选择,那么必须先了解,不然怎么知道兵器称不称手、合不合用?接着引出了计算机语言的发展历程。
通过上面一段话,我想到了,不只语言需要了解,学习一个框架,认识一个新事物也是同样的道理,先了解,知道使用环境,适用范围后才能做判断。
2:计算机语言的发展经历了哪几个阶段?
(第1代)机器语言:0和1
(第2代)汇编语言:汇编器
(第3代)高级语言:编译器和解释器
(第4代)面向问题语言:不通用,局限于特定领域
(第5代)人工智能语言:重目标轻过程、重描述轻实现
3:第四代、五代语言与前三代相比,有什么不同?
重目标轻过程、重描述轻实现
4:什么是低级语言和高级语言?它们各自的特点与应用范围是什么?
机器语言和汇编语言属于低级语言,其他的为高级语言。
高级语言特点:离机器语言更远,离人类语言更近,跟容易读写、调试、维护,安全性、通用性和移植性更强,开发效率更高,更加抽象和宏观。但是运行速度和效率下降,用法和功能上局限性大。
低级语言特点:和高级语言相反的特点。
低级语言应用范围:嵌入式系统,如操作系统、编译器等,对性能、效率极为敏感的软件开发。
学习低级语言的好处:对于深入了解计算机内部运行机制、调试软件和改进程序都有帮助。
5:为什么C语言是中级语言?
C语言同时有高级语言和低级语言的特性,所以称为中级语言。中低级语言更适合中小型或底层应用,高级语言更适合大型应用。
如何判断一种语言是否适合自己,是否适合解决问题?我还没找到答案,作者还在帮我们了解各个语言。