软工读书笔记 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学习之路(十一):IO流<前戏>
File类的概述和构造方法 构造方法: File(String pathname):根据一个路径得到File对象 File(String parent,String child):根据一个目录和一个子 ...
- 《LeetBook》leetcode题解(20):Valid Parentheses[E]——栈解决括号匹配问题
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...
- 计算机硬件的五大单元 & CPU的种类 & 计算机的运行流程
不多说,直接上干货! 计算机硬件的五大单元 关于计算机的组成部分,其实你可以观察你的桌面计算机分析一下,依外观来说这家伙主要分为三部分: 输入单元:包括键盘.鼠标.卡片阅读机.扫描仪.手写板.触摸屏幕 ...
- Ubuntu14.04安装之后的一些配置
不多说,直接上干货! 主要分为 一.root用户的开启和vim编辑器的安装 二.ssh的安装 三.静态ip的设置 四.中英切换文环境切换 一.root用户的开启和vim编辑器的安装 Ubuntu在默认 ...
- LDAP落地实战(一):OpenLDAP部署及管理维护
公司内部会有许多第三方系统或服务,例如Svn,Git,VPN,Jira,Jenkins等等,每个系统都需要维护一份账号密码以支持用户认证,当然公司也会有许多的主机或服务器,需要开放登录权限给用户登录使 ...
- .bat学习-基础语法(常用)
一般来说,脚本或者语言都有相同地方 定义变量,输入,输出,判断条件等等.知道的相同之处,我们就可以借助强大的搜索引擎进行查找我们想要知道的东西. bat为批处理脚本BATCH.现在只知道是使用于win ...
- Python远程连接主机之paramiko模块
Python的paramiko模块能够连接远程主机,并在该主机上执行命令,和该主机之间进行文件传输.paramiko支持用明文密码登录远程主机和秘钥登录.使用之前要安装一下这个模块哈,pip inst ...
- Joda-Time 学习笔记
一 Jode-Time 介绍 任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.既然 ...
- Maven Source Plugin
项目pom文件build下添加配置: 01 <plugin> 02 <groupId>org.apache.maven.plugins</groupId> 03 & ...
- 键盘输入,输出int数组的函数
public class function { public static void main(String[] args) { //输入数组数据(例如10个) int [] array = inPu ...