《梦断代码》讲的的OSAF开发PIM软件Chandler的故事,可以当做小说来读的,摘录一些书中有趣的说法以及自己的感想。
- “Hello World”程序给程序员以乐观的想法:既然能叫它说话,就能让它做任何事。但事实可能是令人沮丧的。
- 计算机从0开始计数,用户从1开始计数,所以程序员花了无数精力于此。
- 人类文明运行于软件之上,但软件何其不靠谱,写过代码的人应该深有体会。
- 人月神话:往已延误的项目中补充人力,只会使其继续延误。因此,最理想的开发团队是单枪匹马。如果代码经过协调不好的一串人手,结果确实难看。
- 开源软件给了软件开发模式以新的思考方向,但远未解决软件开发的痼疾。
- 开源中的Free应理解为”自由“,而且这个自由也有其固有要求,如GPL的传染性,但国内不少公司似乎只看到了免费,大肆盗用开源代码封装商业软件。
- 软件是为人服务的,但通常也会要求人去适应软件的特性(或者其傻叉的地方)。
- 让人适应软件还是让软件适应人?这是个问题。软件能否提升人类的智慧?
- 很多项目开始之初都雄心勃勃,自以为与众不同,但最后都滑入深渊。
- 软件的制造有时会给人以严重的挫败感。悲观一点的人看目前的软件开发技术是没有希望的。个人以为好的软件如好的小说一样是奇迹。
- 软件的灵活性只存在于思想中,每一行代码都是毫无灵活性的。所有的想法都要寄生于结构,语言。高级语言相比人类的语言,其实太过低级。
- 软件领域没有摩尔定律。
- 变量类型这种小事,可以在代码的国度引发宗教战争般的冲突。
- ”雾件“,根本不知道自己在写什么东西。如果需求来自领导,会很纠结。
- 复用?造轮子还是买轮子,这也是个问题。买的轮子通常满足90%的需求,但剩下的10%会令人抓狂。
- 像搭积木一样搭房子,是程序员的乌托邦。软件开发依然在手工作坊时代,甚至难以看到彻底工业化的希望。个人觉得理解为艺术可能心安理得一些……
- 软件会有自己组织信息的方式,也因此割裂事物之间的联系。比如数字化的文件和非数字化的文件分类上没有多大差别。
- 快速、便宜、优质,最多三选其二。
- 程序开发是常常是不断妥协的过程,人的肆意想法与机器的机械无情之间的妥协。
- 程序员如何沟通,是技术问题,管理问题,哲学问题。写代码太多可能会用机器的方式思考……




