zoukankan      html  css  js  c++  java
  • 梦断代码读书笔记(一)

    第0章:软件时间

          作者迷恋于一个开放代码并可以由游戏玩家更改程序的一个游戏,并为在它的基础上创新和增添一些功能而乐此不疲。我想这大抵是一个程序员开发伊始的兴趣吧。

         随着科技行业的兴盛,互联网时间带来了快速发展的技术产生、公司创立、创造财富等也同时带来了程序的缺陷问题。而对软件开发者来说,则过的是时快时慢:如果灵感到了,一切顺利,则全然忘记时间,全心投入高速的开发之中。反之遇到瓶颈,则举步维艰的软件时间。软件不能像建造桥梁那样一劳永逸可以造福上百年。反而漏洞百出,麻烦不断,错误不停。带来无穷尽的改进和苦恼。

          而同样在这一章,我认识到的hello world的意义。微博上有个段子,是IT工程师的墓志铭可以写成Goodbye world,无限调侃甚至有些许消极色彩。事实作者对它的诠释完全颠覆了我对编程的看法。尽管它一无所用,却足以蛊惑人心。没错。我想当我意识到这个意思的时候,我也同样产生了“既然能叫它说话,就能让它做任何事!”强烈欲望。

    第1章:死定了

          这一章与上次读的《人月神话》有异曲同工之处。都是论述人和月的相互制约相互矛盾又相互依赖不可缺失的关系。一个错误就可能让一个项目“死定了”。往往带来不可知因素的时间陷阱。布鲁克斯法则:往已延误的项目中补充人力,只会使其继续延误。最理想的开发组规模式孤军奋战。但是对于庞大且涉及面极广的一个程序来说几乎不可能。从理论上团队开发就是不得不被认可的,何况实践上它几乎必不可少。

          开源代码,也是一个矛盾产物,一方面可能对商业上产生消极影响,一方面却在工程师开发和拓展角度有促进作用。从我的角度来说,当然希望代码是开放的,但当一个产业在某方面几乎形成了垄断,它也许没有仁慈的心来共享知识和财富吧。

    第2章:Agenda之魂

        软件或项目并没有真的“正在”改变世界,但是正是为了改变世界之梦所驱动。

        卡普尔自己以及他的莲花公司还有更多开发者对项目的执着与对灾难的坚持。正是某种意义上的开发者的精神。

    第3章:原型与Python

         把生活的某些方面融入到软件代码中之后,就很容易被各种新奇诱人的可能性所迷惑,看不到自己放弃了什么。软件缺失给生活带来了很大的便利,却也一定程度上剥夺了我们对于物理世界的感知,感性世界的理会。而意识到这个问题或者想改进这个问题的时候,工程量异常庞大。软件的灵活性并不高,这也成为一种很大的阻碍。工具、材料、语言和技术等等随着软件的庞大而越来越不灵活。

         接下来就是各种各样的语言的盛行。Python是解释型语言,但是简单易懂的语言,很明显在修改错误和拓展程序上事半功倍。这恰恰说明了,解释型语言这种往往被忽略的“脚本语言”是至关重要的。它的另一个优点是变量类型设定宽松。

          Java我们并不陌生,且它的优点--跨平台、面向对象等我们更是耳熟能详。好吧,不得不承认,学好它对于我们来说还是非常重要的。

    第4章:乐高王国

        从软件抽象层的另一种维度来看,软件开发者常常谈及前台和后台。用户在前台,前台是程序中和用户打交道的部分--显示窗体、对话框和鼠标指示,告诉你正在发生什么,让你有办法输入信息并得到输出信息。后台是前台发生的事件和用户输入流向的地方,计算机对事件和输入进行处理、保存、取回。前台应该精致、直观、功能强大;后台应该隐形、搞笑、如岩石般强固。前台与人对话,后台与比特对话。

    乐高假设指未来程序将由可复用的部件组合而成。部件将在全球范围内提供。虽然实际上这种假设不太容易实现,甚至不能实现。做好项目的关键在于复用,而不是重复发明。把前人的成功经验集成进来,少写新代码。软件复用的两难选择:创建还是借用?

    这一章主要描述乐高积木式的软件制作方式,如果这一块块积木是程序代码,则很难做到尽善尽美,完全适用且精简的代码。最终这个方式是卡塞尔团队在这方面的一个尝试探索,值得我们钦佩和敬仰。

    总结:

          我在阅读上不求甚解,只求get。读到这里,第一篇博客告一段落。这本书大概整体来说讲的是以卡普尔为领导者的Chandler项目的各种记录。有很多地方因为我对实际软件的知之甚少而影响了我对文章的理解和这个项目的了解。但是书笔记就是自己的收获,也许未来看今天颇多幼稚。但正是我现阶段对这本书的感知。

  • 相关阅读:
    hive之窗口函数
    linux环境下Mysql的卸载和重新安装和启动
    2017ACM暑期多校联合训练
    2017ACM暑期多校联合训练
    状态压缩dp
    铺砖问题 (状态压缩dp)
    POj 2104 K-th Number (分桶法+线段树)
    POJ 2991 Crane (线段树)
    4 Values whose Sum is 0 POJ 2785 (折半枚举)
    Billboard HDU 2795 (线段树)
  • 原文地址:https://www.cnblogs.com/15732115368zhm/p/4375770.html
Copyright © 2011-2022 走看看