软工读书笔记 week 6 ——《疯狂的程序员》Part 1
这本小说以主人公绝影上大学后初次接触编程开始讲起,这周主要看的就是绝影还在大学的那段经历,虽然故事背景很多年前,但很多地方仍然会引发我的共鸣。
第一个梦想
在“第一个梦想”一节讲了作业布置做一个通讯录。书中所描绘的绝影做出来一个自认为很好的exe文件后那种希望别人看到的心理,其实我也能体会。有时你通过自己所学,能做出一个像点样的东西来时,真的很希望得到别人的认可,甚至会脑补别人看到时的惊讶,当然现实常常并不是如此。
“要么做第一个,要么做最好的一个,当你已经做不成第一个时,就努力里去做最好,要是感觉做不到最好,那就不要做了。”
书中的这一观点,其实我还真不是很认同,第一个只有一个,最好的那个也就只有一个,难道我们这么多人,除了这两个人,再加上那些有可能成为最好的那个的少数人,别人都不需要努力了?我觉得是否在一件事上努力,还是看它对自身有没有价值,对自己有价值的事,即使做不到最好,努力了也有收获。
好的教材
绝影在学习寻址时,他不明白什么是寻址,然后他又觉得书里不告诉你为什么这样,只是让你不断地往下学。其实一本教材编写得好不好从使用者的学习体验就能看出,好的教材能够通过更合理的编排顺序、更合理的讲述方式让阅读者更容易接受。
“程序员是值得尊敬的,程序员的双手是魔术师的双手。”
确实,我们日常生活中的各种智能产品,都离不开程序员魔术般的双手。其实编程还是一件挺有趣的事情,但是这就又关乎一个爱好与工作的问题,对编程有爱好,你就会有兴趣、有热情,但如果当爱好变成工作、变成每周的作业,被繁重的工作量压得喘不过气来时,最初的那些爱好也许会被消磨,但在繁重的工作,如果你在规定时间内做完了,再回过头来看时,又会因为成就感燃起心中的那份温存的兴趣。
动手才是硬道理
后来,绝影学c语言,这一部分就是告诉我们,动手才是硬道理,相信这个也无需多言,大家都明白这个道理。
钻研
到了大三大四,经历了几个学期的游戏生活,绝影决定重操黑客技术,比如提到的研究单向散列算法等,这也是他大学生活的一个转折点。我觉得绝影非常重要的一个品质就是肯钻研,而不是只求上课听听课,考试考高分,他前面的这些经历也对他后面找工作有非常大的帮助。
计划
不过,对于书中时不时提到的“妹妹”、“泡妞”,总觉得有些出戏,它甚至拿“泡妞”和编程类比,虽然我觉得并不是很合适,但其中的道理还是对的,那就是做事要有计划、有设计,甚至有文档、流程图等,别让你的事情“ Out of control”。对于代码来说,程序一定要是可控的,这也是鲁棒性的体现之一。
项目经历
后来,绝影去兼职面试,他的那些实际项目经验给他加了很多分,确实很多项目经历需要不断地去积累,当它们派上用场的时候,才不会后悔当初。
“有时候人的技术、知识,不是学出来的,是逼出来的。”
这一点是体现在绝影学C++ Builder以及兼职时的工作上,对于C++ Builder从不懂到“没有问题”,在一个月内完成一个编译器等等,很多我们看起来要花很多时间学习的东西,当你的需求逼迫着你不得不学时,其实掌握起来也没那么困难。
软工读书笔记 week 6 ——《疯狂的程序员》Part 1的更多相关文章
- 软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...
- 软工读书笔记 week 1
这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态 ...
- 软工读书笔记 week 8 —— 《疯狂的程序员》
这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下. 程序员是一个幕后工作者 书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀. ...
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 软工读书笔记 week4 ——《黑客与画家》下
因为时间有限,只对书中后半部分几个篇章进行了阅读. 一.另一条路 作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...
- 软工读书笔记 week 7 ——《构建之法》
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目.于是这几天决定对<构建之法>一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中 ...
- 软工读书笔记 week3 (《黑客与画家》上)
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...
- 软工读书笔记 week2
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: ...
- 软工+C(2017第7期) 野生程序员
// 上一篇:最近发展区/脚手架 // 下一篇:提问和回复 怎样做足够好的软件?我们就差一个程序员! 没有什么软件工程的理论的时候,程序员们凭借自己对编程的热爱,凭借着:"这是一个可以自动化 ...
随机推荐
- windows下python3.6版本安装pygame
参考:http://blog.csdn.net/a380331382/article/details/77063152 首先,进入这个网站:http://www.lfd.uci.edu/~gohlke ...
- Tomcat 基本配置
1.配置虚拟目录映射 推荐在 /conf/Catalina/localhost 下新建rand.xml方式建立虚拟目录 其中rand将会被当作映射对象,即外部访问路径. 例子:blog.xml < ...
- Servlet Filter(过滤器)、Filter是如何实现拦截的、Filter开发入门
Servlet Filter(过滤器).Filter是如何实现拦截的.Filter开发入门 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过F ...
- log4net udp
官方文档: http://logging.apache.org/log4net/release/config-examples.html 配置: <?xml version="1.0& ...
- Flow类注释解读
参考: (1)https://docs.oracle.com/javase/specs/jls/se7/html/jls-16.html (2)https://docs.oracle.com/java ...
- 【软件工程实践】第二次作业:分布式版本控制系统Git的安装与使用
1.下载安装配置用户名和邮箱. 2. 创建工作目录并通过git init命令把这个目录变成Git可以管理的仓库. 3. 在工作目录下准备文本文件,建议下载Notepad++代替记事本. 4. 组合用g ...
- docker改国内官方镜像
如何使用官方镜像 Docker 中国官方镜像加速可通过 registry.docker-cn.com 访问.目前该镜像库只包含流行的公有镜像,而私有镜像仍需要从美国镜像库中拉取. 您可以使用以下命令直 ...
- JDK动态代理[2]----JDK动态代理的底层实现之Proxy源码分析
在上一篇里为大家简单介绍了什么是代理模式?为什么要使用代理模式?并用例子演示了一下静态代理和动态代理的实现,分析了静态代理和动态代理各自的优缺点.在这一篇中笔者打算深入源码为大家剖析JDK动态代理实现 ...
- Linux 查看内核版本命令的相关说明
hostname 显示主机名称uname -a 显示内核版本详细信息,其中包括主机名称,发行厂商这个命令是看不到的. 如果要看发行版及厂商可使用命令:lsb_release –a uname -a后, ...
- Shell脚本编写2------有关变量
shell脚本中变量定义方式十分简单,直接将值赋值给变量较好例如 :name="tuanzhang"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.变量命名 ...