Hello World
Spiga

书评:卓有成效的ThoughtWorks程序员的45个习惯

2009-10-26 00:46 by 老赵, 21882 visits

这个书名看起来似乎有些莫名其妙,因为其实它包含了三本书:

虽然最后一本书的中文标题里包含“沉思”字样,但总体来说其实这三本都是实践性的很强的书,基本上是会告诉你“怎么做”——当然同样也会告诉你为什么。基本上这三本小于等于200页的小册子陪伴了我半个多月来的上下班,上厕所已经睡觉前的时间,也带给了我不少体会和思考。

有人可能会说,大学教育应该加强培养学生的实践能力,不过我的看法正好相反。我倒想说,在学校里就别再生产实践上投入了,这是教不出来的。学校的老师现在基本上都是100%的博士毕业,科研出身,本身工业实践可能就不足,除了照本宣科(而这实践性的“本”可能本身就不怎么样),又能指导学生什么东西呢?记得有段时间我又重新混迹于学校的BBS了,在系版上和讲授Web基础课程的老师争论“标准布局方式”,老师坚持认为布局就该使用table,而CSS只是用来填充样式,而并非用来布局的。但此时已经是2008年了,我想只要简单关心一些业界发展,也不应该出现这个情况。但是对于老师来说,他们的目标是科研,就像那位老师,除了这堂课,又何必了解Web开发的发展动态?而大学里应该为学生以后发展打下坚实的基础,授以“渔”,授以“能力”,至于实践性的内容,自有实践来培养,学校就不要做这些本不擅长的事情了,几乎不可能做好。

我大学读的是软件学院,比较注重“实践”。记得当时大一结束后系里组织项目组,由于我专业成绩比较好于是“光荣入选”。于是近20个人的项目组分为了几个小组,各由1个研究生作PM。还有一个需求分析组。然后我们使用标准的瀑布型开发方式,从需求分析开始,产品设计,用例图,时序图,类图一个一个地画。记得文档的页数,UML的复杂程度(当时叫“专业”程度)都是值得自豪的事情。最后很显然,项目失败了。似乎这样轰轰烈烈的项目开发行动也没有出现过,大一的学生都早早进入各实验室进行有针对性地科研性培养,这点还是让我非常高兴的。

不知道现在的大学教育还有没有这样的情况,不过在我现在看来,似乎在那时我积累了不少误区,而这些误区基本上都产生在“实际生产”方面。例如我被不断教导“语言是没有用的,思想是关键”,但我几年下来我愈发认识到“语言影响思想”;例如我也被不断教导“程序员是没有前途的,要做PM”,导致我当时也总喜欢谈“设计”谈“项目管理”,而现在我坚持认为自己是“光荣的程序员”。还有例如“做作测试没有意义”等等,诸如此类,不一一列举了。总之,我当时学习了许多的“反模式”,这些东西在我接触“敏捷”,接触实际生产过程,接触前人在实际生产过程中总结的经验之后都被一个一个推翻了,几乎一个不留。当时我也很痛苦,认为自己过去浪费了很多时间。但是现在想想,这也是我的积累,至少我知道了什么是错的,我知道某个东西为什么是对的,而并不都是纸上谈兵。还有既然已经经历过一次思维转变,我想我也已经可以坦然接受未来新一轮的革命。想着想着,我也就坦然了。

因此,如果您也有这样的经历,我想也没有任何问题——看准之后,马上改变。在思维改变的过程中我看了很多书,其中有一本值得在现在提起,那就是《The Pragmatic Programmer: From Journeyman to Master》(中文名《程序员修炼之道——从小工到专家》)。这本书完全是实际经验的总结,一条条建议基本上都是精华,现在看来亦有常读常新之感。不过这本书的最大问题就是,说的很多,信息量很大,但相对比较简单(条条扩充就变成另一本《代码大全》了),于是对于没有一定经验的初学者来说,难以引起共鸣。当时我在看这本书的时候的心态也是“好书,讲的是真理,一定要接受”,而并没有进行更多的反思和比较,在我现在看来这种读书方式是很危险的,我的幸运之处也在于“盲从”对了人。

之所以提起这本书,是因为《Practices of an Agile Developer》(中文名《高效程序员的45个习惯》,即将出版)被看作是它的后续,虽然我认为这“后续”并没有达到前辈的高度——不过也正因为如此,我看来它可能更适合初学者,或者说更加实践一些,更贴近普通生产过程,更容易按部就班的干——几乎告诉您应该怎么做,并且需要考虑哪些东西了。这本书关注的是如何敏捷地构建出成功的软件项目,其中涉及到各个方面。如一上来讲的并非如何进行“项目管理”(可能敏捷本身就是淡化传统软件开发的管理,讲究的是“自我管理”),它讲的是“态度”,作为每个开发人员来说该如何在项目中把握自己的做事方法。后来又谈了开发人员的自我发展,如何开发,如何调试,如何交付,如何协作等各个话题。

这本书把一个实践分为三个部分:“魔鬼(错误的做法)”,“天使(正确的做法)”以及“平衡的艺术”。有趣的事,至少我从自己身上或身边,也可能是工作上,或是社区里发现了几乎一一对应的“魔鬼现象”。例如书中一开始讲的“态度”中提到“对事不对人”,这难道不正是最近博客园的“热点问题”吗?此外,这本书吸引我的另一个原因是书中的许多说法让我非常赞同,或者说“有共鸣”。例如书中说到“持续学习”,“架构师必须写代码”,“用写博客等方式进行总结”,对我来说真可谓“正中下怀”。

这本书最大的问题并非是书中哪里写的不对,而是有些“成功学”的意味——许多“道理”的确都是正确的,但是关键还是要靠“执行”。说到底,不执行,知道再多正确的做法也没有用。而且,在我平时看来,大家不是不知道该怎么做,而是“不愿意去做”。例如谁都知道要对项目负责,但是在别人都不负责的时候,你还愿意负责吗?书中说要交流要分享,但是各位也一定听到过许多声音,例如说“要有保留,否则你就失去了价值”——咋听上去真很有道理,有些更直接就是书中所列举的“魔鬼的诱惑”。书里也谈到一些“平衡的艺术”,但和现在流行的一些“办公室政治”方面来看,算是小巫见大巫了。我是理想主义者,有人说我幼稚,所以您也要对我的说法进行独立思考。:)

The Productive Programmer》(中文名《卓有成效的程序员》,已出版)一书与前者不同,它的目标是“个人效率”,而不是“项目开发”。

这本书分为两个部分,第一部分主要讲的是工具的使用,其中提到了许多提高开发效率的方式,例如如何使用虚拟桌面,如何使用宏、命令行和快捷键等等——里面的确提到了许多我原本不知道的使用方式(例如把资源管理器的“根目录”固定住)。对于Windows程序员来说,还有相当部分可以帮助我们了解其他平台,如Unix上的一些开发文化(如PowerShell和cygwin的使用。Unix平台是面向程序员的平台,其中总结出了许多开发经验同样可以运用在Windows平台上——即便有些*nix程序员不太相信这点,但是我对此深有体会。而书中的第二部分是“实践”,通俗地说便是“如何写出更好的程序”,其中谈到了单元测试,谈到了设计方式,谈到了代码检查工具等等——说实话,我认为与第一部分相比它并不怎么出彩,有些老生常谈的味道,随便找本讲敏捷编程的书就会谈到这些内容——就好比那《45个习惯》。

既然是在进行“个人效率”的修炼,这更加涉及到“执行”问题了,例如谁都知道快捷键能提高效率,但是你愿意努力去背快捷键,而不是继续自己点菜单的习惯吗?还有便是,这本小册子讲的还是简单了,当您看过了这本书之后,不妨再多关注一下它的提纲(好吧,其实就是“目录”),然后针对其中的每一点再作进一步的挖掘。

最后便是《The ThoughtWorks Anthology》了。这本书是一群乐于思考,善于总结和分享的人的心得体会。其实每个公司都有许多项目,但为什么ThoughtWorks总是给人一种“盛产思想领袖”的感觉呢?我认为这关键还是以Martin Fowler为首的“思想家”们的作用吧。他们在不断地进行“思考”和“总结”,更重要的是不断的分享“分享”——我并不是在夸他们nb,我的目的是想说“其实你我也可以这么做”。当然,我更不是在轻视他们,我也乐于和他们这样的人一起工作。

刨开前言,这本书收录了13篇文章(外国人咋不忌讳这个数字了?),有项目管理方面的:如何走好从“开发完毕”到“交付成功”这最后几步路,如何使用“迭代经理”这个角色等等;也有项目实践方面的内容:如何使用Ant构建项目,如何进行自动化的“一键发布”,如何进行性能测试等等。也有一些编程方面的实践,如DSL构建,多语言开发,对象“健身操”等等。基本上,可以认为是精华,值得一读吧。这本书有些部分的确让我开了眼界,让我了解了不少我原本不太知道的内容(尤其是项目管理方面),这感觉好像我在大学里第一次看到一些项目管理书一样:“原来,这才是专业的做法啊”。但是,现在我比当年要谨慎了许多,很多东西我还是在项目开发过程中尝试一下再发表意见吧。至于其他方面也大都不错,可能这种类型的“总结”还是挺吸引我的。

总之,这三本书都值得一读。但是这有个前提,首先您得主动思考而不是一味地机械吸收,但更重要的可能还是需要有效地“执行”——而这点可能只能靠您自己的,别人很难给予有效的帮助吧

忘说了,这三本书我看得都是中文版,翻译地挺通顺的,没啥读不明白的地方。

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名赵劼(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言

Add your comment

91 条回复

  1. 老赵
    admin
    链接

    老赵 2009-10-26 00:46:00

    我写文章真是得靠情绪的,不知道怎么写着写着居然没有情绪了,自己读了一遍,好像写的真不够意思啊……

  2. 曹赛楠
    *.*.*.*
    链接

    曹赛楠 2009-10-26 00:49:00

    老赵 不早啦,早点休息啊~

  3. 打酱油专用马甲
    *.*.*.*
    链接

    打酱油专用马甲 2009-10-26 00:54:00


    感觉 The Pragmatic Programmer: From Journeyman to Master,开始还不错,到后面就有点重复了。

    也许是我太老了,没精力读完整本书。

  4. 斯克迪亚
    *.*.*.*
    链接

    斯克迪亚 2009-10-26 00:56:00

    那书封面竟然侵犯外星人版权,不怕星球大战啊^^

  5. 斯克迪亚
    *.*.*.*
    链接

    斯克迪亚 2009-10-26 01:04:00

    这类XX个习惯的说法(包括但不限于编程界)总觉得听起来很有意义,干起来总想不起来,- -#
    习惯还是要自己整出来的才好,把别人的习惯变成自己的,那是很麻烦的事~~
    只要记住一点,面临任何选择的时候,稍微考虑一下,选择对你未来而言更好的路走吧,让未来某一时刻,你不会为这个选择懊恼就好。

  6. 韦恩卑鄙
    *.*.*.*
    链接

    韦恩卑鄙 2009-10-26 01:23:00

    这本书有13篇文章(外国人咋不忌讳这个数字了?),

    搞不好犹太人写的

  7. 老头儿[未注册用户]
    *.*.*.*
    链接

    老头儿[未注册用户] 2009-10-26 04:06:00

    韦恩卑鄙:
    这本书有13篇文章(外国人咋不忌讳这个数字了?),

    搞不好犹太人写的


    搞不好是个13点写的;-)

  8. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-26 05:31:00

    既然你觉得你说的不带劲,我说点带劲的。不过随大流就是最佳策略的同行们就不用看了(对个人职业生涯来说大多数是这样的),这个回复和你们无关。

    //update,更带劲的删了。我确实不是原来没注册的我了。

    只是我说,即便那些关注具体点的小品文章确有借鉴价值,我认为你给出的评价有点过高。



    先是对我的一贯攻击对象、既方法推广者的大多数作者及其作品:

    对人不对事地说,热衷于发表这些的个人和组织,似乎没有一个真正一流的程序员和一流的软件作品,我不是下论断,而是举事实。那么一帮二流甚至不入流的家伙写的东西,到底谁应该读?

    谁也不会因为几个偏方有用,就让江湖术士代替了医生,可这在我们的行业一直在发生。从大企业里的江湖术士(比如瀑布模型、这并不因为他们是什么地位就能装裱成医生)到现在。

    说实话,DHH这样乳臭未干、没写过几行代码的毛头小子都比他们强的多;而且他们自己似乎也承认:从DHH身上我们还能看到,谁、什么东西有抬头的趋势,整个圈子就捧谁(最后就是《伤仲永》的故事)。

    这些一直在发生的事情,恐怕不用我多说,睁眼看看世界就能看到。就好比Erlang的作者所言,某些人创造了一个“工业”,我想这话比我说的有分量。



    其次是笼统地看一看各种经验介绍和方法介绍(仅限你评论的这类)的必要性:

    这一点,进行一个这样的比较:那些不断产生地真正优秀的软件,他们的作者又如何呢?

    比如John Carmack,我们不提他在游戏和图形界的成就:90年代他就在产品中采用了现在Android上这样的打包形式、就采用了脚本程序运行时载入的方式、就提供了配置文件定制行为的方法。架构、重用?CS是HL的Mod,而HL又来自于Q1和Q2的混合引擎。

    他平时关心的是什么?别说号称动辄就得琢磨三年五年的程序设计、项目管理的方法论了,即便那些我这样的反社会的主儿都夸奖的有价值的经验介绍类,即便在菜鸟时期的他、在学习中能占有多大重心?

    也许这个问题看起来比较难回答,因为我又不是他的跟班。但只要考虑到他成长的年代就知道根本没有多少类似东西可看;再看看他的设计和代码,就知道他当年几乎没有什么东西是从书中学习:首先他们没有遵循什么特定方法;其次对于具体代码经验他们自身的水平就远超这些书的作者。

    (同样的还有苹果共同创始人Woz、卡特勒、Anders基本都是这样。Woz也明确地说过基本就是闭门造车,虽然Woz的工作量似乎和其它几个人没法比,但在当时他也不算是落后于同辈工程师的)。

    我们关心的又是什么?当前这个年代,有什么人超过他们这样的人的进步速度吗?Carmack实现的那些东西,对他来说只是一种需求导致的实现,而我们却成天在类似东西的更低层面上讨论和评价,并以为脱离了菜鸟层。

    我觉得这很说明了一些什么:似乎优秀的程序员总是在解决应该解决的问题,越来越多的,他们就掌握了问题解决之道。没有事先学习似乎并不成为一个障碍。

    要想得到相同的能力,我认为恰恰只有放弃某些所谓的“学习”才能做得到。因为我们需要时间和精力直接进行锻炼。

    最终,人总能得到一个自己的风格,而这个风格绝对比这些书中的经验更加适用(无论是否一致)。对于一个上进者来说,即便从来不关心从来不看这类读物,也不会降低一个人的进步、和创造价值的速度。

    另一方面,那些真正优秀的程序员和组织的经验,看起来也很难总结成书,让每个人都可以遵循。为什么。因为写程序、设计,实际上是一个非常随意、个人的事情;而管理则大多具有强烈的组织个性(这一点也至关重要!)。

    不能套用甚至完全无用,这在那儿、做的什么项目、在项目中处于什么位置,都是一样的。因为我们做的是靠一群人的脑力、和感情的工作。就进来发展的20年我们根本就不可能有足够的标本,在一些方面总结出什么对每个人都具有哪怕是最基本的价值的东西。[1]

    也就是说,想成为优秀程序员,不必要也不应该关心这类读物:很多书对我们根本没用,因为它们进行的讨论就是无用的;而另一些实际上除了在一些方面具有有限的提示作用、只能用来消遣。

    实际上似乎那些最杰出的人,都是那些从一开始就只要有个参考手册备查足以开始项目就够了的人。他们跟着一个又一个的项目一起成长,最终超越了所有的人。唯一不变的是,他们乐此不疲。

    ---------

    作为你的朋友,我冒死说几句绝对冒犯你的,你的目标到底是Fowler这样的、还是Carmack这样的,你必须想清楚。除非你是有比他们充裕几倍的精力的超人,你才能兼得。

    不知道你是否看懂我在说什么。其实直接一点,我个人认为你已经开始背离你成为优秀程序员的初衷了,这就是我的观察:它被发生在杰出者和“思想家、意见领袖”之间的巨大差别所印证。

    而你越来越像后者这类人.....的一个非常普通甚至综合的来看有点落后的(即便在国内这方面比较显眼的博主中间看)跟随者。

    当然也许是我不切实际,就这个(成为优秀程序员的)目标来说,在起跑线上还是在中途成为Loser(以我的标准我个人几乎可以肯定的做不到),并不重要。可能活着还不如多折腾当前能折腾的,图个Happy就完了。

    在你这里留言,就像很久以前匿名时一样。包括路过的、如果我也不小心扫到了你们,我声明这些只是我的一家之言,当然要是说中了反正您得想想。

    说实话,我也不知道我能从你对这些书的评价引出这么多,实际上也和你最近关注和实践的东西在我看来不重要害有关。不想私下里交流了,因为希望别人也看看我这种观点,而且可能是最后一次大张旗鼓的说。

    要是确实大家总能为自己找到理由支撑自己当前所见所闻所说(包括我),那就各信各的吧。也许我就是一个脑子有病、偏激、浅薄的人;但如果确实各自情况不同或者目标不同,我也懂得求同存异的礼貌。

    ---------

    [1]:敏捷恶心就恶心在扭扭捏捏,一方面他们认识到统一处理样板化的方法不能成功(继续宣传下去只会让某些人丢掉饭碗);一方面,某些人不愿意承认我说的这个情况、并仅仅把关注点在很小的问题-方法对上,那样他们价值和价格的不相符这一点就会迅速显露。

    题外话:就“测试是没有用处的”的这样的话,Knuth也说过。你是不是认为他太“学院派”了?

    Knuth说,他仅仅在不知道自己干什么、会有什么结果的时候才使用测试。(以下部分不是他老人家金口玉言是我的屁股想的)到了组织里,组织很难知道个体在干什么、会有什么结果,那么组织当然就要想办法(虽然测试不是唯一)。

    也许你说,你看,这就是现实实践,而且某某总结了,这不是很好吗?

    问题是,这种事情应该局限在每个很具体的情况下讨论,而根本不是想办法拔高成什么东西四处推销,然后成就这个某某“思想家、意见领袖”的地位。

    这要是在传统的工科环境里,可不就是一些工程师发表一些工程论文的事情吗:一般倾向于,仅仅把这些总结看作不能卖钱的资料,而不是某种形式的强烈推荐(因为它们不能被证明是大范围适用的),现在在我们的行当,又倾向于作为什么呢?

    难怪当年程序员自称是工程师,引起了工程师协会的严重不满呢...

    另外一个例子:就流行过一阵子的“约定大于配置”这样的废话,简直是根本不值一提的。如果我们不约定if (这里写条件),我们怎么写程序的?main()是怎么来的?这他妈还用人说不成?

    (关键不是什么情况下约定合适、什么情况下配置合适,这又有多少经验是可以总结传递的?有谁说清楚了?)

    对了,我们现在的社区就是必须得有人说,不说我们还真就不知道。因为我们已经被一波一波喷的头晕转向了!也许某些人不承认这一点,总觉得只要学下去、实践下去就没错。

    (有的人还认为自己作为普通观众,比某些杰出程序员还“客观”,可以博采众家之长。这可能吗?退一万步说即便如此,为什么更优秀的是别人呢?)

    关键是你学的是什么、你如何实践的。说实话无论是我的还是某些人的工作环境,好多东西想要真正弄清楚价值那是妄谈:因为你手头那些事的成败跟对这些东西的选择关系不大(往往造成怎么干都能肯定出道理来)。

    唉唉唉,我都成了祥林嫂了。谁爱沉思谁沉思去吧,谁自认为自己卓有成效却习惯的过着没有*真正*创造的日子就继续修炼吧。

    我还是那话:我不是什么正经程序员,不过看着大量程序员和真正杰出者在行为上的差别,我都替你们着急。越说越生气,我TM太愤青了,自己滚蛋了。

  9. 温景良(Jason)
    *.*.*.*
    链接

    温景良(Jason) 2009-10-26 08:24:00

    这3本书我都在书店翻了翻,大家都说好,但是没有细读,体会不到真经啊

  10. forhell[未注册用户]
    *.*.*.*
    链接

    forhell[未注册用户] 2009-10-26 08:53:00

    怎么觉得写程序,最开始还是要有一个入门的感觉的。我们系在大一下开始,每个寒暑假都会举行留校学生在校培训的。

  11. Galactica
    *.*.*.*
    链接

    Galactica 2009-10-26 08:54:00

    说了"有人可能会说,大学教育应该加强培养学生的实践能力,不过我的看法正好相反。"这句话后,就没看到楼主提出"看法相反"的理由来,

    而从后面的文章内容看出,楼主并不是"反对" "加强培养学生的实践能力",而是"抱怨" 学校及老师没有"加强培养学生的实践能力"的能力.

  12. 老赵
    admin
    链接

    老赵 2009-10-26 09:04:00

    @Galactica
    呵呵,看来你解读到的内容的确不是我想表达的。我的意思是:因为老师做不到,但又不是老师的错,所以学校还是别面向实践了。就像我写的:“……但是对于老师来说,他们的目标是科研,就像那位老师,除了这堂课,又何必了解Web开发的发展动态?而大学里应该为学生以后发展打下坚实的基础,授以“渔”,授以“能力”,至于实践性的内容,自有实践来培养。”,这里的意思是,老师并没有什么问题,学校也没有什么问题,问题在“面向实践培养”。

  13. ouzi2[未注册用户]
    *.*.*.*
    链接

    ouzi2[未注册用户] 2009-10-26 09:09:00

    怪怪 回来了,不错,冲你回那么多,我就应该顶你一下,以前从你的讨论中学到了很多东西,希望在多多的发言

  14. 老赵
    admin
    链接

    老赵 2009-10-26 09:15:00

    @怪怪
    哈哈,你写的东西我还是要静下心来慢慢看。
    不过其实我觉得,除了《程序员修炼之道》,这次3本书我基本上还没有大夸特夸,是在谈我的感受——怎么变“夸过了”……呵呵。

  15. 老赵
    admin
    链接

    老赵 2009-10-26 09:17:00

    @怪怪
    你下次还是单独写文章吧,这样我看好了有什么感受也更容易单独写文章,现在有时候我想独立开篇都不好意思……

  16. uxspy
    *.*.*.*
    链接

    uxspy 2009-10-26 09:24:00

    老赵,我给您发了站内信,不知道您是不是忙没来得及看,有些问题向你请教,没办法我只能在这里告诉您一声了,谢谢!

  17. EricZhang(T2噬菌体)
    *.*.*.*
    链接

    EricZhang(T2噬菌体) 2009-10-26 09:40:00

    我也同意在学校里不要放过多的经历在所谓的“实践”上。一是条件不成熟,二是得不偿失。

    在一个公司,一个有5年工作经验的人和一个有3年工作经验的人往往很难分辨出有什么差别。但如果一个理论知识扎实的人,工作3年后往往超过很多工作5年的人的成绩。

    许多大型公司,如google、microsoft等,在招聘毕业生时把毕业生的学习成绩和理论基础看的比实践经验重的多。即使四年全在实习,也不一定能进入他们的法眼——原因很简单,有四年或四年以上工作经验的人遍地都是。但如果一个学生数学和计算机理论知识超牛,学习成绩优秀,特别是参加过ACM等算法竞赛的,即使没有实践经验,也马上会让他们的面试官眼前一亮。

    我的师兄师姐们,最被大公司青睐的那些,不是实践能力最强的,而是学习成绩最好、理论知识最扎实的。

    实践是线性积累的,而理论可以帮助人们把这条直线掰弯成指数曲线。正所谓磨刀不误砍柴工,在学校,充分利用学校资源,并发挥主观能动性,学习扎实的理论才是王道。

  18. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-26 09:40:00

    @ouzi2
    倒,我这不是啥讨论..,基本上就是个人的反社会的观点,你可要注意辨别....

    你可以注意到,我提到的顶尖程序员基本都是反社会、最开始不招社会待见、至少不那么社会化的典型,只是最后让步的是社会...

    比如Carmack,大学没上几天就受不了了。但是他在即时图形算法哪怕是理论上的造诣恐怕比顶尖的博士不会弱哪儿去。

    当然,我个人认为即便年纪有点大了,我们还是有机会跟上的,不然我也不会发这种帖子了 :)

    @Jeffrey Zhao
    不用啦,说句肉麻的,我其实根本不想再矫情这些事情了,我确实很大程度上出于和你个人的关系才产生念头的,只是一时没控制好,杂七杂八说了一大堆。

    如果不是你在这里推荐,我是不会发这样的文章的。这次我的出发点不再完全是因为你比较有说服力所以去提醒别人,我发现没几个人在乎。但是我还是看好你的,换句话说我在乎你的发展路径。

    我编辑了一下,更加直接地说了我自己的看法 :)。我的另一个想法是,公开我对你的评价可能对你更有触动(我这种幼稚的举动估计又得有人觉得我可笑了)

    当然,这只是在我说的有道理的情况下。也许我是偏颇了,我不敢完全肯定。

    但是说实话,我也无数遍的衡量过我这种评价方法了,虽然它太间接,但是我认为这个方法表面上虽然似乎感情色彩过浓,却具有一定的可靠性;而且是我能找到的唯一方法:用真正的软件上的成就判断知识的有用程度。

    我现在确实这样看:真正有价值的书一般主要是算法类、确定的知识类甚至工具书类(如果这个工具入门不容易的话);其次是程序员修炼之道(其实这本话也多了)、编程珠玑类的讲很具体基本不会错的较小的经验的。

    剩下的书中大多数,不值一看。这类书的内容很深很曲折,从我现在来看是似是而非,对当局者来说确实字字珠玑。这类很难产生价值,也许真相就是Erlang作者所说,一个类似化妆品的工业罢了。

    当然我相信Fowler们不是骗子,他自己喜欢弄这些。但那只是因为他确实没啥别的有价值的事情可做了,这个又是他吃饭立足的地方。

    编辑一下,我觉得LS的想法是正确的、而且不是说出了校门我们就不能继续深造的。

    Udpate:
    忘了说那书的问题了。其它的书我个人觉得只应该在博客上、社区内发表的一些小文,既是那样都不能算上佳的,那么从我的观点来看,你的评价自然算高了...

    而且你不是褒扬了“思考”、“总结”么,可我关注的是则这些“思考和总结”的价值,因为他们公司并不是免费并且单纯的发表一些观点,这在我看来对于一般书来说就只能给差评了。

  19. cesium
    *.*.*.*
    链接

    cesium 2009-10-26 09:41:00

    <卓有成效的程序员>我也是强烈推荐。

  20. Jack Fan
    *.*.*.*
    链接

    Jack Fan 2009-10-26 09:44:00

    看到老赵说到自己的大学,我也想来凑个热闹~嘻嘻

    我毕业的院校是这样的:
    1、不起眼的、偏远地区的二本(云南昆明,气候好啊,呵呵)!
    2、理论课不强求必到,在我们需要理论补充的时候可以自由选择学校所有的理论课进行旁听
    3、如果理论知识不错了(考试不会挂),那好,放任我们做爱做的事,比如我就去鼓捣PPC开发了,有人就去经商了,也有人直接出国了~

    类似于放野马式的教学环境,铸就了很多“业务”实力比较强的人,和我一批毕业的,基本上都找到不错的工作了,而且都是自己在大学比较感兴趣的~
    反观街对面的那所一本毕业的朋友(我本地人么,街两边都有认识的人,哈哈),同一个专业,就业率还没有我们二本的(甚至我们学校专科)的高~实在无奈~(后来他们大部分人都去考研了~有的考来我们学校~)

  21. 老赵
    admin
    链接

    老赵 2009-10-26 09:46:00

    @EricZhang(T2噬菌体)
    无数人都被掰成对数函数了,呵呵。

  22. Ivony...
    *.*.*.*
    链接

    Ivony... 2009-10-26 10:09:00

    呃,,,,,,

    我想说的其实是。。。

    现阶段,表格布局其实还是有其不可替代的用途的。。。。


    好吧,我比“怪怪”要收敛多了,我承认。

    话说实际上如果学校里的老师冒出来table即将被淘汰,W3C才是互联网的王道,以及敏捷是未来的软件开发方式。。。。。


    这样的学校还是趁早关门的说。。。。。

    吉日和怪怪愤在外,其实还有很多人是愤在内而不自知罢了(切莫对号入座)。

  23. winter-cn
    *.*.*.*
    链接

    winter-cn 2009-10-26 10:22:00

    @怪怪
    说得很有道理啊 阅读成功学本身对成功是无用的

  24. Ivony...
    *.*.*.*
    链接

    Ivony... 2009-10-26 10:23:00

    对学校应该怎么教育的说法深不以为然,,,,

    这样的说法似乎将学习的责任推给了学校而不是学生自己。

    在我看来,大学只应该是一个提供教室和教授的,呃,公园(我喜欢清华北大的校园)。

    至于怎么学,学什么,那是学生自己的事情。

    我不认为一所大学开设怎样的课程能影响到这些大学的学生在竞赛中获得的名次。或者应该说一所大学拥有什么样的教授和什么样的学生才决定了这一点。

    很多人都在说中国的大学应该怎样教、教什么。似乎大学就是一个养殖场,养鸡就能产鸡蛋,养牛就能产牛奶。这是很扯淡的。。。。

    当然,我们也有我们无法回避的事实。就是学校除了提供教育资源之外,还拥有着发放那张小纸片的权利。或许就是这一点儿权利,让我们对学校指手画脚,苦口婆心吧。。。。

    或许其实我们在讨论的问题,是学校应该怎么发放这张小纸片。啊,这真是个无聊的问题。

  25. winter-cn
    *.*.*.*
    链接

    winter-cn 2009-10-26 10:25:00

    @EricZhang(T2噬菌体)
    成绩如何取决于考试题 不能作数的

  26. 老赵
    admin
    链接

    老赵 2009-10-26 10:27:00

    Ivony...:
    话说实际上如果学校里的老师冒出来table即将被淘汰,W3C才是互联网的王道,以及敏捷是未来的软件开发方式。。。。。

    这样的学校还是趁早关门的说。。。。。


    但是学校也不该有误导的东西……所以我不认为学校应该教这些。

  27. winter-cn
    *.*.*.*
    链接

    winter-cn 2009-10-26 10:27:00

    @Ivony...
    一些学校提供的教育资源比较差 老师自己都不懂 随意讲随意考
    这也是个问题

  28. 老赵
    admin
    链接

    老赵 2009-10-26 10:31:00

    @Ivony...
    虽然学习的确是学生自己的,但是学校也有非常重要的责任啊。
    例如,学校教了哪些什么,如果教了误导的东西,那总是不应该的。
    学校教了,学生就得学,否则考试通不过,毕不了业,呵呵。
    或者说,我们把这个话题改为“学校不该教什么”,是不是可以更合适一些?

  29. EricZhang(T2噬菌体)
    *.*.*.*
    链接

    EricZhang(T2噬菌体) 2009-10-26 10:36:00

    @winter-cn

    并不是看你成绩的绝对分数,而是看年级排名和GPA

  30. 老赵
    admin
    链接

    老赵 2009-10-26 10:39:00

    @EricZhang(T2噬菌体)
    他说的应该就是GPA和排名……

  31. Ivony...
    *.*.*.*
    链接

    Ivony... 2009-10-26 10:41:00

    winter-cn:
    @Ivony...
    一些学校提供的教育资源比较差 老师自己都不懂 随意讲随意考
    这也是个问题




    我觉得很多时候,是我们的评价标准出了问题。很多优秀的讲师、教授、科学家,在成名前,在发表那一篇震惊世人的论文前,不也是在某些二三流的学校里授课么?难道说在专利局打工的爱因斯坦和在苏黎世大学当教授的爱因斯坦发生了什么质的飞跃么?

    肯定没有,所以是什么人在学,远比是什么人在教要来得重要。说不定你的导师哪天拿了个诺贝尔奖呢。你当初是否认真的上了他的课?有没有仔细的与他推敲和讨论问题呢?


    子曰:三人行,必有我师焉。
    孔子的意思很明确,学习的态度远比学习的对象要重要。
    换句话说,孔子就不怕被人误导么?
    学习如果只是被动的接受,认为老师说的都是真理。这样的学习态度就是派上帝来讲课都有误导的可能。


    我并不是反对上面的意见,我不认为学校应该增加什么实践课程。而是应该教会学生怎么去学,然后提供资源让他们能够去实验从而自己得到结论而不是从书上抄。

  32. 老赵
    admin
    链接

    老赵 2009-10-26 10:42:00

    话说,现在兄弟们说话越来越谨慎了啊,比如“不要对号入座”,“可能会扫到XXX”之类的,呵呵。

  33. 菜鸟毛
    *.*.*.*
    链接

    菜鸟毛 2009-10-26 10:53:00

    "忘说了,这三本书我看的都是中文版,翻译得挺通顺的,没啥读不明白的地方。
    "

  34. Ivony...
    *.*.*.*
    链接

    Ivony... 2009-10-26 10:57:00

    Jeffrey Zhao:
    @Ivony...
    虽然学习的确是学生自己的,但是学校也有非常重要的责任啊。
    例如,学校教了哪些什么,如果教了误导的东西,那总是不应该的。
    学校教了,学生就得学,否则考试通不过,毕不了业,呵呵。
    或者说,我们把这个话题改为“学校不该教什么”,是不是可以更合适一些?




    首先,作为教师、教授,严谨的治学态度应该说是为人师表的基本素质。

    但我们也应该清醒的认识到,绝对的真理、不误导是完全不存在的事情。



    但“确实”就是这个问题:“学校教了,学生就得学,否则考试通不过,毕不了业”。

    所以我说:“许其实我们在讨论的问题,是学校应该怎么发放这张小纸片。”

    这真是个无聊的问题。

    无聊归无聊,却是个世界性的问题,爱因斯坦、比尔盖茨等等,也都是些“劣等生”。


    可能正是因为学校承担着教学和评价的双重职责,使得这个问题复杂化的。

  35. vczh[未注册用户]
    *.*.*.*
    链接

    vczh[未注册用户] 2009-10-26 11:01:00

    @韦恩卑鄙
    求alias

  36. winter-cn
    *.*.*.*
    链接

    winter-cn 2009-10-26 11:04:00

    vczh:
    @韦恩卑鄙
    求alias


    求工号
    求分机号

  37. Ivony...
    *.*.*.*
    链接

    Ivony... 2009-10-26 11:08:00

    winter-cn:

    vczh:
    @韦恩卑鄙
    求alias


    求工号
    求分机号




    求工资卡号、密码

  38. AlexLiu
    *.*.*.*
    链接

    AlexLiu 2009-10-26 11:16:00

    现在的书,就是贵。打了8折,虽然一般都打8折,但是还是觉得一次也就能买一本最多了。

  39. Gnie
    *.*.*.*
    链接

    Gnie 2009-10-26 11:18:00

    老赵都买了?!

  40. 老赵
    admin
    链接

    老赵 2009-10-26 11:33:00

    @Gnie
    卓有成效程序员是买的,
    ThoughtWorks是借的,
    45个习惯是出版社样张。

  41. JIN RIZE
    *.*.*.*
    链接

    JIN RIZE 2009-10-26 12:06:00

    不经过刻苦的实践,就能接受深刻的理论的人还真是天才!
    我看实践和理论的关系,就是蛋生鸡,鸡生蛋的问题,其实就是你中有我,我中有你的。
    管他呢,反正你步入正轨了,就是两者并行发展的。

  42. xiaotie
    *.*.*.*
    链接

    xiaotie 2009-10-26 12:09:00

    程序员修炼之道 实在是经典

  43. winter-cn
    *.*.*.*
    链接

    winter-cn 2009-10-26 12:23:00

    @Ivony...
    爱因斯坦无法代表现在国内大学里的教书的某些老师

    不学无术者占据学术专家的位置(一部分,不是全部,但已经很严重了),把原来应该有的教育资源变成浪费时间的应付考试

    对最优秀的精英而言,确实可以说不论上老师如何都可以成功。但是事实上,现在的问题并非出在这些人身上。大多数的质疑是:为什么大学毕业生动手能力还不如青鸟培训几个月出来的?为什么对面一本的就业率还不如我们二本?为什么名校考第一的学生在我们这动手能力这么差?

    关于实践,我以为实践只是一个方面,我觉得关键是"理解"二字,很多时候在学校学的东西完全没有被理解,只是应付应付考试。能否正确回答"动态规划算法的两个前提条件是什么"跟你会不会DP没有半点联系。

    如果没有理解,我以为实践只会变成另一种形式的考试,大家上网找点源码应付一下而已。

    PS.动态规划算法的两个前提条件是什么?
    答案:
    1.问题具有最优子结构的性质
    2.问题的子问题有重复
    您答对了么?

  44. Galactica
    *.*.*.*
    链接

    Galactica 2009-10-26 12:57:00

    Jeffrey Zhao:
    @Galactica
    呵呵,看来你解读到的内容的确不是我想表达的。我的意思是:因为老师做不到,但又不是老师的错,所以学校还是别面向实践了。就像我写的:“……但是对于老师来说,他们的目标是科研,就像那位老师,除了这堂课,又何必了解Web开发的发展动态?而大学里应该为学生以后发展打下坚实的基础,授以“渔”,授以“能力”,至于实践性的内容,自有实践来培养。”,这里的意思是,老师并没有什么问题,学校也没有什么问题,问题在“面向实践培养”。



    如果一所学校要“面向实践培养”,那它就必须具备“面向实践培养”的基本条件,包括具有“面向实践培养”能力的教师.

    学校该不该倡导“面向实践培养”学生,这和它已经有的条件是没有关系的,而是它打算创造什么样的条件来达成这样的目的.

    所以如果你要说明学校不该“面向实践培养”,那你应该从“面向实践培养”出来的学生的弊端来说明问题,而非从培养的过程来说明问题.

    而如果你要说明学校能不能搞“面向实践培养”得话,这时你才可以用老师的水平,老师的目标来说明这个问题.

    老师的目标是科研,这是对教育理论的歪曲,一个好的科研工作者未必是一个好老师,一个好老师也未必就是好的科研工作者.校园里的老师究竟是搞科研的,还是搞教育的,我想这是一个现实的问题,而非理论上的问题.

  45. 老赵
    admin
    链接

    老赵 2009-10-26 13:08:00

    @Galactica
    我说的老师是大学老师,在我看来,大学是科研机构,老师的目标是科研,这是无可厚非,甚至是无比正确的。
    老师要做的,是培养学生的科学素养(对于工业来说也是很重要的)以及基础知识(更不用说了),而不是为了生产实践而培养一些工业技能。
    学校该不该提倡面向实践培养,我认为和学校有没有条件是密不可分的,是互成因果的。
    学校是科研机构 => 老师面向科研 => 无法照顾好生产 => 教不好实践 => 不应该教实践。
    基本上,这是不可回避的一个矛盾,你要打造优秀大学,几乎就难以做好生产。
    这是从大学的性质得出的结果,我这里只谈大学,不是职业培训机构。
    所以我认为,大学里不应该教生产。

  46. 韦恩卑鄙
    *.*.*.*
    链接

    韦恩卑鄙 2009-10-26 13:30:00

    @vczh
    @winter-cn
    人家是v dash 临时工 还在外派到外汇中心 今天才签的派遣合同 连总部门都没进去过....

  47. 老赵
    admin
    链接

    老赵 2009-10-26 13:34:00

    @Galactica
    当然我想了一下,也不是说不该教,而是不应该“兼职”的教。
    例如,如果老师本就是研究软件工程的,那么他可以讲软件工程课程。
    如果他本就是研究web的,那么它可以教web。
    而不是他是研究操作系统了,但是没有人教web,于是乎……

  48. Nick Wang (懒人王)
    *.*.*.*
    链接

    Nick Wang (懒人王) 2009-10-26 13:38:00

    @怪怪
    又见怪怪的尖锐评论。

    我对于你观点的理解是,Martin这些人分享或者总结的东西,并不是真正大范围适合的,因此根本就不应该推荐或者推广。你不喜欢敏捷和Martin这些人的理由也是这个。你认为他们只不过是为了某些“利益”在打广告,而真正优秀的程序员是不需要这些的。你希望能够找到更好的方式来帮柱所有程序员,而现有的这些统统都是“伪银弹”。

    人类的进步其实是建立在“重用”的基础上的,我们重用了前人的发现、发明、思想和观点,我们才能站在他们的肩膀上,创造更多的东西。然而前人的东西也不一定就是对的,在学习和利用的同时,也需要质疑和验证。日心说之前的地心说不是也有很多人坚信不移么,而现在日心说已经再没人相信了,没准再过几十年,人们才发现,宇宙不过就是一个实验室,我们都是里面的小白鼠。所以说任何时候,我们所相信的所谓“真理”、“事实”其实都是相对的,相对于我们对这个世界的认识程度。

    软件开发行业的历史不过几十年,还远远谈不上成熟,而现在的技术、工具和开发方法和十年前已经有了很巨大的变化。我们其实还处于探索阶段,那么就需要我们去尝试新的方式方法,总结有用和无用的东西。从这个角度来看,分享经验是好事,可以帮助你利用其他人的经验和发现,少走弯路。这其中的缺陷是-就像前面说的-别人的经验不一定就是正确的,不一定就是适合你的。一方面,你自己需要在工作中去实践、去验证这些经验,另一方面,这些经验和方法本身也在不停的进化。以敏捷为例,正是由于越来越多的人使用它,才能发现敏捷中更多的不足,才能知道到底哪些地方是不适用的。直到某一天,人们的认识提高到了更高的程度,发现了更好的方式来取代敏捷,就像现在敏捷在某些地方取代其他方法一样。

    你提到的真正优秀的程序员如何如何,然而他们的成功是不可复制的,不是每个人都是天才,也不可能有一种办法让他们变成天才。而你所谓的天才,就算没上过学,没学过什么理论,就能够做出成绩。但是难道他们所用的语言、编译器都是自己写的?计算机是自己装的?没用集成电路?他们也利用和吸取了前人的发明和思想,只不过在此基础上创新罢了。而那些非天才,虽然不能做多少创新,但是如果能够利用好前人的东西,那么也不错阿。

    我觉得写书没有错,分享也没错,Martin不是自己捧出名的,敏捷也不是自己打广告才有人用的。一个东西是不是适合你,作者是不知道的,所以选择什么技术、什么方法,应该是读者自己的责任。如果你自己没有辨别能力,选择了错误的东西,那么也只能怪你自己了。就像电视上播那么多广告,买不买是你自己的决定。就算是商家忽悠你,也得你相信才行。

    而你一直希望找到的可以真正帮助程序员的方法,在我看来就是不可能的“银弹”,每个人的情况不同,所处的环境也不同,不太可能找到一招可以普遍适用的方法。

  49. 韦恩卑鄙
    *.*.*.*
    链接

    韦恩卑鄙 2009-10-26 13:38:00

    你们在这里教育娘讨论上大学的时候交什么样的男朋友,却乎略了教育娘从小被人猥亵的事实.其实教育娘从loli时代就已经崩坏了, 一两个男朋友是不可能愈合她幼年的创伤的

  50. winter-cn
    *.*.*.*
    链接

    winter-cn 2009-10-26 13:54:00

    @韦恩卑鄙
    哪有总部啊 不都是一个楼一个楼的么

  51. 韦恩卑鄙
    *.*.*.*
    链接

    韦恩卑鄙 2009-10-26 14:06:00

    winter-cn:
    @韦恩卑鄙
    哪有总部啊 不都是一个楼一个楼的么


    有可以下载win7 key网络的地方 就是总部....

  52. 老赵
    admin
    链接

    老赵 2009-10-26 15:07:00

    用firefox看我博客的朋友们,感觉字体咋样?
    为什么我用chrome和ie看上去字体很正式,而firefox就有问题。

  53. Nick Wang (懒人王)
    *.*.*.*
    链接

    Nick Wang (懒人王) 2009-10-26 15:15:00

    ff,挺好的

  54. 菜鸟毛
    *.*.*.*
    链接

    菜鸟毛 2009-10-26 15:49:00

    Jeffrey Zhao:
    用firefox看我博客的朋友们,感觉字体咋样?
    为什么我用chrome和ie看上去字体很正式,而firefox就有问题。


    ff有个默认的字体配置,在配置文件中,没配好,真的会很难看.

  55. winter-cn
    *.*.*.*
    链接

    winter-cn 2009-10-26 15:53:00

    韦恩卑鄙:

    winter-cn:
    @韦恩卑鄙
    哪有总部啊 不都是一个楼一个楼的么


    有可以下载win7 key网络的地方 就是总部....



    韦恩卑鄙:你们在这里教育娘讨论上大学的时候交什么样的男朋友,却乎略了教育娘从小被人猥亵的事实.其实教育娘从loli时代就已经崩坏了, 一两个男朋友是不可能愈合她幼年的创伤的




    彻底被此2帖雷倒

  56. 韦恩卑鄙
    *.*.*.*
    链接

    韦恩卑鄙 2009-10-26 16:19:00

    winter-cn:

    韦恩卑鄙:

    winter-cn:
    @韦恩卑鄙
    哪有总部啊 不都是一个楼一个楼的么


    有可以下载win7 key网络的地方 就是总部....



    韦恩卑鄙:你们在这里教育娘讨论上大学的时候交什么样的男朋友,却乎略了教育娘从小被人猥亵的事实.其实教育娘从loli时代就已经崩坏了, 一两个男朋友是不可能愈合她幼年的创伤的




    彻底被此2帖雷倒


    被我的眼神电到?

  57. 老赵
    admin
    链接

    老赵 2009-10-26 17:01:00

    菜鸟毛:

    Jeffrey Zhao:
    用firefox看我博客的朋友们,感觉字体咋样?
    为什么我用chrome和ie看上去字体很正式,而firefox就有问题。


    ff有个默认的字体配置,在配置文件中,没配好,真的会很难看.


    我看过了,和Chrome的配置完全一样,还是难看,不知道为什么。
    晚上有机会我截点图来玩玩。

  58. 凉粉小刀[未注册用户]
    *.*.*.*
    链接

    凉粉小刀[未注册用户] 2009-10-26 22:25:00

    看到怪怪的发言,本来想说几句的,不想被@Nick Wang全都说光了。

  59. andy hu[未注册用户]
    *.*.*.*
    链接

    andy hu[未注册用户] 2009-10-26 22:28:00

    很幸运其中两本我都参与了翻译,ThoughtWorks的翻译团队是靠谱的!很高兴看到你推荐:)

  60. ddda
    *.*.*.*
    链接

    ddda 2009-10-27 00:01:00

    粗略看过一本,但还没看完

  61. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 00:22:00

    @凉粉小刀
    @Nick Wang (懒人王)

    这个,说实话,每次我都有强调:

    1. 我是在发表个人观点,只是为了在国内社区有点不一样的声音。当然,我认为当我也创造了一门像Erlang这样东西的时候更加合适,但我不知道是不是有那么一天,所以干脆就不等了。

    2. 我的话只是给一部分人看的。我的一部分人包括哪一些,得他们自己判断。说到这里,为了避免这一部分人人中还处于迷茫期的那些被你说服了,我必须再次反驳你:

    a. 就方法来说,银弹可能没有,但是更好的肯定有;只是有人追求有人不追求。

    b. 对学习和进步来说,我已经说的很清楚,只要有不息的热情*足以*,这是观察结果。

    c. 我并不是骗大家“怎样能一定成功”,但是我们至少能增大概率;冒不冒风险则是各人的事情。

    3. 就具体问题其实咱俩讨论的也够多了。说实在的谁愿意围着DHH转那是他自己的事情。但是某些圈子是不是涉嫌自我炒作,什么是Erlang作者所说的一个工业,化妆品如何做到暴利的、有没有可比性,这个每个人心里都有把秤。

    4. 你总是忽略我说的时间。学习某些东西的时间消耗太高,Bob大叔自己说出了这一点。Fowler几年来的变化也体现出很多东西。这才是我说的真正的问题。

    直率地说,即便具体到有些人身上,如果你们希望变成优秀程序员而不是“意见领袖”,我*个人认为*在这个过程中你们浪费了太多的时间,通过观察我们可以知道:这会反而造成*达不到目的*的结果。

    至于我说的对不对,一个是你们的主观想法,一个是未来20年咱们慢慢看。

    当然你可以认为做一个能够熟练掌握现有方法论、并适应变化的架构师、管理者,就已经足够好了;但你得允许别人选择不满足于这个,无论他是不是能成功。

    我当然可以建设性的给管理方法论添砖加瓦、滔滔不绝的介绍我所掌握的操作方法论和具体如何操作;但是那不是我存在在社区中的意义。

    好比北大青鸟就不说帮助了一些人,但是总之是有人需要;不同的层次总会有不同的北大青鸟,这个难道我还不能接受吗?我实际上像老赵一样,扮演一个“坚定的北大青鸟反对者”而已。

    就像winter-cn所说,阅读成功学不太可能得到成功。但成功学总能卖的出去,这也是一个“工业”;而且也许,它们确实能让很多人活得更舒服一些,供需是硬道理,从这一点上我认可它的存在。

    另外不针对任何人的说一句,那些连某个层次上的北大青鸟讲的知识了解的还没有我透彻的兄弟,就不要企图说服我这个外行了;完全不了解计算机科学基础理论的也是,大家的知识背景都不一样(虽然我认为自己已经够差的了)。

    如Knuth所说,你就是使劲摇我的脑袋也不可能让我“清醒”的。

    最后再强调一遍,即便对于仅以开发工程师或者程序员为职业的人来说,我*个人认为*的最优策略也是保证自己具有正面的感情,比如负责任、上进,自然能写好程序;其它的,每个人都要适应周围环境,不强求。

  62. xiaotie
    *.*.*.*
    链接

    xiaotie 2009-10-27 01:30:00

    Carmack 在算法上的成就比不上顶尖博士,甚至连一般的博士都未必比得上,他身上有太多媒体赋予的光环,他的成就主要还是在实践上,是对已知算法的技巧性实现上。算法方面,那些NB的博士生发明的NB的算法太经典了,只因为很少报道,只在小圈子里才耳闻。比如,Canny 当学生时提出的边缘检测算法,太惊才绝艳了,翻他20多年前的原始论文只翻了两页,俺就被震撼了,这种人用天才的洞察力,一下子洞穿了一个问题的实质,给这类问题带来牛顿于力学这样的突破——很多时候,我们知道问题是什么,但无法洞穿它,直到一个天才出现。

  63. vczh[未注册用户]
    *.*.*.*
    链接

    vczh[未注册用户] 2009-10-27 01:37:00

    @韦恩卑鄙
    原来是弯得儿啊……

  64. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 01:41:00

    @xiaotie
    :) 我只是说对已知算法的了解。实干派很少在算法上能有突破,但是绝对不是顶尖博士能看懂的东西他却看不懂的水平。

    另外一点,天才也是需要前人积累的(鉴于此帖上下文,不得不加一句很少包括狗皮膏药类的积累)。牛顿一方面很自负,但是我觉得他那些谦虚的话,也不是假的。

    其实我这个“顶尖博士”说的确实有问题,不如说“顶尖学校的博士”,后者的论文我也看过一些(局限在Parsing方面)。说实话惊才绝艳的东西并不多,所以我对一般的博士,可能看得有点低。

    要说Carmack的话,我主观上确实偏向他。说他身上有太多媒体光环我觉得并不确实。也就了解游戏的人比较关心他而已。

    最近的X-Space大赛,Carmack的小组又拿名次了吧。我觉得这样的人也好,那些“顶尖的博士”也好,他们共同的一点就是能够不停的在恰当的问题上投注时间。

    对了,关于你说的这个边缘检测算法,能不能搜到?最近可能有简单的这方面的应用,拜读一下先。

  65. vczh[未注册用户]
    *.*.*.*
    链接

    vczh[未注册用户] 2009-10-27 01:42:00

    @怪怪
    当然从一个上大学之前几年就开始自己没事折腾程序一直到了工作还觉得一天没写代码就浑身不舒服而且还专门折腾编译器的人的角度来说,想把代码写好需要有三个条件
    1:有良好的数学修养
    2:觉得不写代码就是要自己的命
    3:不要太穷

  66. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 01:48:00

    @vczh
    你说的太对了,这就是我要说的。

    我要补充的是,第一点是可以逐渐改变的,第三点可以通过降低自己的生活需求来赢得时间。

    我很直接地说一句,整个楼里我只在乎你怎么看待问题,虽然你开始没说什么而且好像比我年轻;很早就关注你的博客了。

  67. vczh[未注册用户]
    *.*.*.*
    链接

    vczh[未注册用户] 2009-10-27 01:56:00

    @怪怪
    我觉得我就是在玩代码,从来没想过自己能为社会做点什么贡献

  68. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 02:07:00

    @vczh
    嘿嘿,我要向你学习了。

    不是说“不为社会做贡献”,而是说少四处发骚。我曾经说过,程序员能越来越强,就是对社会的最大贡献。

    P.S. 我看你似乎也偏好于LR(园子里的装配脑袋也是),这一点我和你们很有分歧。

    我相信通用算法如GLR或者Earley族的算法在用户自定义语法领域会有更好的适用性(还有适度上下文有关的算法,但是实在没时间看了,还没到看论文是吃饭喝水的水平);而GCC C++的转型说明,对于特定语法,也许手工递归下降才是最好的。

    (据脑袋跟我说,现在很多主流语言的实现都是手工递归下降的,不过他还是选择了LR)

    我个人喜欢和实践比较多的是Earley族的,又好使概念又简单,便于逐步优化、扩展而得到进化。不过优化到接近LR的速度(在碰到DPDA的语言时)工作量不小。不过AntLR作者的LL(*),这个也号称很牛,但是找不到太过公开资料啊,有没有介绍?

  69. xiaotie
    *.*.*.*
    链接

    xiaotie 2009-10-27 02:39:00

    (1)
    不得不再补充一些,那些NB的博士生、NB的教授,写出的代码实在惨不忍睹,大概是博客园中最差劲的那种水平,看他们的代码是在受罪。但是,他们解决了问题最关键的一环。Carmack 们是站在他们的肩膀上。前些天看TPS插值算法,这个算法是30多年前提出的,写下来也就一百多行代码,非常优美,它用插值思想,有效的解决了一个重要的问题——一个形状A变形得到形状B,怎么样进行坐标转换。在最近这十年,随着计算能力的增强和一些补充算法的提出,TPS大放光彩,哦,其中一个从中国过去的博士生对此也做了很有意思的工作。btw. 对于TPS,我能够写出正确的算法,我也能用它来解决我的问题,但是,至今,我还搞不懂它为什么能解决这个问题——写论文的那帮家伙写的极其简略,俺根本看不懂。
    (2)
    我以前也盲目的觉得实践比理论重要,经验比研究重要。在毕业最开始那几年,搞实践的同学们的光芒盖过了搞研究读博士还没毕业的那帮同学。最近几年,搞研究的一毕业,马上翻身,过着十分滋润的美元日子。
    (3)
    中国的大学教育制度,可能是这个问题,最开始的大学教育是精英教育,那时的大学生很少,现在的大学教育是大众教育,这个转型太过凶猛,以至于教师、教学方法、指导思想、教材等各方面都还跟不上。同时,俺也狂赞loli时代就崩坏这一观点。尽管如此,在这个教育环境下,如果努力,还是回报丰厚的。很多当年看来不合理的事情,现在发现很合理。
    (4)
    还是弄自己乐意的最有意思,自得其乐也挺好的,而不是为了成为谁谁谁,什么优秀的AA,NB的BB,卓越的CC,伟大的DD。

  70. xiaotie
    *.*.*.*
    链接

    xiaotie 2009-10-27 02:58:00

    @怪怪
    嘿嘿,我不信 Carmack 能够在一周内将TPS完全搞懂(写出这个算法很简单,我只花了半小时就搞定了),那意味着他要补很多课程。Carmack的工作实质是把一个算法,用最有效的手段来实现出来。而博士的工作主要是在创造和发明,以及在现有理论和方法上添砖加瓦,和Carmack是不同性质的工作。所以我不同意
    Carmack在算法上的成就具有博士水平,更不说欧美那帮顶尖博士,他只能算"荣誉博士"那类。从学院的角度来看Carmack的价值是微不足道的。
    Canny 那篇文章叫 A Computational Approach To Edge Detection,网上有原文。代码到处都是。精彩之处不在于算法本身,而在算法的推导过程。

  71. xiaotie
    *.*.*.*
    链接

    xiaotie 2009-10-27 03:17:00

    Carmack的光环我感觉主要还是有那本书和几篇媒体文章的渲染,就像在中国陈景润几乎人人都知道陈省身知道的人不多一样。
    如果进行宣传,在暴雪的设计师里能挖掘出不少偶像出来(当然不是算法方面,而是游戏设计方面),WOW里的战场设计多么经典啊。就因为没媒体的报道,我根本不知道是啊个或哪几个坏小子设计出来的。

  72. vczh[未注册用户]
    *.*.*.*
    链接

    vczh[未注册用户] 2009-10-27 03:23:00

    @怪怪
    搜ANTLR就到主页了。话说最近正在重造C++车轮,还有用C#写一个简单一点的跟Visual Studio Shell架构差不多的东西,完了用来组合成类似ANTLR那样子的东西,给C++编译器前端生成代码,或者将来可以成为自己脚本的IDE什么的。光用多没意思。

  73. vczh[未注册用户]
    *.*.*.*
    链接

    vczh[未注册用户] 2009-10-27 03:25:00

    @怪怪
    我支持LR没什么理由,就是直接写太麻烦,我比较懒。

  74. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 05:40:00

    @vczh
    呃,不是再说用AntLR啦,我是说他自己宣称LL(*)(不是LL(k))是史上最牛NPDA语言的算法,能像所有通用算法那样工作,但对于DPDA语言具有LR(1)甚至手工打造的效率。

    可惜他就是没有仔细说这个算法的来龙去脉。

    @xiaotie
    这个,不可否认的是JC是第一人称FPS和电脑上即时3D这两个方向的主要开创者(游戏机上后者是VR战士1和SEGA)..,我把它(们)定为偶像还在那本书和媒体报道之前的很小时候了..

    放在04年以前,要是以新技术市场化而论,另一个不可否认的是,他总是走在最前面。从2.5D一直到即时光影。所以我觉得他的光环并不是陈景润那种靠一个点搏出来的。

    事实上虽然Westwood太不灵了,但我仍然把C&C和沙丘看作RTS的首创者。(WoW不了解)暴雪在于在游戏性上能做精:说实话我的反社会倾向你也看得出来,不过仍然被暴雪折服了。

    我觉得都作为偶像级,还是有差别的。id实际上并没有暴雪热,可所谓的“卡神”在游戏性之外却铸就了自己的荣誉和地位,我觉得哪怕是媒体偏爱,也仅仅是结果而不是原因。

    关于某具体算法说他能不能多长多长时间看得懂...,就像你说的,我认为他做的就是消化吸收尝试实践的活儿,而且干了多少年了?应该还是比一般人甚至(我认为)大多数博士强些的。

    一般的硕博论文非常出色多吗?每次看主要是专业记号、说法太费功夫,一旦掌握足够的背景知识和他们的“语言”,大多数论文还是不难读的。要说的是,而我可是一个相当二流的阅读者。

    要不可能说你看的论文都是顶尖博士最棒的那些成果?要不就是图形学确实比形式语言要难很多也不一定。

    那么干脆换到咱们的标本身上,比如Carmack和一个刚转到这个方向的在读博士,出于各自的目的都需要了解图形学前沿的某个分支,就年头而言很可能Carmack了解的背景知识比这个博士还多。

    我看不出来不是学院派身份会造成Carmack的论文理解能力低于这个博士的原因(做一个假设,这个博士就是你考出国外的一个同学)。

    我觉得你有点神话读书做研究的人,而且这种神话恰恰是现代社会才兴起的(虽然来自学院的歧视已经有悠久历史了)。任何一个科班出身的也和野路子一样,不可能一下子掌握很多东西。

    你可以认为我这是一种诡辩,也可以认为这是一个推理。不过你的表达恕我冒昧,似乎也仅仅是从你自身体验出发,然后认为别人既然从成分划分上和自己有相似之处,没道理他就行。

    一个尖锐的问题:假设明天我决定去拿出5年时间考硕士上博士,而且尝试的是国外名校,那么你是认为我无论付出多大努力也一定没戏呢,还是等着几年后刮目相看,认为我比你更有价值呢? :)

    我想说的只是,似乎莱布尼茨也是半路出家的;别说顶尖实干派,即便是你我,如果说看什么太费劲的话,也仅仅是在那方面投入的精力不够罢了。

    说到价值问题,算法的研究,要是在最传统的学院派观点看来,恐怕比Carmack的工作也有价值不了多少:不就是靠小聪明解决了某具体问题嘛,对核心理论的贡献是相当有限的。

    靠怎么感觉咱们这儿跟玉米和凉粉似的。不过关于任何一个还能称得上是程序员的,确实,在大多数学院派眼里,几乎等于0。另外的例子就是爱迪生和最近给妖魔化了的特斯拉之流了哈哈哈。

    (那些专门折腾面向对象的硕博或者大教授又如何呢?到今天连严格化工作都没进行多少。DP95也是博士论文改编的吧?不过搞实验性质的工程研究的家伙可能难说是真正的学院派。)

    另一方面,就我还能看懂一点的形式语言甚至更基本的可计算性方面,最近30年进展也极其缓慢,到底那些硕博是不是比实干派更优越都不好说了:所以有人管1960~1980叫做真正的Golden Age。

    其实那些数学史学家倒是把在数学发展上的相同问题掰吃得很清楚,重要性基本上是三十年河东、三十年河西。我在乎的只是谁满腔热血的去干了,是不是真正投入了,他就是好样的。

    (鉴于上下文,我不得不多说一句,我不是说理论研究又容易又不重要。我恰恰是说,有在一定程度上掌握理论的能力对普通程序员来说是*可能的*而且是重要的)

    说到目标,我觉得目标能不能达到要豁达,但是没有目标恐怕是不行:既然弄了就必须弄透,限于资质可能当不了什么顶尖的,不过弄个半瓶子醋时决定停止了,这个有点抓痒痒却抓不着的感觉。

    这才是我说的对我这样的平庸之辈的优秀的要求:不是说得闻达于世什么的,没什么开创也不打紧;可是是不是我*本应能做到的*,我全都做到了?

  75. 老赵
    admin
    链接

    老赵 2009-10-27 09:30:00

    楼上几位继续,我就呆在一边仰视你们了。

  76. 老赵
    admin
    链接

    老赵 2009-10-27 09:37:00

    看了你们说的这些,我猜我当不了优秀程序员了,嗯嗯。
    所以,还是努力着看看吧,不强求,不强求……

  77. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 10:28:00

    @Jeffrey Zhao
    要说希望渺茫,我肯定比你渺茫,这是真心话,所以站在我的角度才会产生“老赵可别被耽误了”的感觉;所以即使我不确认我的想法是对的,我也要跳出来喊喊....

    至于咱几个在这侃大山、拌嘴的话题...,有任何真正的实用价值吗?玩玩小时候“是独孤九剑厉害还是东方不不败厉害”的老游戏罢了 =D

  78. 水果阿生
    *.*.*.*
    链接

    水果阿生 2009-10-27 11:23:00

    我说,各位有在学校任教过,或者有朋友在学校任教的吗,如果有的话,你就了解为什么回事这样了。任何事情的始末,都在于其制度的支持,倘若没有好的制度,便没有好的结果。大学教育这个样子其根源在于培养和选拔人才的制度。
    我国的教育制度,尤其是大学教育,一开始并非普及教育,而是精英教育,盖因为中国地大人多,所以精英政治是最好选择,而大学教育之培训目标在于培养少数人成为精英,把他们充塞于各个紧要部门,则国家政策,皆可出于这些人之手。这也是大学教育偏理论而少实践,且无论何种学科都要求学习政治理论,国体,政体,这些课程的本意所在。一个精英无论从事何种管理岗位工作,如无对国家大局的争取把握,则无论专业水平如何,都不能胜任。且实践动手工作,定有手下人来做,领导之工作在于动脑与动口。
    同时,国家对大学生的培养所花费的心思,费用,都要求回报,所以一个人考上大学,意味着工作已经不用担心,且身份已由普通公民变为干部。不要小看这一身份变更,中国是没有阶级的社会,但是却是了泾渭分明的“流品”社会,所谓“流品”就是那些大家都在心理默默保有的挂念,比如古时候就有所谓“下九流”只说,当然今天笑贫不笑娼,所以流品观念淡漠,这也是干部身份不吃香的原因,但是说起来,在早期,干部身份是一种很重要的东西,意味着你,一个公民,就有了进入国家管理职能部门的身份,你没有上大学就没有这个身份。
    综上,这是大学教育的初衷,也是中国大学教育之由来,倘若你说今天教育机构为什么如此,则不能不考虑这一由来。当然,倘若一切都能按照这一制度设立时之构想,则也无改革之必要了。
    其后,朱相倡导教育改革,此改革之目的并非是为了要给国家多拿收入,而是要从根本上破除“流品”,教育之改革,只是政体改革的一部分,因为当时公务员数量臃肿,且多是书本经验丰富而无实践经验者,且限制从政人员之身份,等于拥塞人才上升之道路,好的政府会把政府开放于全民,任何有本领的人都可以参与政府工作。
    从政府角度这绝对是个好事,但是从大学角度则未必,首先,由于没有流品之观念,大学生的社会地位一落千丈,再不能凭所谓文凭一步踏入社会之高人一等的行列,必须凭真才实学与人竞争,而社会工作往往不重理论知识而看实践能力,于是大学生则全无优势了。
    其次,流品观念虽然已经不为社会广泛认同,但是在很多地方,很多人的挂念中依然有流品的挂念,也就是大学生高人一等的观念,于是这就遇到很多大学生就业与现实落差的问题。
    第三,学校方面也很为难,本来大学的工作并非培养人就业,而是培养人学术和品行,因为培养对象将来直接进入领导工作,所以实践经验与学术能力和品行相比似乎还在其次,中国历史政治应承于缺乏法制,所以往往对执政人之道德要求较高,因为权利无法制衡,所以只能靠持有权力者自制。所以传统教育在于进行学术和德语教育,学术精深者多半志趣都在学问上,所以胡作非为的机会会少一点,而德语教育更是脱离实际。综上,大学教育的工作本来就在于学术和德语教育,而培养动手能力倒在其次。今天情况大为不同,市场化之后,大家对德育教育已经毫无兴趣,学生要在社会上立足,德语教育则往往起反作用。而学术教育之精神在于钻研,而实践工作则强调速成,两者本身有悖,所以学校也无所适从。
    综上,我以为要解决这问题,应该从三个方面入手。
    1.彻底打破流品观念,作为按劳取酬,同工同酬。
    2.教育机构按照学术教育和实践教育分化,给予同样的文凭,以弥补流品不能打破的缺陷。
    3.涉及政体改革,不适合在此发表。

  79. 韦恩卑鄙
    *.*.*.*
    链接

    韦恩卑鄙 2009-10-27 11:40:00

    怪怪 你和老赵交往算了

  80. 飞笑
    *.*.*.*
    链接

    飞笑 2009-10-27 12:09:00

    老赵,小心得痔疮!我已经有征兆了!都是上厕所看书看的。

  81. 老赵
    admin
    链接

    老赵 2009-10-27 12:11:00

    @飞笑
    不是号称十男九痔么……

  82. 飞笑
    *.*.*.*
    链接

    飞笑 2009-10-27 13:32:00

    Jeffrey Zhao:
    @飞笑
    不是号称十男九痔么……



    原来大家都是有志青年……

  83. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 13:43:00

    @韦恩卑鄙
    日了,你看他上面83楼说的,明显不合适......

    @水果阿生
    前半段好说,后半段还真是有那么点意思,长见识了。不过考虑到你一贯的风格,很难确定你的意思的正反,嗯嗯,也许我是傻了一点。

  84. 水果阿生
    *.*.*.*
    链接

    水果阿生 2009-10-27 14:45:00

    @怪怪
    恭喜恭喜,你总算理解我可能说的是完全相反的意思了。好吧,你猜测我到底是赞赏还是在反讽呢?不过不要公开答案,只需默默猜测就好,也许有一天,我拿了萨哈罗夫奖,你机会知道我是一种态度,又或者有一天我上了CCTV,你会知道我其实是一种别样的态度。

  85. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 14:59:00

    @水果阿生
    嘿嘿,同喜,人总要进步的嘛~~

  86. DiggingDeeply
    *.*.*.*
    链接

    DiggingDeeply 2009-10-27 16:39:00

    怪怪的发言太多了,但是我也比较赞同他的观点。
    敢于质疑是很优秀的品质,不管最终质疑的结果是对还是错。每个人发展的路程是不一样的,所以也就没法按模按样的复制成功。

    说说青鸟,青鸟没有错,他虽然将很多人误送上了开发的道路,但是他却是也帮助了好多想学习编程但是无从学起的人,实现了他们的梦想吧。至于以后的发展,那就看个人的造化了,跟青鸟没有关系。他们的路是他们自己选择的。


    最近好久没来园子,发现了好多新话题。

  87. xiaotie
    *.*.*.*
    链接

    xiaotie 2009-10-27 22:01:00

    @怪怪
    我的回复主要是就事论事,回到 Carmack 看 Paper 以及‘算法成就’的问题。主要问题是博士生的数学基础很好,Carmack 大学没毕业,我不确定他的数学怎么样(传统的图形学对数学要求并不高),而现在的图形学那一块,因为计算能力强大了,非常多的数学工具都可以用了,大部分应用数学工具都来了,所以我认为Carmack没有有普通的博士生看的快(也许他的理解更深刻一些)。Carmack的成就是‘工程’成就,而非‘算法’成就,他的算法成就好像就一个。

    对于价值评价,我在价值的前面加了定语‘学院派’。价值评价是很复杂的问题。关于价值,如果不加定语,俺的观点是到现在为止,金钱是对价值的最有效合理的评价,这样就可以得出 啤酒盖子 > Carmack > Canny。如果加上定语'学院派'或对人类知识体系的贡献,那么应该是 Canny > Carmack > 啤酒盖子。虽然,啤酒盖子推广windows,使更多的人用上了 windows,从而更容易的操作电脑,这些人中又出来了一些人,对信息技术做出了贡献,这些贡献分一些分到啤酒盖子身上,然后求和,得出的成就很高,但这个弯拐得太大太难以评估了,就把它忽略掉吧。不然,牛顿他父母对人类知识体系的成就就会高于绝大部分人了。

    至于OO,搞了这么多年了,鸡肋了。
    对于莱布尼兹,不谈,俺反莱布尼兹、反乌托邦。

  88. 怪怪
    *.*.*.*
    链接

    怪怪 2009-10-27 23:23:00

    @DiggingDeeply
    没办法,说的多比说的少容易啊,水平不足的缘故。

    不过青鸟的观点别说老赵不同意,我也是有意见的:关键是那个宣传调子,背后的动机都不谈了。

    如果青鸟别那么夸张,至少我就不会说什么,说不准还偏向到“有价值”的评级。

    @xiaotie
    嘿嘿,其实我认同你说的,我记得原来说过,1000年后没人在乎Gates是谁,倒是德布罗意波很可能还是这个叫法,即便那真是他胡诌出来的 :)

    如果说我不是完全是插科打诨,唯一一点区别就是个人天分也罢、机缘巧合也罢,都有一个自己的安身立命之所,然后形成了一些圈子,这些圈子里顶尖的总是少数。

    非顶尖的那些,即便在圈子内的课题上也未必就比圈子外的人强;至于我的歪理,上面已经说过啦,乐呵乐呵算了 :P

  89. 冰の酷龙
    *.*.*.*
    链接

    冰の酷龙 2009-10-29 12:35:00

    强人们讨论,俯视后发现自己渺小的紧啊。

  90. 刘领福
    *.*.*.*
    链接

    刘领福 2009-11-26 10:37:00

    我也来顶老赵一个,看你的文章收益非浅哟。

  91. 七心葵
    61.172.204.*
    链接

    七心葵 2011-01-23 19:25:02

    开始看老赵文章写得好,关于高等教育啊,关于计算机科学啊,关于软件开发啊,有些经历我也有过,很多观点 于我心有戚戚焉,再往下看评论才看到很多更有意思的东西,呵呵。

    牛人众多,且研究的都是我不熟悉的领域(我是做c/c++/linux 游戏服务器的,兴趣曾经经历过 系统架构底层机制操作系统网络安全,Unix/linux网络管理编程文化, OO模式架构,敏捷TDD重构,web前端开发技术框架,AOP元编程动态语言,语言范型,别被唬住了,都是蜻蜓点水,呵呵,别骂我,图形学固定管道渲染也看过一点),但是对于诸位高人提到的高级算法啊,计算理论啊,形式语言啊没有研究插不上话。

    比较注意是 @怪怪 犀利坦荡幽默得体的文笔,考虑到我也有过那么一段对系统底层非常有兴趣的岁月,且看到 怪怪 观点独树一帜且言之有物,我相信他是有自己的角度的。

    但是注意到 怪怪及其同党 的观点 似乎是冲着牛人大神的方向去的,而复杂系统的构建 应该是不同于 其所举例子的那些牛人的功绩的。话说回来,如果你真是个天才,可能真的就不用啥oo啊敏捷啊的方法论,随便搞,只要你的实现能力能跟得上你的设计能力,假以时间,一定可以搞出来东西。

    我个人理解 martin fowler 之类的思想家的好处就是 帮助普通程序员处理系统设计中的复杂性问题(人脑的 7+-2 限制);我也不同意 怪怪 所说的他们没有真正拿得出手的东西只会传播布道的说法,因为有另一位大牛 spring之父 Rod Johnson,不仅理论高深《j2ee without ejb》一书,其所创的 spring 更是帮助了无数的人处理复杂多变的企业应用软件。而卡马克当时单机版游戏的复杂程度跟现在的mmorpg游戏的复杂程度应该也是无法比较的,我相信WOW甚至不是几个卡马克可以做出来的,但一群普通程序员加上好的开发思想是可以做到的(只是指技术方面,当然游戏策划是最重要的);而企业应用方面的东西,比起游戏逻辑恐怕还要更加复杂多变的多。

    我曾经对比着看过《unix编程艺术》和《程序员修炼之道》,两者之间有很多想通的东西,也有很多总是让我觉得互相抵触的东西。现在想来,也许就是 老赵 和 怪怪 之间分歧所在了。

发表回复

登录 / 登录并记住我 ,登陆后便可删除或修改已发表的评论 (请注意保留评论内容)

昵称:(必填)

邮箱:(必填,仅用于Gavatar

主页:(可选)

评论内容(大于5个字符):

  1. Your Name yyyy-MM-dd HH:mm:ss

使用Live Messenger联系我