1、计算机作为机器的一种,其硬件在早期由存储器、加法器、乘法器组成,与硬件对应着有一套用于计算的指令集。
*指令是和硬件相对应的(不同的硬件会有不同的指令集),硬件必须确保指令能完成既定的工作,因此,指令需要有明确的含义。
*硬件设计细节在指令中体现的越是明显,指令的效率往往越高,但进行程序设计时就越复杂。
2、软件需求的快速增长以及硬件成本的极速下降,设计目标从最初的效率转变为易于扩展------(改编程序员与机器沟通的语言)
*新语言应反应所要解决问题的结构,而不再是反应底层硬件设计的细节和算数运算。
*新语言虽易于解决问题,但底层硬件却只能识别并执行其即有的那套指令集,因此,需有一转换工具完成这一转接工作(即为编译器)。
*这一阶段以面向过程的编程语言为主。
3、软件规模的极速膨胀,使得对软件的理解愈发艰难,引发了软件设计理念的突转(面向对象开发)*面向对象理念将程序构建为称作对象的单元,各单元之间通过消息传递进行合作(在编程语言的本质上就是函数的调用)
*程序的设计也划分成了两部分:类的设计者和类的使用者。
编程语言虽有百千种,但每种语言都是针对某种应用需求而诞生的,因此其作为一种解决问题的工具也有一定的局限性,此外,语言塑造了我们的思考方式,“也决定了思考的内容”
新闻热点
疑难解答