但让我们始终感到有压力的是,软件本身发展很快,从面向对象(OO, Object-Oriented),到面向构件(CO, Component-Oriented)、面向方面(AO, Aspect-Oriented)、面向服务架构(SOA,Service-oriented architecture)、面向SaaS(Software as a service, 软件即服务) 等等。值得我们思考的是,面向对象这一开发思想是否已经走到了发展的尽头?
由“C语言已死”的争论说起
C语言已经死了,5个需要忘却的理由
C以前是非常棒的…那是在1984年的时候。直到今天,那些用C写的新代码都让我感到惊喜…如果你让我比较的话,我觉得C++只是比C稍微好点。如果你想要学些老一点的语言,不妨尝试Forth,Lis,或者APL。这些老式的语言起码能教会你,用不同的而且优雅的方式去思考你的程序。
浅薄与偏见 驳“C语言已经死了”
新生的语言, 必然会在吸收旧的语言上基础上进行改进。看一个语言的生命力, 并不在于看它某些地方存在的不足。事物会发展, 并趋于完善。相信C++0x出来后, C/C++语言又将获得新的生命力。单看Java、C#等几个新一代的语言, 其中有如此多的C++烙印, 就证明了C/C++的影响是巨大的。动不动说一门语言死了, 是一种浅薄。
面向对象编程就一定是正确的?
当我们使用一个工具很长时间以后,我们通常会习惯它,会使用它的方式来思考问题,而不是使用它来帮助物化我们的思维。随着我开始认真的使用函数式程序设计和动态语言来编写代码,我使用的它们越多,就越发感觉到它们使用起来是那么自然。
面向方面的编程:它的好处是什么?
对于好的编程来说,设计模式已经变成了常用的方式。AOP可以给我们一种改进已经存在的模式和发现新模式的方法。实际上,横切关注点代码的注入,就是一种类型的模式。当前,一些研究人员正在评价使用AOP方法的设计模式的实现。
成功实施SOA的七大秘诀
SOA(服务导向架构)与其说是一种技术,倒不如说是一种思维方式,它是一项大胆的基础架构变革,帮我们通过技术和协同工作实现了文化变迁。如今,很多CIO都感受到了SOA的热度,福布斯500强中的大部分企业也都在考虑实施他们的SOA方案。
软件既服务(Software as a Service,SaaS)
SaaS就是一种新的软件价值传递模式:供应商不是交付软件,而是以研发的软件功能向客户提供所需要的服务,同时为客户正常使用服务提供软件的日常维护和技术支持;软件的用户以服务租赁的方式去享用软件的功能。