第1个回答 2012-08-06
C,fortran等较早的高级语言因为应用环境简单,系统规模较小采取的是面向过程的思路。
总体来说你首先思考的是该干什么,关键字是动词。比如起床、刷牙,吃饭,然后上班。
之后随着系统复杂性提高,C++,java等高级语言,采取了面向对象的思路。
总体来说你首先思考由谁去干,关键字是名词。比如我的生活。然后我具有一些属性,比如能够睡觉,能够清洁,需要饮食,需要工作。之后去调用。我.起床,我.刷牙。
你也可以看出来,这个过程并不是对立的。在面向对象的思路中依然会需要面向过程的思路解决局部问题。不过他可以更好地重用代码。
此外还有lisp等用于工业设计语言的功能型编程范式。究竟采取哪种范式来编程看你解决问题的规模和需求。本回答被提问者和网友采纳
第3个回答 2012-08-01
面向过程关注的是过程,也就是完成一件事,要经过那些步骤,使用那些算法。面向过程的关键就是算法。缺点是必须用计算机的术语来描述我们的问题,而且设计的系统难以维护,最严重的缺点是很难编写大型的应用程序。面向过程就像物理运行学一样只关注过程,不关注研究对象。面向对象在吸取面向过程的优点的同时改变思维方向,与面向过程不同的是面向对象关注重点的是对象,即系统由那些对象构成,行为动作的执行者是谁,承受者是谁。就像物理的应用动量守恒定律一样首先是选择研究对象,然后研究这些对象的相互作用,最后得出结果。应用对象技术,一个系统的复杂性被分解到一些相互协作的对象之上,然后再将这些对象作为系统,再分解,直到分解到我们能够很容易处理的对象为止。应用对象技术使得系统很容易修改维护系统(如果另外一个更优秀的对象能提供某对象的功能,那么此对象就可以取代某对象)。面向对象技术利用对象作为基本粒子来构建系统,所以我们可以利用现有的对象来构建更大的对象,不必重新设计,这使得我们可以用最小的代价构建系统。对象的思象也就是人们通常认知世界的思想。