解惑

解己之惑,解人之惑

也谈Java基础的重要性(续)

呵呵,意犹未尽,继续批驳。
banq先生对自己的思维和真正想法并不是了然于胸,我想他不关心的是业务逻辑的实现了,他说他已经很多年不去翻J2SE了,那是因为他已经很多年不是“程序员”了,他不需要使用他的框架去完成一个实际的业务系统,你把这个框架做了,你鼓动别人去使用框架,去学习设计,还有意义吗?如果别人都去提高学习了,都去设计了,就不会有人用他的框架,而如果别人都不用,那他搞那个框架又是为了什么呢?
他说他自己对J2SE都忘记了,那么他是如何完成这个基于Java的框架的?难到都是拷贝别人的代码,然后就是debug?

再说他所谓的向上思维和向下思维,其实不是思维问题,而是开发方法问题,他所谓的向上思维是敏捷开发所推崇的,自底向上实现系统,发现问题就不断的重构系统,而CMM/CMMI以及RUP之类的开发方法就崇尚自顶向下实现,也就是他所谓的向下思维,这些方法的优劣现在本身就没有定论,也不会有定论,需求的不同导致使用不同的开发方法有不同的效果,IBM之类的大公司接单子都是预先浪费了无数的时间确定需求,然后签合同,完全按照合同的内容来执行,他们有资格使用自顶向下设计;而广大的中小软件公司没有那个本事,可怜兮兮的拿下一个单子也只能当孙子,客户让怎么改还不是怎么改?能拿到钱就不错了。所以这些公司使用自底向上就很自然了,因为快捷简单,能够更好的应付需求的变化(当然,要做好也非常的不简单)。

一个新技术不必关心它是如何做出来的,而是重点研究是如何使用它,使用的场合和条件是什么,这些就是模式啊”,天啊,这个是模式吗?模式是程序内部的设计好不好!怎么会和技术的使用场合和条件扯上关系呢?

如果我说不学习"数据结构,操作系统,编译原理,数学",照样可以作出架构优质的高性能Java系 统,你可能不惊奇了,Collection和数据库技术已经就是依据数学结构做出来的,你学了数学结构,自以为懂了很基础知识,碰到 COllection,你就会自然去打开看看,自豪运用你的数学结构理解它一番,可是这些对于你如何使用COllection根本是两个领域的知识(如何 使用Collection是模式领域知识),这些都是先入为主造成浪费时间,能力不足的表现
呵呵,他的那个叫做“作出”的吗?据我所知充其量是拼出来的,系统最核心的部分都是别人的(当然,这个也不惊奇,因为他最自豪的就是可以看懂别人的设计和使用别人的成果),当然不需要数据结构了。学习Collection的实现会浪费时间吗?看这个对于设计能力难到没有提高吗?看别人的设计就是能力不足了,想想自己当初是怎么学习设计模式的!
算了,不说了,记得原来gigix就写过一篇文章批驳过他的。

(Visited 119 times, 1 visits today)

8 Comments

  1. 上班时间写博客,还写这么长,嘿嘿,老刘 :em20:
    Jdon那个老几基本上就是喷粪,以中国IT业教父自诩。
    不懂J2SE怎么写的出来优秀的框架,反射怎么弄,代理怎么弄。那个老几基本上就是把别人的东西拿来拼凑一下,这也叫构架?
    记得这个老几不是有一次搞了一个什么开源框架,被老外指出不足后,把别人狂骂吗?
    人品不行的人,技术也行不到那里去!

  2. 这哥们的网站我基本上已经不去了,你怎么还有时间去看?
    这个上面倒是什么都有,还有这样的帖子http://www.jdon.com/jivejdon/thread/31422.html
    我看纯粹是来‘恶心他的,笑死了

  3. 真高产啊
    真幸福啊
    本人连仔细看看你的blog的时间都没有了
    光看题目也该知道这是很自然的事情
    J2SE永远都是重要的,只要我们还用JAVA
    想起侯捷的那句话,浮沙之上勿筑高台

  4. 呵呵,我不是上他的网站,是在javaeye看到的一个文章,去看看原文的

  5. 呵呵,闲逛的时候看到有人还转贴那个文章,实在气不过,出来说两句,一般我是不会直接攻击别人的 :em32:

  6. 呵呵,终于看完了
    其实争论的焦点是基础和上层的框架哪个更重要
    记得设计模式的开始一段说过框架是设计的上层建筑
    是对普通的设计模式掌握后的集中体现
    那这个问题就很简单了,连底层的运行机制都不懂
    凭什么作出上层的框架
    有一点,banq先生似乎忘了,框架决不是万能(或许以后的框架会越做越好),曾经想起自己以前参与的一个项目,做到后来居然要去改框架,呵呵,改框架的过程我觉得是我做那个项目最有成就的地方,什么资料都没,就靠反编译,而且我还是个新手。
    但是,从现实而言,或许掌握了市面上的若干种框架的人更有用武之地,几乎每个公司都会在requirements里面加上XXX框架这一条,所以banq先生会有这样的观点,也不足为奇了,但就个人的发展来看,框架可以作为一时谋生的工具,但不可能是一辈子的,说不定今天有spring,明天就会有summer,可是底层的那些东西永远都不会变,就是数据结构,数据库,操作系统,编译原理,和成熟的设计模式(banq先生好像忘了设计模式开始的一段话,需要读者有一定的程序设计基础)等等

  7. 我认为bang先生提倡的“向上看”只是技术的一方面,另一方面就是“向下看”,要能上能下!上到设计模式、框架,下到编译原理、操作系统,这才是全才。
    作出的软件也要能够“向前看”和“向后看”,向前看是要把软件做的易于将来的维护和扩展(设计模式和框架的使用),向后看是最大的发挥其他相配合的软件、操作系统、硬件的性能,这要求懂底层的东西。
    java本身就是一个很好的框架!它考虑了方方面面,设计和性能。
    bang先生的观点显然是片面的,感觉这种观念是由于java盛行而滋生的病菌。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

© 2020 解惑

本主题由Anders Noren提供向上 ↑