算法和软件工程考虑的是不同的侧重点,算法非常重要,但是不是所有的问题都能通过算法去解决。当系统非常庞大、体系结构非常复杂时。仅仅关注某个点上算法的效率是不能把软件做好的,linux/unix中固然使用了很多的算法,但是如果没有良好的体系结构,linux/unix也不会有今天。打个形象的比喻,算法就象造房子的砖头,好的算法就是金砖头。现在问题来了,如果要造100层的楼房,只有考虑砖头,这楼怎么盖?这个时候,体系结构就显的非常重要了,它是房子的钢梁骨架。金砖头和钢梁骨架都需要才能盖好房子。
OO就是管理
算法就是技术
一个是宏观,一个是微观!
一个企业(软件)两者都不能缺!
没有管理,技术再好,生产出的产品卖不出去,卖出去了也赚不了钱,客户有了新需求不能快速满足!
相反,管理得再好,关系协调得再完美,最终的细节还是需要搞技术的人去做的!做不了产品,实现不了功能,最终仍是扯蛋!

补充一点:搞技术的人的拼不过做管理的!呵呵!

术业有专攻,楼主说的是另外的方向吧,J道讨论的WEB应用架构十分精辟。
中国人讲 和,中国讲 和谐。
都是有学问的人,都是有身份的人,都是让人敬仰的人,都是技术界的名人。
去彼此包容,大家庭就能和谐。
我觉每种类型的软件都有其自身的特点,比如,如果做游戏,算法当然很重要,但是它的良好设计也是至关重要,否则,你的游戏光有算法,如何以后升级?互联网行业,要求发展、升级快速,能灵活根据需求快速响应的软件系统,所以算法就显的不那么重要了,当然有些系统还是需要的,比如google的算法就很复杂,只能说不同的软件有不同的设计特点,需要据此定评价哪些技术的重要性
在我看来,任何技术都很重要,都有其存在的道理,如果你做底层开发,那你就去研究算法,如果你做上层应用,那你就是研究架构设计吧,就这么简单,如果抛开行业特点,单独去讨论哪个技术重要,是没有多大意义的。

[该贴被wzkl于2010-03-15 11:22修改过]
算法才是硬道理,如果你理解的算法是《算法导论》之类的,那就没话说了.
除非有强大的资金支撑,否则,不管什么软件,没有市场就意味着失败,软件从其量只是一个高级的工具,既然是工具就需要有市场的承认,无论是嵌入式还是操作系统,也就是说做软件的目的是为了更好的软件生存,bang的应用关键有点意思。
看到大家都在说,我也禁不住的说两句。

软件==算法+数据

而程序有有许多的算法组成.
早在软件危机之机,人们就一味的去开发软件,而没有关注软件工程。最后是导致软件危机。

而后来有了软件工程 需求,分析,设计,编码,测试。现在的软件越做越大,越做越复杂,不能单单的考虑算法和数据。还要考虑高可用性,并发性,扩展性。

这就是在jdon讨论的设计和架构。

我真是忍了好久了,今天我一定要发言一句才行,什么算法?什么设计模式?都在这里长篇大论,编程一开始还不就是来源于算术,一加一等于几?不就是要个参数,然后把参数传进去吗?然道各位从小学学的算术在哪去了啊??
其实就像是材料学家和建筑设计师,
材料学家绞尽脑汁开发出了新型的材料,无比坚固耐用,但缺少了建筑设计师的高超的设计灵魂,也只能放在一边变成废品。所以不能说算法如何如何,开发如何如何,脱离了实际环境讨论问题总是片面的,希望楼主眼光放开。
[该贴被yxh1122于2010-04-26 11:17修改过]
先写,我没注册,不知能发不。

算法和架构都是写一个好软件必须的东西,架构要用算法来具体实现。算法需要架构来指引。对于IT行业的人来说,算法一定要熟悉的,这样你才知道那些封装的算法各有什么优缺点,用的时候才有取舍。架构是现在软件发展的一个方向,算法已经很成熟了,不需要很专业的研究,但是架构/设计模式越来越受到重视,它关注的范围更广、涉及的方面更多。

一激动,就注册了。
就是要百家争鸣,百花齐放;bang能引起口水战,厉害,高招,论坛火爆了~
哎~,楼主是不是受什么打击了才这样的,心情不好吧~