软工读书笔记 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期) 野生程序员
// 上一篇:最近发展区/脚手架 // 下一篇:提问和回复 怎样做足够好的软件?我们就差一个程序员! 没有什么软件工程的理论的时候,程序员们凭借自己对编程的热爱,凭借着:"这是一个可以自动化 ...
随机推荐
- Java之集合(九)LinkedHashMap
转载请注明源出处:http://www.cnblogs.com/lighten/p/7367525.html 1.前言 前一章对Map中的HashMap进行了讲解(虽然只详细介绍了一下红黑树的部分), ...
- KMP-字符串模式匹配(c++/python实现)
KMP算法可以在O(n+m)的时间数量级上完成模式匹配,其做法在于:没当一次匹配过程中出现字符比较不等时,不需要回溯指针,而是利用已经得到的“部分匹配”的结果将模式向右“滑动”尽可能远的一段距离后,继 ...
- HUE配置文件hue.ini 的yarn_clusters模块详解(图文详解)(分HA集群和非HA集群)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- linux安装unzip及使用
安装完linux ,发现没有UNZIP,没办法,重新安装. 1.获取unzip源码 sudo wget http://downloads.sourceforge.net/infozip/unzip55 ...
- springboot-17-springboot的文件上传和下载
单文件上传 1, 需要使用thymeleaf模板: http://www.cnblogs.com/wenbronk/p/6565834.html src/main/resource/template ...
- C#中通过Lambda表达式为委托传入更多的参数
如: DispatcherTimer dispatcherTimer = new DispatcherTimer(); dispatcherTimer.Tick += (o, e) => { d ...
- Math.floor,Math.ceil,Math.rint,Math.round用法
一.Math.floor函数讲解 floor原意:地板.Math.floor函数是求一个浮点数的地板,就是求一个最接近它的整数,它的值小于或等于这个浮点数.看下面的例子: package com.qi ...
- Android开发关闭虚拟按钮、底部导航条
在Android开发中,遇到了一系列大大小小的问题,其中一个就是屏蔽底部实体键,我找了很多的博客也尝试了许许多多的方法,但始终不能屏蔽 HOME键,后来看见一篇博客说在Android 4.0以后,屏蔽 ...
- 怎么掌握微信小程序的取值、传值、数据存储
小程序界面设定如下 父级页面:A界面 子级页面:B界面 异级页面:C界面 一.本页面取值(A界面→A界面) a.例如:input输入文字获取到value(键盘输入时触发) wxml: <inpu ...
- asp.net MVC 文件流导出Excel
<form id="FormEsExcel" action="/**/ExportEsExcelData" method="post" ...