你老站在微观角度去谈论宏观的问题。
面向对象本身就是站在一定抽象的高度上的认识。
你从宏观来说物体是物体,你从分子角度来看它是分子,你从原子角度来看他是原子。
你现在站在原子的角度来说这个物体他不是物体,他是原子,你觉得有意义么?
banq很早就说过。不是基础不重要。而是因为这部分已经得到大量的研究,做的足够好了。
算法当然重要,可是难道每次要用算法你就自己实现一遍?难道从底层开发那就叫高手?你怎么不去学汇编?你干嘛要用STL?
基于具体实现的角度去考虑面向对象,我觉得毫无意义。
还有,很讨厌那些没接触过Java就说C++比Java难的。难道你可以说数学比哲学难吗?难道C++人的自豪就是看着指针满天飞吗?
[该贴被damagegod于2007-11-25 18:01修改过]
对于java,它是什么,面向对象的语言,当然要注重oo了,不然还不如用c更好。既然是oo就要学会怎么更好的向上发展,而不是停留在面向过程的时代了。
学习数据结构和算法等当然重要,可是要看在什么上用了。都说那些是基础,当然,多少年前是,可是现在都什么年代了,还抱着那种思想怎么可以。
做电脑的要懂硬件知识,可是用电脑的需要懂吗?oo思想就是让我们像搭积木一样的用代码,不是做积木,不然java也不会封装,难道他们是闲得无聊不成。
oo才是基础,深入才到到面向过程,就像用电视简单,深入就去造电视。
还有的说“一流的企业做文化、做标准,二流的企业做品牌、做产品,三流的企业做项目。”可笑,你玩电脑的时候你是几流的,造电脑的又是几流,那挖矿的就是一流了吗?我看是不入流。“术业有专攻”听过吗?
正因为“术业有专攻”,现在是讨论j2ee,是oo,不是过程,如果说深入,那汇编呢?你们说数据结构和算法最终用什么实现,是语言,什么语言,不会是汇编吧,可是你们用的那些语言能驱动cpu吗?难道你们又要学汇编不成。所以,java包装了,我们就用,更合理的使用才是王道,java的王道。如果说数据结构和算法那就不要在这里说,难道你真的想要面对oo思想说过程吗?那java还封装个什么劲啊!不是自讨苦吃。
注意,说的是java,说的是oo,不懂oo的就去看,不要对我说oo是过程,数据结构和算法那是过程。
思维的层次是绝对的,位置是相对的.只是不同人的观点处于不同思维层次,不同的思维位置.
以什么样的思维去思考世界,反映一个人认识世界,认识自我的,表达自我的的能力.没有东西是错误的,只是它放错了位置.判断标准是思考的内容是否是当前问题的核心因素.
我们学知识的本质是什么,我认为是表达或者是应用!
那么我们在本着以应用为目的的基础上学知识,思维是发散的是自上而下的,就像企业的管理层,是从董事长开是到普通员工的.那么传统教育方式下的自下而上,以量变达到质变的方式,它与以应用为基础的思维方式是分别代表了思维的两个极端,那么它们的融合点在那了?哲学上说的质变引起量变的的另一方式.那就是构成事物的因素在排列顺序上的变化,是内涵上的量变,是事物内部的事!
一个代表外部因素(知识基础).一个代表内部因素(设计模式).就像cpu ,执行与调用.关键是我们什么时候去调用,什么时候去执行.
那天我终于有了答案,玩五子棋,什么时候以链的方式累积成5,什么时候以+的方式去组织灵活的整体的有效布局.除了对方的习惯性思维,还有其不变的规律,量的积累的最大优点是达到3,因此对方2的时候,你就破坏了他成3的可能,之后组织自己棋子的+模式.
所以在知识的学习运用上,什么时候去学基础,什么时候去用.那得看你目前是学,还是用.
知识就像海洋里的水,不怕漂不起你,只怕淹死你!
还好,我们不是白痴!学学公交车,把自己的思维打造成系统级的.
系统级的思维要求我们的最高效的存储模拟内存,把一个应用系统模拟成一个人,那么最常用知识与一般基础知识的区别就是与设计模式的最大关联,当然你的思维是整体性的,很好,那你就做好设计模式,然后你的思维再自下而上,验证模式的合理性,高效性!辩证一下!不断的自上而下,自下而上.整体局部,局部整体!
因此说,单纯的说j2se的重要性,那要看人,你现在为学习而学,好好学吧!
外延量变,五子棋的3的追求.如果你现在是在用,内涵量变,学设计模式吧!
再说一句,当国外大量的知识涨潮了,我们如何适应.它退潮后后,我们如何把握国产.产品,系统,服务.那就是系统的应用市场的广泛性与实用性,以及国内软件人才数量和质量上的突增.以系统为出发点,设计模式好像重要点吧!是正真思维,所谓彻底的软件,而基础的知识更像硬件!
还有设计模式与人的最高效记忆很的关联,记忆一个项目显然比记忆几章轻松的多,项目记多了,头脑里这时是设计模式的关系.因此把学习定位在用的基础上,把用的基础定位在项目的记忆上,这样才保证学的基本上随时可以用上!当然搞软件其核心是思维,但思维不是产品,基础还是要学,关键是学的目标的定位.
个人看法,仅供参考!
适合自己才是最好的!
我很同意学习或解决一件事情,就要理解它,俗话说理解万岁嘛.呵呵.
发表一下自己对这个观点的理解:
如果不使用面向对象的思维,也不使用面向过程的思维,而是使用任何一种不同于此两种思维方式的思维来思考"设计模式"和"数据结构",会得出什么结论呢?
个人以为这从某种角度来说都是一种方法,都是为了解决问题.
同理,面向对象和面向过程也是方法.
只是要选择方法了.
以上全是个人观点.欢迎大家指出错误.
[该贴被huraky于2008-02-21 18:15修改过]
想做计算机应用学家,那就用好JAVA,设计模式,OO
很多人说算法高深,而我认为算法只是学习软件开发的必经之路,但是把算法当作整个软件编程的基础,还远远不够。说白了,算法是很多大师级人物智慧的积累。所谓精通算法不过是花点时间把别人的精华学过来用而已。很少有人能够在现在的排序、查询等经典算法上再进行突破了。从这方面讲可不可以把算法也当作一个对象呢?我们没有能力自己创造出更好的算法,只能把别人的算法拿过来用。其实大学学到的算法在工作的时候很多都忘了,需要的时候才想起来重新去翻书看看,这些基础的学习往往只是让我知道,在某些情况下我会想到用什么算法来应对,我很少会想自己创新的发明一个新的算法,毕竟我没那个能力,就算有能力,我也花不起那个成本。编译原理
很多人说算法高深,而我认为算法只是学习软件开发的必经之路,但是把算法当作整个软件编程的基础,还远远不够。说白了,算法是很多大师级人物智慧的积累。所谓精通算法不过是花点时间把别人的精华学过来用而已。很少有人能够在现在的排序、查询等经典算法上再进行突破了。从这方面讲可不可以把算法也当作一个对象呢?我们没有能力自己创造出更好的算法,只能把别人的算法拿过来用。其实大学学到的算法在工作的时候很多都忘了,需要的时候才想起来重新去翻书看看,这些基础的学习往往只是让我知道,在某些情况下我会想到用什么算法来应对,我很少会想自己创新的发明一个新的算法,毕竟我没那个能力,就算有能力,我也花不起那个成本。
编译原理
完全同意...
面向对象程序设计对算法,数据结构等要求都不高..
只是要懂得里面的原理就OK..