`
庄表伟
  • 浏览: 1136383 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

美国软件和菜头——《软件随想录》读后感

阅读更多

一口气读完了《软件随想录》(More Joel on Software)。我的总体评价是,Joel非常像和菜头,无论是从褒义的角度,还是从贬义的角度。

和菜头是国内最好的blogger之一,他的嬉笑怒骂的文风,受到了无数人的喜爱,包括我在内。很多时候,和菜头都能以我们没法想象的文字,说出我们早就想说的话来。拥趸众多,也就是自然而然事情了。

Joel Spolsky大概是全世界都非常著名的blogger,他的读者人数,估计可以排进全世界前100名。文章之优美,观点之火爆,真是几乎无出其右者,读他的书,实在是过瘾之极。

但是(各位应该也猜到了,总会有一个但是等在这里的。)我在读《软件随想录》的过程中,时不时的会有一些疙疙瘩瘩的感觉,细细想来,才发现,还是跟和菜头很像。

举几个例子吧:

1、在管理方法方面,joel一连写了三篇,分别讨论了《军事化管理法》、《经济利于驱动法》和《认同法》。写得非常好,但是也相当偏激。基本上,joel对于人的看法,是静态的,好人就是好人,聪明人就是聪明,最难的不过是招人,只要找对了人,聘进来以后,他自然就会好好干活。基本上,一个好的管理者,就是懂得如何不碍事的管理者。

joel说:采用经济利益驱动法,这样就是在鼓励程序员与制度博弈。但是,问题是一个公司一定会有制度,也一定得建立公平公开合理的制度。而且,员工与制度的博弈,也一定会存在。为了预防博弈的出现,而不订立奖惩制度,实在是偏激的过分的一种想法。

joel说:不能通过给员工发钱来训练他们。但是,这完全就是故意曲解,因为你完全可以训练他们,然后通过金钱来鼓励训练效果好的员工。

joel说:你应该避免用外部激励取代内部激励。但是,在我看来,仅仅只有内部激励,那也很虚伪。简直就是典型的“老板的虚伪”。

一个员工进入一家公司,并非到此为止,他们应该能够在公司的环境里得到成长。如何鼓励他们成长,如何帮助他们成长,是老板需要考虑的问题。另一方面,并非任何人进入一家公司,就万事大吉,他同样可能出现波动,有时候干劲冲天,有时候没精打采,如何调整他们的工作状态,如何鼓励他们持续的积极工作,也是老板需要考虑问题。

joel认为,软件开发,最缺的是天才。而我认为,最缺的是全才。什么“全”:全面、全局、全心全意、全力以赴。

2、在给程序员的建议方面,我又发现了一些自相矛盾的地方。

joel说:大学教java是一种退步,因为那东西太简单了,无法淘汰那些没兴趣编程或没能力编程的人。但是,在另一篇文章里,joel又说:那门动态逻辑课他只去听了一节,太难了,所以,他决定不上了。而且,他还得出了一个重要的结论:人生中重要的是,关注那些真正的问题(real problem),不要陷入那些细枝末节的问题(trivial problem)。就像苏格拉底说的,“认识你自己”。

这可真是了不起,他能够通过的课程,他就认为非常有用。而他不能够通过的课程,他就认为是细枝末节的问题。而且,他还把自己的经验,用来告诫那些同学们。。。

3、joel对于单元测试与TDD的看法,完全就是未经实践的偏见。

4、在《大构想的陷阱》中,joel评论了《梦断代码》一书,他花了不少时间,扯了一些眼睛的工作原理之类的淡,真正有价值的评论,其实并不多。在我看来,有价值的只有一个观点:过于创新性的软件,很难从开源志愿者那里得到帮助。

5、在《用软件搭建社区》一节,我读着读着,就笑了。joel的那个社区,比起国内顶尖社区,还是差距很大啊。

6、在讨论Office文件格式为什么那么复杂的时候,joel说到:一个能与Office竞争的,能够完美读写Office文件的软件,足足要有几千年的工作量等待着你去完成。我又笑了。。。也许,他从来没听说过OpenOffice,WPS,永中Office。。。

7、说了那么多批评,其实,我还是非常喜欢joel的这本书的。尤其是在看到了《关于战略问题的通信之六》这一章,joel说到:在Google洋洋得意的时候,也许会有一家公司,开发出新的、革命性的Ajax类库,然后,有一家公司,发明了一个革命性的浏览器,使得原本非常复杂的Ajax类库,变得运行速度飞快。。。

这篇写于2007年9月18日,2008年9月8日,Google Chrome 0.2版发布。现在,Chrome大概是运行JavaScript最快的浏览器。

也许,就是受了joel的启发吧。

8、《让错误的代码显而易见》,我也非常赞同,这是一种非常非常有价值的,给自己的代码命名的原则。

9、《揉一揉,搓一搓》,其实就是一次大型系统重构的过程,当然,在我看来,仅仅凭借开发者的经验,确保没有改坏代码,是不够的,如果joel当初能够写足够多的UnitTest,重构起来会更加轻松一些。

总的来说,joel是一个追求语不惊人死不休的blogger,但是他的绝大多数文章,都非常有价值,也非常有阅读快感,因此,强烈建议找一本来读一读。

1
0
分享到:
评论
2 楼 nisen 2010-04-15  
http://hecaitou.qzone.qq.com/  和菜头的QQ空间
1 楼 dayone 2010-02-01  
和菜头的地址访问不了了!

相关推荐

    Docker —— 从入门到实践

    Docker —— 从入门到实践

    CuteFTP9简易汉化版

    除了上面这些,一种上传软件可以锁定一个本地文件夹到活动远程窗格中,索引配置文件夹(目录)选项,配置缓存文件夹,自动刷新文件夹转移和导航事件后,设置公差服务器设置问题,递归删除整个文件夹,删除到回收站,等等。...

    既然GPT-4这么好,那还有必要教育孩子吗

    它可以在美国 41 个州和地区的统一律师资格考试 (UBE) 中获得前 10% 左右的成绩。还可以在 SAT 考试中获得 1300 分 (满分 1600 分),在高中生参加的大学生物、微积分、宏观经济学、心理学、统计学和历史先修课程考试...

    QT之TCP通信 - 菜头大大 - 博客园1

    3.当有客户端链接时候会发送newConnection信号,触发槽函数接受链接(得到一个与客户端通信的套接字 5.读数据当客户端有数据来,QTcpSocket对

    Txt to ePUB 格式转化软件

    txt to epub 文档格式转化软件 请自用,描述什么的简直是弱爆了。

    docs:简单的前端部署

    菜头云菜头云 () 是一个简单的帮助开发者快速迭代和部署前端静态网站的服务一个命令上线网站多版本线上预览, 支持 git 集成自定义域名和自动配置 HTTPS 证书中国大陆和海外两个节点同时部署目录集成环境Github ...

    JediEdu#data-journalism#理发店为什么愿意用戴森吹风机1

    知名「网红」和菜头在一篇关于 Dyson 的文章里面,将 Dyson 吹风机大卸八块,把主要部件一一展示,并且和 100 元吹风机的拆卸图做了对比。虽然一个个体

    Foxtable 2014

    Foxtable将Excel、Access、Foxpro以及易表的优势融合在一起,无论是数据录入、查询、统计,还是...此外FoxTable同时具备B/S和C/S架构的优势,可以像B/S软件一样易于部署,同时又具备C/S软件良好的用户体验和交互性。

    ComClass(串口类winAPI)

    PC程序跟RS232串口进行通信算是比较老的题目了,不过老归老,只要用这个接口的硬件还在,就难免要去折腾它。而这个时候就会发现老的坏处在于资料都是...并将一般调试串口程序都会用到的两个软件拿出来和大家分享。

    ecshop批量添加商品分类

    ecshop批量添加商品分类根据分类字符串自动排序,如: 南瓜,叶菜,菜苗,番茄,紫心,番薯红,菜头,秋葵,菜心少,有机菜

    产品的思路|来自腾讯张小龙的分享(全版)

    那篇文章虽基于张小龙的产品经验分享,其实相当多的内容是来自和菜头本人的理解。现在,根据点点网CEO许朝军的博客内容,把张小龙的现场分享实录呈现给大家。希望对大家有所帮助。有点长,慢慢看。今天很感谢大家从...

    rygwin最新版交叉编译必备

    cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)

    multivariable feedback control:analysis and design (2005)

    多变量反馈控制-第二版,2005年终稿。 multivariable feedback control:analysis and...另外附加该书的资源网址,包含了书中的习题解答和代码source。 https://folk.ntnu.no/skoge/book/。 希望大家多多学习底层原理。

    Evtsys_4.5.1.zip

    Windows操作系统下使用EvtSys发送系统日志到syslog服务器,包含32位、64位版本和安装脚本,运行对应目录下的install.bat即可完成安装

    httpcomponents-core-4.2.1 httpcomponents-client-4.2 httpcore4.2

    httpcomponents-core-4.2.1 httpcomponents-client-4.2 httpcore4.2 org.apache.http

    漂亮的动感菜单,类似FLASH效果

    漂亮的动感菜单,类似FLASH效果,漂亮的动感菜单,类似FLASH效果!

    linux环境高级编程

    系统介绍linux系统,有关于C语言在linux下编译运行的具体讲解,还有进程线程等概念的描述,是学习嵌入式的入门书籍

    变速齿轮相关源码

    对于程序加速的源码,对于SetTimer GetTickTime 以及钩子的应用

    三级等保测评权重赋值表.docx

    三级等保测评权重赋值表 物理安全 网络安全 主机安全 入侵防范 应用安全 数据安全及备份恢复 恶意代码 安全审计等

Global site tag (gtag.js) - Google Analytics