一切都是兴趣所在,兴趣才是发展的动力,虽然我们在这个开发过程中不可否认的会遇到挫折、瓶颈,但我认为,地狱与天堂共存的才是真实的世界。

开发一个软件项目,就像打一场篮球比赛,个人能力与团队配合相得益彰,团队配合基于个人能力,个人能力借助团队配合得意有效的发挥如果团队配合的时候,你的个人能力不到位,这次配合也会随之失败。团队合作以及合格成员极其重要。

软件开发有一条线缆,对于软件开发所做的努力都是为了让线缆保持系紧。

PIM个人信息管理器,一款非常具有研究价值的软件,但由于脱离当时的实际因而没有流行起来。但金子总会发光的,所以后来又有了P2P,这又给了卡普尔一个idea,进而有了Lotus公司以及On Technolog等等这些为了让资源得到更好的利用的研究。

而Agenda之魂就在于减少代码的局限性,也就是努力的为人类做点什么,而不是为计算机,减少人类的工作。

原型:Vista与Shimmer的组合。

Vista:对数据库进行管理的“面向用户”的程序。

Shimmer:基于RDF编写的数据库。

这个原型告诉我们个人信息灵活管理是可以逐步实现的,虽然还不成熟,存在局限性还容易崩溃,但不可否认,这是一个好的开始,她也是人类更好的通过计算机来管理资源的一个里程碑。

Python:高级编程语言

编程语言的发展方向总是从离机器近到离人越来越近,让编程更容易,把繁琐的工作交给机器。

在这个各种开发语言并起的时代,任何一种语言都各有千秋,都有其可取之处,它们并无优劣之分,所以在软件开发中,选择语言要选择最适合的语言来进行开发(没有最好的语言,只有最合适的语言)。

乐高积木,我小时候很喜欢这种玩具,不过我总是想着越高越好,而不是越稳固越好。

当然,对于软件开发来说,谈论上述问题还太早,现在的问题是代码块优劣参半,代码复用技术还不成熟,技术障碍、经济隔阂、人类天性(以创作为荣)严重阻碍着乐高王国的发展。

对于软件开发来说,项目核心至关重要,关系着项目的发展方向,是一切进展的主线约束。而寻找核心也相当不容易。在开发之初,我们可以客观想出一个核心,随着软件开发的推进,逐渐找到正确的核心,所以每天的实践与分析整理报告极其重要,它是我们找到项目核心,提高项目开发速度的一项重要依据。

狗:即软件,与管理软件项目的相同点是必须进行交易:(想要得到什么就必须要付出点什么),管理狗,也就是维护软件,在我看来是一件费力又不讨好的工作,软件出现错误让我们不得不去弥补(打补丁),而随着维护,软件逐渐变得冗杂,运行速度一再降低,最终瘫痪淘汰(就像一台机器总有一天它会被淘汰)。

奇客:这是一类专注于己事的人,追求技术和梦想,不融入主流社会。他们不善于与其他人沟通,但对于程序员来说,沟通又是必不可少的。

总的来说,工具在软件开发中的利与弊,利的一面告诉我,好的工具可以大幅度地减少工作量;而弊的一面告诉我,过度依赖工具而忽略沟通是极其不可取的,沟通协作才是提高进度的最佳方法。

搞掂:就是有条理地做事,而设计蓝图就是程序员进行软件开发的条理,这就是我们在第一章看到的线缆,她将整个软件开发工作串联到一起,让整个软件开发快速有序的开展。

软件是给人用的,而每个软件被制作出来都有其特殊的功能,那么如果想要我们自己的软件更多的被人们所喜欢,就要从细节入手,人们使用起来越方便也就会越喜欢我们的软件,所以对用户体验的调研也很重要。关注细节,不好高骛远。软件开发者,成大事必拘小节,软件开发之路仍不完善,所以细心发现的做事理念加上努力认真的工作态度才是我们进步的关键。

数据库是地基,数据库管理系统是房子,那么细节试图、规格说明就是地上的花草、房子装修的设计图。而且细节视图距离用户最近,所以为实现其功能所需的代码也就更加精细而繁琐,它直接影响着用户对软件的印象。

细节视图的繁琐来源于许多方面,例如,消息管理机制的方便快捷就像房子的窗户一样让用户最便捷的享受到阳光与美景;命名规则就像鸡肋一样(繁琐,又不可或缺)食之无味、弃之可惜。

不过,虽然繁琐,但总会有回报的。任何成功都不是一蹴而就的。

“吃自己的狗食”,这是一种最直观的评价自己所做软件的方法,如果自己的软件自己都用不下去,又谈何推销给用户呢。

白板上的即时贴,初看到这个名字毫无头绪,随着阅读,才知道这是对于软件工作的精确划分,每一个功能特性都是一个模块,每一个模块都可以看到一个大概完成时间,综合起来也就可以看到一个软件的所需时间。(这些即时贴让软件开发工作者看清自己的能力与软件的差距。此时自觉事不可为,则应果断放手,这也减轻了团队的负担;留下来的人都是既抱着极大热情的,又有相应能力的人)。

当我们对某种软件进行开发时,工作流程不断被修改,看完此章,才知道我们现在学到的方法论和流程安排,是那么的来之不易。

软件开发从一开始实现几个功能,到现在动辄就是几百上千个功能,开发难度也是成正比的,因而方法论极其重要“瀑布式”、“螺旋形”,再到之后的面向对象开发,程序员的思维总是处于极限开发状态中。

当然,还有敏捷开发,其方法很不错,但并不适用于大型软件开发,大型软件开发必须极其严谨,且比较大,不适合半路修改。

做软件难。在哦这个高速发展的社会,人们的欲望总是“狠狠地”超过了现有水平,随着软件功能、复杂度的增加,软件制作已不仅仅只是一个小小的项目,他是一个工程,并不亚于建造一栋大楼。

我们落后的技术导致我们的软件像《乌龟雅图》一样易碎(容易崩溃),所以有了延后绑定技术但奠定现代软件大厦的基础核心语言C和C++却不能支持该技术,所以为了提高技术水平,OOP、UML等相继出现。

工程师必是艺术家,而艺术家也必是一位工程师。无论画画、写诗、建造大厦,还是写程序,这些工作都充满了艺术性,也必不可少的蕴含着严谨性。

博苏特:“拿到一个大问题,将其分为可个别理解和解决的小问题,并无魔法,只是巨细靡遗。”这位女士让我感到佩服,人们往往都可以想到这些,但真正能做到的又有几个呢。

COSMO服务器、链接到Flicker、链接到Del.icio.us等等这些小模块的成功推动者整个大模块的成功。

然而,在一切完成之前,切不可掉以轻心,“重复”问题就阻碍了我们前进的脚步。(递归调用,并不容易)

继Chandler之后,人工智能开始兴起,但对于刚刚完成狗食版Chandler的卡普尔来说,他并不看好。他觉得,人类的智慧和多样性是无法形容的。人工智能的热潮不可遏止地到来了。这是一场长赌,输赢都在未来,结果仍需期待。

一个软件,一个开发团队,几年心血,无数资金,终得梦一场。

但我想,团队中的每个人都以此为豪,他们很快乐。苏格拉底说过,快乐总是在你为着一个目标而忙碌不停时悄然而至。人生短短几十载,莫要虚度才是真。

转载于:https://www.cnblogs.com/yuntianblog/p/4471515.html

我读的第一本书《梦断代码》相关推荐

  1. 读梦断代码有感(1)2019.2.05

    今天阅读了建民老师推荐的我们软件工程方面的书籍被称为经典的<梦断代码>,虽然只是读了一小部分但还是感受颇深,在我以往的经验看来,我们软件工程专业的书籍应该都是枯燥乏味的代码啊啥的,所以开始 ...

  2. 《梦断代码》读书笔记

    梦断代码,英文名是DREAM IN DODE.梦断代码,原作是美国的Scott Rosenberg,经韩磊翻译而来. 为什么选择读这本书?在图书馆软件工程处翻阅时,被这本书的名字吸引住了,同时之前也听 ...

  3. 《梦断代码》读后感 - 驱动,责任,交流,远虑

    这三篇读后感原来发布在我自己申请的域名 yishan.cc 上面,后来这个域名被墙了.   (原文写于2008年12月) 几个星期前,我给<现代软件工程>课的每一个团队都发了一本 < ...

  4. 梦断代码阅读笔记之一

    最近阅读了罗森伯格的<梦断代码>,算是近距离观察了十几年前软件开发的状态.这本书是作者对OSAF主持的Chandler项目进行田野调查  而写的一本书.本书是在讲一事,也是在讲百千事:是写 ...

  5. 《梦断代码》阅读笔记01

    这几天阅读了老师推荐的<梦断代码>前几章,通过本书简介可以知道本书大概主要讲的是做软件过程中的困难. 第一章软件时间,主要讲的是从事软件制作行业的艰辛,需要没日没夜的加班工作,书中有这样一 ...

  6. 现代软件工程系列 学生读后感 梦断代码 软件难做

    http://cid-064ec84e17924332.spaces.live.com/blog/cns!64EC84E17924332!173.entry December 06 读<梦断代码 ...

  7. 《梦断代码》读书笔记1

    刚开始看到书名时,我感觉这个名字非常好,梦断代码,代码是我们每个学习计算机同学的噩梦,有多少人是讨厌当码农的.怀着好奇的心情,开启了我这本书的阅读旅程. 首先看到的是CSDN的总裁和Discuz创始人 ...

  8. 梦断代码读后感(一)

    一个百无聊赖的下午,天空黑沉,寒风刮过大地. 无所事事我的想起了这本厚重的书--<梦断代码>: 梦断? 难道自己专业的书籍不该赞扬不该大肆宣传本专业吗? 梦断这个词很难让人联想到好的方面, ...

  9. 阅读笔记《梦断代码》其二

    梦断代码阅读笔记之二 读"乐高王国"的时候,真的引起了我的共鸣.因为以前我就是作者描述的那种程序猿,专注于制造螺丝和螺母这种小细节,而不屑于利用别人早就写出来不 知多少个版本的代码 ...

  10. 《梦断代码Dreaming In Code》阅读笔记(三)

    最后这几章感觉上更多是从软件完成整体上来讲的.比如说技术.方法等. 在我看来,其实一个团队一直坚持一种好的.先进的方法是不可少的.如果一个优秀的团队刚愎自用,只随着成员们喜好发展,那不能长久.比如说, ...

最新文章

  1. WTForms 小计1 forms
  2. Linux系统资源管理 之 硬件信息
  3. 结构体字节对齐(转)
  4. COM_TEXT_TIMESTAMP_SET
  5. apache pulsar_Apache Pulsar:分布式Pub-Sub消息系统
  6. 面试北京XX数通总结
  7. ie手机浏览器_哪款浏览器可以说成为装机必备?
  8. python画柱状图-Python绘制精美图表之双柱形图
  9. Rust : rand库与不同分布下的随机数产生
  10. keras深度学习之猫狗分类三(特征提取)
  11. Python爬虫:数据存储——TXT文本文件
  12. C语言二维数组指针(指向二维数组的指针)详解
  13. 基于51单片机的DHT11传感器
  14. ★追风的牛★添翼圈Moto Droid玩家手册(感谢原作者,只是做个备份而已,如果牵扯到越劝,我会立即删掉)
  15. 软件测试行业到底有没有前景和出路?软件测试职业发展方向总结
  16. jetson nano 远程登录及关闭图形化显示
  17. 案例 | 苏州农村商业银行金融云平台支撑互联网创新业务发展
  18. 你知道一本书封面的著、编著、编、主编分别是什么意思吗?
  19. 【老保姆教程】:Tesseract-OCR图片文字识别
  20. 小陈Python学习笔记——小白笔记

热门文章

  1. Vue父子组件生命周期触发顺序
  2. 连接工作组计算机用户名和密码,访问局域网中工作组的电脑需要用户名和密码...
  3. 载波聚合或双连接的方式进行_首发天玑1000+!iQOO Z1来了:5G+5G双卡双待、双WiFi 6...
  4. sql查询去除视图重复项_如何使用SQL查询视图,Postico使用技巧分享
  5. python3 运行you get_一个基于Python3的神奇插件——you-get
  6. tomcat 8集合memcache所需完整jar包_使用 zabbix 监控 tomcat(包含jvm监控)
  7. 微软python免费课程_微软再推免费在线Python教程 面向数据科学和机器学习初学者...
  8. android zxing-3.3.3的用法_Android使用RecyclerView实现复杂的多布局效果
  9. 域服务器如何修改域名,新网域名如何修改DNS设置方法
  10. 仅展示近三天的动态设置_不要把朋友圈设置成3天可见……