刘未鹏|C++的罗浮宫

Knowledge sharing is the best reuse

刘未鹏ID:pongba
[修改头像]
703938次访问,排名42好友7人,关注者62
pongba的文章
原创 99 篇
翻译 8 篇
转载 0 篇
评论 1509 篇
刘未鹏的公告
除非特别声明,本站采用Creative Commons License许可。转载请注明作者、出处,非商业。

喜欢这个Blog的风格?见这里这里,还有这里

我的豆瓣饭否

讨论问题请到TopLanguage小组

TopLanguage

gtalk/msn(邮件请发送到gmail邮箱)

pongba@gmail.com
pp_liu@msn.com

订阅C++的罗浮宫

  • FeedSky
  • 订阅到鲜果
  • 订阅到Google
  • 订阅到抓虾
  • 订阅到BlogLines
  • XML聚合

搜索C++的罗浮宫上的内容

最新发表

    whaz going on


    饭否

    books I've translated




    最近评论
    李彬:我大一本科,也是所谓的“信息与计算科学”专业的,现在拼命学习C++,学些高代 分析之类的课,其他课实在没兴趣,我接触电脑业比较早了,前辈们的经验一定会让我少走弯路的
    pongba:@julie:
    sorry, 不知道啊:-)
    Kenny:“肯德基和麦当劳的食物中的热量早就超过了人体所需,但我们的身体系统还是照样笑纳”

    对这个,我有点话要讲:肯德基和麦当劳套餐一直比中餐馆的食物更健康——当然,这个是从统计意义上来讲的,如果有个MM进中餐馆后一直点素炒苦瓜加一碗米饭那就别说了

    我觉得你这句话写得有失水准,平时看BLOG感觉你满有深度的,但这一句可能是人云亦云得太多了吧?
    julie:请问:Viking Adult出版社在哪个城市?

    我在豆瓣上看到你读过斯蒂芬平克的思想的材料

    pongba:@bigfatsea:
    Ma和Mb只需要两相比较便至少可以扔掉一个,所以不存在复杂度问题。
    另,你的方法,包括上面列的方法,本质上都是一样的。用的都是一个关键性质。所以..
    关键是不同的思路,引领到同样的答案。
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes
    文章分类
    收藏
    相册
    其它图片
    文章中的图片
    我的大头贴
    C++
    Andrei Alexandrescu
    Andrew Lumsdaine
    Bjarne Stroustrup
    boost
    C++ Standard Commitee
    Doug Gregor
    Hans J. Boehm
    Jaakko Jarvi
    Jeremy G. Siek
    Matthew Wilson
    newsgroups
    boost.Developer
    boost.User
    comp.lang.c++.moderated
    comp.std.c++
    TopLanguage
    Open Source
    codeplex
    Google AJAX Search API
    Google Code Prettify
    Google Web Toolkit
    MS shared source initiative
    notepad++
    STLSoft
    不认识的朋友们
    fatalerror99
    Yelz
    余晟|乱象&乱想
    刘慈欣
    姬十三
    张志强|阅微堂
    许式伟
    阮一峰
    鲍志云
    其它
    科学松鼠会
    科学美国人
    科幻世界
    认识的朋友们
    chenyufei
    duguguiyu|Venus神庙
    Joyfire
    littlestone
    lxwde
    Matrix67
    soloist
    云风
    刘江@图灵
    史晓明
    周星星
    周筠@博文视点
    孟岩
    张振
    徐宥|4G Spaces&Web 2.3
    方舟@博文视点
    李笑来|Pure Pleasure
    杨文博
    王信文|地球没有好朋友
    荣耀
    莫华枫
    袁泳(g9)|负暄琐话
    谢东升
    陈冀康@华章
    存档

    原创 Joel Spolsky在耶鲁的演讲无责任导读

    新一篇: 学习C++:实践者的方法(Beta1)

    Joel Spolsky在耶鲁的演讲无责任导读

     

    By 刘未鹏(pongba)

    C++的罗浮宫(http://blog.csdn.net/pongba)

     

    大嘴Joel最近在耶鲁作了场演讲,照例是诙谐尖锐,有趣有益,目前他的blog上放出了两部分。

     

    g9老大TopLanguage上推荐,就一溜小跑去读了,读完了觉得很有意思,因为没有时间全文翻译,所以就总结了一下其中的要点和有趣的地方,也就是下面的无责任导读:

     

    第一部分(http://www.joelonsoftware.com/items/2007/12/03.html)导读:

     

    1. IT的,一定要尽早知道自己到底适不适合搞理论(PhD),这可以通过去上一些很PhD的课来自我评估(当年Joel是无意间撞上了,那个教授在第一堂课为了证明f=!f——fbool变量——在运行偶数次之后的值还是原来的,整堂课(还加上拖课的时间)写了一黑板,用上了归谬法、归纳法、穷竭法,最后绝望地用上了“研究生法”——一个研究生在她绝望地发现忘记了某步证明的时候站起来说,“啊,对对,就是那样证明的”)。

     

    2. IT的,一定要尽早知道自己到底适不适合搞coding。这同样可以通过上一些很coding的课来自我评估(再次,Joel当年是被逼的。当年那个教授每星期布置40个小时才能完成的coding作业,OMG… 给的学分是1.5,但由于0.5只有遇到另一个0.5才算1,否则不算(晕,56入啊),同时那个系却另外有两个多出0.5的,结果这门课的0.5等于白拿了。Orz…

     

    3. 对于软件质量这个说法,要以用户意见为核心考量。根据经济学中的边际效应递减(Diminishing Return),在bug方面花的精力越多,得到的收益也越小。因此,将"完全无bug"作为衡量质量标准也许在一些非常极端的环境下(军事?金融?)是有用的,然而在大多数商用软件方面都是没那么重要的。

    4. WindowsGUI作为第一类平台导致了Windows上的各种应用只提供GUI操作逻辑,而不提供可编程的非GUI接口;进而导致程序员,比如说,没法调用photoshop来进行批处理。

     

    5. 软件的外观很重要:P

     

    6. 搞软件正确性验证的一帮geeks脑子全都灌水了,类似于搞物理的去搞永动机。(Joel的逻辑是,要验证正确性,首先要确定"什么是正确的",而要确定什么是正确的,就必须先写出一个关于某个软件的正确行为的严格定义来,这个定义必须要严格到...极其严格...才行,要能够涵盖所有定义的行为和未定义的行为...严格到其""跟代码自身的熵都一样了,可以互相转换了。这么一搞,等于把一个烂摊子转成了另一个同样烂的摊子...无语...

     

    7. 高水平和低水平的程序员文化也反映在大学的课程上,从好的大学(Linux&Unix加理论课程),到差的大学(Visual Studio 2005入门精要,21天搞定SQL Server啥的)。

     

    关于第一部分的演讲,再转一段g9发在TopLanguage上的感想:

    Joel的文章一向有趣。文章里照例不少营养。比如说软件质量不能被自动检测出。穿西服的在某种意义上未必不懂得什么是软件质量。里面被Joel鄙视的CS理论教育简直就是我当年上学的翻版。看得我狂笑。比如说用动态逻辑证明f := not f的某个性质非常困难。比如说要写出机器能验证的spec难度不比写 出程序小,无非是把写程序换成写spec罢了。比如说"At Ivy League institutions, everything is Unix, functional programming, and theoretical stuff about state machines. "。记得大四时看到一门课,叫Program Design,就想当然地修了。哪知这门课就和那门动态逻辑课一样,证明比程序复杂,连写出对问题的描述都比程序复杂。一怒之下放弃。幸好我的导师见机得快,不再追求自动验证spec,而转为追求检验程序的某些性质。虽说大众了点,但比用范畴论验证需求这种不靠谱的研究有意思多了。”

     

    break

    continue

    以下是第二部分(http://www.joelonsoftware.com/items/2007/12/04.html)导读:

     

    1. 别做in-house(内部用)软件,千万别做in-house软件,做in-house软件不如回家卖红薯。为什么?做in-house软件,你永远没机会把事情做对,只有机会把事情做得差不多。比如,一个做铝罐的厂会叫,比如说,IBM,提供程序员给他们做软件,而IBM狮子大开口——300刀每小时——提供一个学了6星期"叨耐特"的毕业生,你说雇主还会让你慢慢磨蹭把功能完善更完善?不不,只要主要功能实现,管什么界面,管什么鲁棒性,赶紧拍屁股走人,或者拍屁股去修补别人去年留下的烂摊子。于是,你搞出来的东西就跟狗啃的一样而且你还不能啥啥语言酷就用啥啥语言,RubyAjax?不不,您老还是打开Visual Studio拖几个控件,连个把数据库,赶紧把功能给搞定了吧。300刀一小时,你拿不到,我还是要掏腰包的。所以,忘了"编程的艺术"这种crap吧,忘了作为程序员的荣耀和自豪吧... 那些都是虚名,就像浮云一样... 27年以后他们会发给你你一个纪念金表...噢不,现在已经不给金表了,现在,27年以后你得到的是腕管综合症(控件拖多了吧小样?)。所以说啊,叫你千万别做in-house吧,做in-house软件是不好滴,如果做in-house软件好我不可能不让你做in-house软件啊,你想做in-house软件吗...

     

    2. 别做in-house软件。干嘛?因为做in-house软件,你永远不会像做facebook那样实现的功能跟公司命运息息相关,后者你可以花上一个星期去捣鼓界面上的一个小特性,因为你的产品是要给大家用的。你有机会实现真正漂亮的东东。另外,你能得到上司的重视,你的职业生涯与你的技术挂钩。而作in-house软件你就只能跟另外两个人猥琐在一个阴暗的办公室角落,面朝没有窗户的墙壁,挥汗如雨地猛敲HTML代码;而产品经理本人则坐在宽敞明亮的大办公室里面晃悠。

     

    3. 石器时代的管理理念是管理者应该告诉下属应该做什么。然而真正懂技术的却是...懂技术的一帮家伙;所以,遇到这种管理方式,你得自认倒霉,赶紧另谋出路。Joel原来在微软的时候,老是有一帮家伙跑到应用部门的头头那里争论技术问题,头头便跟他们打打屁,讲两个荤段子,然后叫他们自己的问题自己搞定。这才是管理一群有头脑的geeks的最佳办法。而回到Joel原来待的一个叫Juno的地方,那儿的头头却认为管理者应该负责决定,结果呢,由于要做的决定太多,于是搞了一个啥子"微管理",最后搞到对话框上的日期输入方式都要折腾一番,Orz…

     

    --

    1. 最近Feedburner抓取feed似乎出问题了,然而还有近200位同学通过Feedburner订阅了C++的罗浮宫(本来用FB的时候没预料到“墙”的问题,sigh~),所以,麻烦用FB订阅的同学转为用下面的feedsky订阅:-)

    http://feed.feedsky.com/pongba

    又或者你也可以直接订阅原始rss(因feedsky的服务似乎也似乎时有问题):

    http://blog.csdn.net/pongba/rss.aspx

    2. C++的罗浮宫已改为全文rss输出。

    3. As Always,欢迎加入我们的讨论组——TopLanguagehttp://groups.google.com/group/pongba),自从8月份建立以来,我们已经吸引了三百位同学,二千五百多条讨论,想知道我们讨论些什么,参见TopLanguage讨论精选[]精选[]精选[],加入前请看这里

     

    发表于 @ 2007年12月05日 16:41:00|评论(loading...)|编辑

    旧一篇: 为什么C++(来自C++之父的观点)

    评论

    #interhanchi 发表于2007-12-06 15:44:43  IP: 222.76.228.*
    老大,这篇文章可以转载吗?
    #beride 发表于2007-12-06 16:01:05  IP: 192.168.119.*
    读完整版了:)
    #pongba 发表于2007-12-06 17:50:22  IP: 222.94.3.*
    interhanchi:
    当然可以:)
    #chengmeng 发表于2007-12-10 12:22:20  IP: 218.94.142.*
    好像feed有点问题,不但很拖,而且一堆乱码,我用google reader抓的
    #pongba 发表于2007-12-10 19:53:17  IP: 222.94.3.*
    to chengmeng:
    是啊,貌似是feed太大了。csdn blog的feed怎么出现那么多的format code,一旦全文输出,居然达到了1M。
    #llbgurs 发表于2007-12-13 12:40:13  IP: 222.69.215.*
    正好在http://www.ruanyifeng.com/blog/2007/12/joel_spolsky_talk_at_yale_part_i.html
    也看到此文的一些片段的翻译。希望能见到完整版
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 刘未鹏