快速业务通道

冒号和他的学生们(连载22)——抽象思维 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

冒号和他的学生们(连载22)——抽象思维

时间:2011-07-03 BlogJava 郑晖

22.抽象思维

是谓无状之状,无物之象,是谓惚恍               ——《老子·道经》

冒号健步走进教室,学员们立刻正襟危坐,进入战备状态。

“如果说咱们是在合演一场戏,那么前面五节课只是一个过门。”冒号俨然一副自导自演的架势。

众人暗暗吃惊:这过门也忒长了点吧。

冒号随即探问:“还记得在范式总结中提到的迭代学习法吧?”

引号迅速应答:“就是在具体知识与抽象理论之间做折返跑。”

“记性不错。”冒号赞道,“在上本班之前,你们已经具备了一定的编程语言的基础,因此我们先从抽象的编程范式谈起,此后又回归到编程语言的讨论。”

句号推测:“照此逻辑,下面我们将再次返回编程范式?”

“我们的确要来个For Loop,但相信这是一个增量式的循环。”冒号用编程语言来强调他的学习理论。

逗号有些失望:“按计划不是该对Java语言作专题讨论吗?”

“你放心,Java它跑不了。”冒号看出他的心事,“语言是形,范式是神,这次我们将二者融合,争取做到形神兼备。具体地说,范式以OOP为主,语言以Java为主,同时可能涉及C、C++或C#等语言。另外,示例代码也会明显增多。”

逗号脸上的一抹乌云顿时消散开来。

冒号接着提醒道:“不过,秉承开班发言中的理念,我们的重心不在知识的枝节,而在知识的本源。因此无论讨论Java还是OOP,我们不追求系统和全面,但力求从不同的选点、角度和深度来展示知识的活性。”

讲到此处,冒号冷不丁提问:“程序员最重要的能力是什么?”

众人的答案五花八门:学习能力、逻辑思维能力、解决问题能力、专注力、沟通能力等等。

“毫无疑问,你们所说的都很重要。这本是个见仁见智的问题,我只是借此展开今后的话题。在我看来,抽象思维能力是最重要的。当然,不独计算机领域,其他科学同样需要这种能力。更广泛地说,抽象是人类认识和描绘世界最首要的工具。”不知不觉冒号又走上了形而上的路线。

叹号这时想起:“前面谈切面范式时,似乎专门提到过抽象与分解的重要性。”

“我们也曾提到,不同的范式正是对软件进行了不同角度的抽象和分解。”冒号加以补充,“那么什么是抽象呢?不妨概括为:去粗取精以化繁为简;由表及里以异中求同。再精炼些,抽象就是作减法和除法。”

问号半信半疑:“减法好理解,通过甄选减去非本质和不重要的部分,即去粗取精。可除法呢?”

句号忽然悟道:“透过现象看本质,发现不同事物之间的相同之处,即异中求同。同类归并,那就是除法了。”

冒号进一步解释:“用离散数学或抽象代数的语言来说,通过抽象而产生等价关系以及相应的等价类,便是集合的商运算。”

逗号嘀咕:“本来快明白了,经这么一描述,重新糊涂了。”

冒号笑道:“如果嫌数学语言高深,就用算术语言吧。乘法可看作同类复制,作为逆运算的除法自然是同类归并了。”

逗号眼中的迷惘渐渐散去,若有所悟:“嗯,经过减法和除法,大数变小数,复杂变简单。”

“能否把抽象说得再具体些?”问号话一出口便自感悖论之嫌:抽象的能具体吗?

冒号自明其意:“首先,抽象有角度之分。相同的实体(entity)经过不同角度的抽象,得到的模型(model)也会不同。就拿人这个实体来说,在拓扑学家眼里是三维连通集合,在理论力学家眼里是质点,在化学家眼里是碳水化合物——”

叹号接嘴:“在情人眼里是西施。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号