zjlzjlzjl

我实在看不过你在胡扯。。 如果你明白 GangOf4 一直提倡的 "dont reinvent the wheel" & "reuse" 的重要性,你就明白oo在软件设计的重要性而不是你所谓的j2se基础, 前人都希望避免我们后代走他们的弯路。 现在的软件的scale越来越大,不再是one man show的时代, 很多时候black box coding 就是不想我们走到最低的基础的层面上, 而是允许很多人在一个比较高的层面上便捷地开发软件。 何况即使你掌握了所有的基础,你也不会去推翻这些基础, 举例 不会去把轮制成四方形的。

搞研发的自然要走到基础的层面,但是如果对企业,盈利高于一切,那么oo的实施可以大量地减低维护成本, 演唱一个软件的寿命期。 如果你也明白time to market , just in time 的企业策略,你所谓的基础不是每一位从事软件开发的人员都必须掌握的。

我发现我来J道90%是冲BANG老师来地。为什么?我从事研发三年现在做到PM才真理解到BANG老师说的很对我和他的感觉很像而我不客气的说就是你们这些新手自己老是觉得自己有道理但你实践过吗?我也得承认某一个观点不一定完全对而有其特有的场景。软件是啥?软件不就是用的吗说白拉咱们现在都是做应用开发的有几个是做数值研究的?我写代码无论是。NET 还是 JAVA我的API知道的都不如你多我承认可是我关注的是设计模式软件整体的协调。还有做软件其实是做工程是项目既然是项目就要有妥协不可能是完美的请摆脱学校留给你地完美注意吧否则会走弯路的。
哇哈哈哈。。。
碰撞,冲突,融合,进步。。。

学习算法,让我更聪明,学习能力更强,
学习oo,让我思维更广,解决问题能力更强,感觉软件设计的思维更正常,更简单,更符合人类的正常思维。

软件的设计是要符合一般人的正常思维,这可能就是说的计算机系统是领域(现实世界)的拷贝,不走样的拷贝。 ---- 这是我个人最喜欢的。


今天一大早就看了这个贴。
我是今年刚毕业的,专业 计算机科学与技术, 学了一点bang大哥说的成为‘绊脚石的’,zjlzjlzjl说的‘基础’,也学了一点 oo,学了一点java,学了一点设计模式。没感觉到冲突,觉得每样知识都在增长我的能力,只是增加的方面不同而已。可能我学的层次太浅。

我也看了几篇bang大哥的贴和见解,很是佩服,很想有机会跟bang大哥学习。但我不知道我如果不学那些‘基础’能不能行,能不能有现在的再学习能力,因为我已经学了。而且我感觉我的思维广了。

也是从进来J道后我才觉得这个领域是我的爱好,我把它当成我的乐趣,我想追求它。所以也得谢谢bang大哥。
bang大哥对这个行业的贡献大家是有目共睹的,但是不是层度高到一定程度的人容易‘自以为是’(自己的知识,自己的见解)才是最好的。我并不以为然,学得更多,也会更容易接受别人。 心会更广。

但我也赞成zjlzjlzjl的有些观点。也赞成bang大哥的观点。也有两个都不赞成的观点。哈哈。。。

碰撞是为了融合。。。

以上是一个刚受完中国传统教育 大学本科刚毕业的人看了你们这么精彩的辩论的个人观点。
学习学习。。。

我也不记得J2SE里面某些API了,呵呵
但用的时候查查就可以了,而软件思想才是灵魂,不可能查查就能理解透的,要运用得好,那得有功底,初学者大多 喜欢背完J2SE,当然面试一般软件程序员够了,但要面试高级的,怕就少了

首先我给程序员分三个阶段:
一般程序员---->优秀程序员---->架构师

先声明我的观点:我非常同意transient所说的,也很明白Banq老师想要表达的思想.
你所说的数据结构,算法....当然很重要,熟练使用J2SE,J2EE的API更不用说了.还有很多基础知识,这些都是一般程序员日常使用必备的技能.
使用这些技能做了几个项目后,就会有别的想法.如何从一般程序员过度到优秀程序员,现在还不敢说架构师,那就要学习更深层的东西.如如何很好的搭框架,如何很好的运用设计模式,如何建模等有深度的技能.我编程一年一个月,做过两个项目.我认为我几乎接近优秀程序员的层次了(不只我这么认为,没有炫耀的意思).但还有一些想不明白的地方.
无意间来到这里.所有的困惑都突然明朗.

这是我发现讨论Java最有深度的论坛之一.

Jdon不愧是中国程序员的布道者, 但是版主也有他不得不的局限. 因为他要兜售他的主义,美国人是不可能会说共产党的好处的,即使他知道也不是一点好地方没有,那么美国主义和共产党主义哪个好呢? 如果套用神七回家的英雄说"各有各的美妙之处",不知道大家是否认可?可为什么不能选两者的好处, 共同努力呢?

Coolyu0916 和banq 我认为都是牛人, 本来想叫"大师"的.
但是banq心胸不够开阔, 但banq对中国软件界的贡献从目前露出来的情况来说,比 Coolyu0916大的多. 盼望两位先行者共同为我们指引一些方向.


仅个人以为.

就我自己对于banq老师理论的理解,我认为需求现行才是王道,框架本也就是大量雷同需求来的东西。
国外什么图灵奖获得,那都是先有了问题回头再去研究解决的办法,有谁见过一个纯数学家能得图灵的吗,要也是别人发现了问题找数学家合作分析的结果。
一个程序员太过于沉溺与算法不就成了数学家,还叫什么程序员,我觉得banq老师的理论就是那句话“语言,语言,先语后言”,而中国现在的教学正好是先言后语,当然中国模式下也有学得好的,但是作为科学是不是应该研讨的是哪种东西更适合大多数人,或者说更科学,而不是有没有人能做到。
纵观古今大家,谁不是博众家之长,才能成为一代宗师,而专精一门闭门造车的纵能有成也就是大师,和宗师还是有区别的。
所以我就现在而言,个人很支持banq老师的说法。
本人入行不久,没有提及什么技术方面的东西,以上也是只是我个人的一点点理解,不对之处请各位高手指证以及原谅。
谢谢。
在熟练掌握一个东西之前,这个东西绝对是拖你后腿的
hfchiew
"搞研发的自然要走到基础的层面,但是如果对企业,盈利高于一切,那么OO的实施可以大量地减低维护成本, 演唱一个软件的寿命期。 如果你也明白time to market , just in time 的企业策略,你所谓的基础不是每一位从事软件开发的人员都必须掌握的。"

你这话有点让我感觉不是人间烟火了,企业利益高于一切..那么企业得到想要的利益了吗?还是在泥沼里摸爬??
你所说得大家当然都希望发生,可是不可能的.曾经拿软件和汽车产业作比较,发现软件和汽车都提倡过just in time但是汽车能成功,软件难成功,因为汽车的组装者才真正不需要知道各个组件是怎么生成的!软件?那只是理想.想想汽车制造,组装的好的优秀汽车组装者可以拿和能研发出优秀发动机的研发者一样的报酬,软件呢?框架价值大于组装本身,越来越多的组装软件的人开始不安分,花时间去观察内部构造,却降低了组装的效率,你能将这个责任往他们身上放还是肆意的谩骂这些人失职?在过去组装软件的人总是在恰当的时机转换到其他部门或者干脆转行,导致组装者始终是刚毕业的学生,总是需要从新培训,总是需要为那些经常出现的问题反复恼火?你将这个责任推给谁?如果不对整个软件产业各个环节重新审视,重新确定岗位价值,那估计只能这样沉陷下去.

晚生赐教了,在大学的的确确学了很多数据结构、算法、数学、编译原理的很多很多东西,最近一段时间是在找工作,很是迷茫。企业的需求跟大学的供应确实大相径庭,打个比方,企业需要banq老师那样的人才,而学校里培养的却是zjlzjlzjl 那样的学生。我也是zjlzjlzjl 那样的学生,找工?还是先学banq老师的那一套先吧,挺实用的,要不连饭碗都没了,怎能谈中国的软件发展?哈哈,我的话就是那么的现实,得罪之处敬请原谅……
我刚入不久,今天晚上看到这个帖子,感觉争论不休。oo是oo,基础是什么?大学是什么?
大学是教人怎么去自主学习和打基础的地方。基础就是一些本职的东西。

用oo来开发软件,很好,很到位,讲设计模式也无可厚非。

我认为:软件大家,还是要学习数据结构,编译原理的。后来理解了一部分,就可以向上了。

有的人一生就在底层,你要他用oo吗?底层的东西是oo吗?

如果你致力在上层,那你就oo了。

以上个人观点。


我是前一个月才开始学习JAVA的,买书,下视频教程,后来了解到这个论坛(都是高度评价),
看了好多你们的观点。。。突然迷茫了。。我基础不好,大学数学差得一塌糊涂,主要是没用心,逻辑思维自我感觉还不错,开始学习的时候是直接从JAVA基础起步的(代码基础,比如什么异常啊什么的)。

看了你们争论的东西后。。突然不知道应该怎么走了。。。。是应该去先学习数据结构,面向过程的东西?还是应该直接学习面向对象的东西?

能不能给点意见?比如具体的一个学习流程。。。

你是个初学者
根本不懂学Java怎么学
其实学习很简单
根本不用什么数学
什么逻辑的
本来这个帖子我都不想回了,但是看到楼上那样的还处在愚昧之中的人们,我又是在觉得不能不说两句什么。你觉得基础不重要只是因为他太难了,你喜欢java是因为你用不好C/C++,你无法自己处理内存管理,这东西你要了解对象是在堆上还是在栈上建立的,如果你建立一个大的对象系统是如何分配的,频繁的分配对象产生了内存碎片怎样处理,所以你只能用java。用java没有什么不好的,但是不要抱着java说这就世界的一切。
没有别的意思
就是没有必要把一些事情搞的太复杂
那就没有意思啦