当前位置: 首页> 书评> 正文

梦断代码《不仅仅是一个软件开发故事》

  • 小小评论家小小评论家
  • 书评
  • 2023-03-26 13:36:34
  • 47

作者深刻的笔触,让人真实地感觉到软件难做,做一个优秀的软件更难,但是不仅仅讲述了开源软件Chandler项目的开发,还增加了作者自己的观察思考以及其他软件开发人员的观点。

为什么软件开发不能像建造房屋那样按时完成呢,没有人能给出一个确定的答案?文中详细描述了软件开发的特别之处。首先,沟通成本的代价,包括程序员之间的沟通,程序员和设计者的沟通,设计者和应用人员的沟通;其次,开发人员的水平直接决定了软件的开发效率,就像《人月神话》里面提到的,增加新手并不能提前软件的发布期;再者,软件行业的人员的流动对软件开发的影响也是相当大的,一个熟悉代码的人走了,要重新培养一个人接替他的位置,并不像建筑业那样,找一个人就能代替,基本不需要花时间来熟悉了解;还有,软件需求的不明确性,软件的非实物性,以及不断膨胀的需求,这些都是导致软件难做。

作为一个软件开发人员,我更关心软件开发人员自身的心理,为什么我们喜欢乐此不疲地重复发明轮子,是因为我们喜欢一切尽在掌控之中的感觉,还是一种比拼的心理,抑或是一种炫耀,又或是薛里弗斯式的快乐?程序员作为奇客的一族,不善于同人打交道,甚至于为了与机器沟通更密切,切断了与人性一面的联系,是因为我们本身就不善于人际交往,却乐于自己在和计算机打交道中获得***,还是因为我们是程序员,为了和机器更好的沟通,导致了封闭,换言之,职业病?我们喜欢自由,不加管束,但是从行文中给出这样的结果,成功往往是铁一般纪律的副产品,我们又该做如何调整?

面对身患痼疾的软件领域,我们改良,往今天的龟塔上再加一层,不断完善软件,建造乐高王国?还是革命,为了使我们的软件不再依赖一堆不可靠的概念,重新来过?这更像是一个哲学问题,一个社会政治问题。在革命派里面,凯借鉴细胞生物学的观点,“它山之石,可以攻玉”,提出了种植软件的观点,一种更拟生的方案。但是,程序员能够像造物主那样精确地设计出“人”来吗?会不会同样只是造就了另外一个龟塔?

和软件开发无关的一点思考。在长赌一章里面,如果真的按照卡茨维尔的看法,当我们到达了“奇点”时刻,(奇点是对连贯性的破坏,是一个过去时间的终结点,在这个点上,一切都改变了,之后的情形不得而知),我们是欢呼这个时刻的到来呢?还是诅咒这个时刻的到来呢?如果这个时刻真的到来,未来的世界又是什么样子呢?海清河宴?还是乌烟瘴气?

阅读全文