1、困境
上一章在分析的关于面向过程编程的思维所面临的困境,还有一篇文章可以给大家参考。在去年三月份的时候,我就打算写一些对于OO的反思,但是觉得自己思考尚且不够成熟,因此没有勉强,当时的文章现在可以在Javaeye看到。思考软件开发(1)——面向对象的前前后后
这篇文章其实只分析到了面向过程的困境,可以和前面我写的那两个比喻相互参照。而两篇文字要表达的含义是一致的:“需要一个超越于机器执行层面的的认识。”或者说,不能仅仅以“解空间”的语言描述解决方案,最好能够以“问题空间”的语言描述解决方案。这是OO得以流行的真正动力,因为OO宣称自己能够更好的描述“真实世界”。
注意我要区分的几个概念:“解决困境的努力”、“困境的根本原因”、“OO所宣称的目标”、“OO实际达到的效果”。因为在以往的OO的宣传中,这些概念是一个有机的整体,而却认为,其中有诸多“断裂破碎”之处。
面向过程的编程,面对的困境其实相当多,最根本的原因前面也已经指出了。但是在当时,在具体的项目中,在特定的人看来,他们碰的,是各自不同的问题。在人工智能领域,在图形化界面领域,面对的是模拟的问题。在企业应用领域,面对的是数据访问与保护的问题。从共同的困境来看,适应变更,方便重用,系统健壮之类的要求,也是需要考虑的。
2、概念的发展历程
首先声明,这是一个假想的历程,并非真实的历史。真实的历史,可以参考以下URL中的介绍:
http://www.student.chula.ac.th/~46829016/history.htm
http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html
http://tech.csai.cn/uml/rjkf.htm
模拟:模拟的概念由来已久,但是如何模拟却是一个大问题。
抽象数据类型(ADT):在对结构(structure)进行简单的扩展之后,ADT就顺理成章的出现了。
封装:对于ADT的理论总结可以表述为“封装带来了数据的安全性”。
继承:一堆不能重用的代码是“罪恶”的。继承首先出来试图解决这个问题。
多态:是一个意外的收获,如果各个对象都提供同一个名字的方法,似乎就可以不去管他们的区别。
在这些努力与尝试之后,面向对象横空出世,从哲学的高度总结了这些努力:“你们都是正确努力的一部分,你们都在试图更好的描述真实世界,真实的世界里一切都是对象,所有的对象在一个分类系统里各安其位,对象之间通过消息相互‘招呼’。应用OO思想,描述真实世界的运行,就是编程的主要工作。”
但是事实上呢?编程并不是描述真实世界!而是描述需求世界。不同的需求世界,需要不同的“世界观”。这一点,面向对象并没有考虑到。当时流行的思想是通用编程语言,使用一种语言解决世界上所有的开发难题。而要整体解决各不相同的开发难题,只能将目光投向“真实世界”,那是各个差异巨大的“问题空间”的唯一一致的背景。
(未完待续)
分享到:
相关推荐
20210509-信达证券-化工行业:敲响轮胎消费时代的钟声!.pdf
化工行业:敲响轮胎消费时代的钟声!.pdf
化工行业:敲响轮胎消费时代的钟声!(30页).pdf
化工行业:敲响轮胎消费时代的钟声!(2021)(30页).pdf
Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。 ...
Android 应用开发揭秘 ...以Andorid和iphone手机为代表的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G 4G)已经来临,谁会成为这些移动设备的主宰?毫无疑问,它就是Android--PC时代的Windows!
的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G时代)已经来临,谁会成为这些移动设备上的主 宰?毫无疑问,它就是Android——PC时代的Windows! 移动互联网还是一个新生的婴儿,各种移动设备上...
图片购物搜索淘淘搜:敲响美丽说们的丧钟?.docx
然而,以android和iphone手机为代表的智能移动设备的发明却敲响了pc时代的丧钟!移动互联网时代(3g时代)已经来临,谁会成为这些移动设备上的主宰?毫无疑问,它就是android——pc时代的windows! 移动互联网还是...
敲响希望的警钟-读《小学生时代》有感1200字_小学生读后感精选.doc
电子行业深度报告:5G对电子板块的影响研究(二):PCB设备已经敲响的5G投资时钟.pdf
航运网络安全敲响警钟.pdf
勒索病毒敲响网络安全警钟.pdf
敲响食品安全警钟作文例文.pdf
“断网”敲响网络安全警钟.pdf
小学数学数学故事思维乐趣钟铃敲响
电动汽车给石油公司敲响警钟.pdf
梅州污水事件敲响PCB行业警钟.pdf
敲响防火警钟的五大措施方案.docx
这家研究所的联合创始人Max Tegmark,是来自麻省理工学院的物理学家和人工智能研究员,《生命3.0在人工智能时代成为人类》一书的作者。 他正是带头公开信呼吁暂停 6 个月训练GPT-4等大型 AI 实验的关键人物。 在最新...