读书笔记1

第1章    死定了
  软件项目难以按进度安排实现,这种情况极为常见。在软件开发的世界里,进度延误普遍到人们特意生造出—个委婉词来描述它:slippage(失速)
  布鲁克斯法则:向已延误的项目中补充人力,只会使其继续延误。
  所谓“人月\", 是一种科学管理概念,它假定生产力可被拆分为不连续、无差异、可替换的单元。
  布鲁克斯发现,制作软件的大量工作受困于“序列约束",它限制了任务分解的程度:完成某项任务是处理其他任务的先决条件,这与人力投入多少无关。
  开源运动的兴起,对于我们学生来说自然是益处多多,促进了计算机世界的发展,以与大教堂方式相对的立场成果林立。
 
第2章    Agenda之魂
  莲花公司有个叫做Agenda 的项目,为了解决卡普尔的小纸片问题而设立。即采用计算机人工智能来管理记录信息的小纸片——名片、随手贴、笔记页等。莲花公司于1988 年发布了Agenda 软件。
  Agenda的“自动分派”特性一一在意义模糊的短语里面,如“ 下周五与约翰共进午餐\"'找出“下周五”这个曰子——如同魔法一般,没有其他软件能与之媲美。它还引入了一种管理数据的新手段——介于传统计算机数据库的严格结构和字处理软件的自由格式之间。
  Agenda的创建者们认定这样一些超乎常规的原则:用户不用关心软件的存储结构,只管输入数据就好,用户应该能够容易地扩展和修改数据结构、添加新分类, 且不会导致数据丢失,用户应该能够用自己创建的新方式查看数据——也可以在自己创建的视图中操作和修改数据。
        关于Chandler,米奇.卡普尔只知道三个要素:它应当开源,它应当挠到Exchange 的痒处,它应当承继Agenda 之精髓。
        文章又介绍了很多失败项目,并指出失败的原因是项目需求的不断变化。无法标准把心,时间一天天流逝,预算也会超支,最终导致项目破产。
第3章 原型与Python
  Python 是一种“解释型语言(interpreted language)\" 。“编译型语言(compiled language)\" 通过编译器先将程序员的源代码翻译为机器可读的二进制代码后再运行,而解释型语言则是在运行时做类似的工作——解释器逐行翻译源代码,再喂给处理器运行。解释型语言效率较差,因为你要同时运行自己的程序和解释器。但这也使得解释型语言较为敏捷。
  Python是一种动态语言,每次调用变量时都要去判断变量的类型,但是在书写代码时就很方便
  电梯游说:就是当你有幸在电梯间遇到某位权钱人士时,能脱口而出,在短时间内说服他。
posted @ 2024-02-28 19:33  不如喝点  阅读(25)  评论(0)    收藏  举报