《Just for Fun》读后感
这本书有一个长长的中文名字:《只是为了好玩:Linux之父林纳斯自传》,所以博客标题我就用英文书名了。
读罢此书,不禁想起一位长者的名言:“一个人的成功当然要靠自我奋斗,但也要考虑历史的进程”。可以说Linux到的成功不完全是Linus有意为之,但在Linus身上(如同我之前读过的理查德·斯托曼的传记《若为自由故》一样),我能看到那个时代所有伟大黑客的特质。那些所有计算机天才共有的,又或者Linus独有的,感谢上大学来读过的书,让我都有所洞见。
1.良好的熏陶
从冯·诺依曼到林纳斯,无不在少年时代就接受了良好的技术熏陶,冯·诺依曼自不必说,林纳斯也是从十岁起就帮着自己的外祖父(赫尔辛基大学的一个统计学教授)输入计算机程序,大多数人到了大学才接触计算机编程,相比之下,林纳斯这类人已经领先我们十年身位了。想想我们10岁的时候,又在干什么呢。十年意味着他们有足够的试错机会,而留给一个20岁程序员的试错机会就不多了。自古英雄出少年,其实还是很有道理的。
单就拿冯·诺依曼和林纳斯来说,他们虽然都是计算机领域的大师,但童年也后很多不同之处。冯·诺依曼出身家境优渥的犹太家庭,自幼接受良好的家庭教育,而那个时代的匈牙利教育也堪称现代教育的典范,培育了无数诺奖获得者,而林纳斯除了外祖父是统计学教授外,和普通家庭没什么两样,但正是这个良好的启蒙以及自由的成长环境,让他有足够的空间肆意生长。而不是把时间浪费在应试教育上。
2.黑客精神
不想多解释什么是真正的黑客,一个黑客当然要像斯托曼那样,用他亘古绝今的编程匠艺为计算机世界带来GCC,Emacs这样伟大的作品,又或者是GPL这样非凡的创造,以一己之力推动时代的巨轮。林纳斯身上当然也有这些品质,但他更像一个现实的人,他说自己很懒惰,所以才有了Linux开创性的协作开发方式。他对钱不感兴趣。相比于其他两位大佬,盖茨很伟大,但他对基尔代尔做的事情可真不地道;乔布斯更像是一个伟大的推销员,一直都是。
黑客的懒惰是指他们不愿意花时间在无聊重复的事情上,又或者用技术改变自己不满意的现状。在林纳斯身上,这种懒惰尤为典型,他不愿修补Linux的每一个补丁,所以开源了Linux,让全世界优秀的程序员一起来开发,他受够了集中式版本管理系统的弊端,所以开发了Git这个分布式代码版本管理系统。Linux或Git,二得其一,即可名扬天下,林纳斯一个人就做了。
3.一个我的观点
没有人说,书里也没有提及。但我不记得哪本书里面看过。芬兰(以及很多东欧国家)的人均阅读量高居世界前列,很大程度上跟东欧的气候有关,尤其是冬天,天气寒冷,白天很短,几乎没有什么户外运动的消遣,再适合林纳斯这样的黑客鼓捣电脑不过了。所以我看,东欧以及俄罗斯盛产黑客和伟大的数学家,和这一地区的气候也不无关系。
4.这是编程的好时代吗
值得一提的是,美国,尤其是硅谷(车库文化和斯坦福大学)一直是计算机世界前进的重要动力,但是,在遥远的东欧,远离技术中心的芬兰(或许这么说也不准确,诺基亚曾是这个国家的骄傲,芬兰是电子通信的先驱),林纳斯却凭一己之力缔造了Linux帝国的开端。堪称奇迹,看看我们这个时代,信息爆炸,获取方便,传闻牛顿提出三大定律的时候,已经掌握了那个时代所有的知识,而近一百年来,知识以指数形式爆炸增长,虽然信息变多了,但有用信息的比例一定增加了吗,我不知道。
林纳斯提到了那本把他“推向生命巅峰的书”:《操作系统:设计与实现》,我上大学以来,目前已经借了200多本书,很多没仔细看,但仔细看过也不算少了,可能超过一些人大学四年的借书量(而我还有一年半时间来继续提高这数字),但我必须承认,我还没遇到那本会改变我生命轨迹的书,至少现在没觉得。某种程度上,我们被信息淹没了。对于阅读量高于平均水平的我来说,感受尤为深刻。
这是,编程的好时代吗?那个时代肯·汤普森弄个说明手册也要高兴好一阵,盖茨甚至到垃圾桶去找资料文档,信息甚至匮乏,但他们的丰功伟绩却令后人难以望其项背了。不过话又说回来,林纳斯最后还是去了美国,去了硅谷,确实,他怎么能把一辈子浪费在赫尔辛基呢。就像现在的中国,多少人奔向北上广深杭这样的大城市,谁会喜欢人多嘴杂空气差呢,但只有在这样的一线城市,才能看到最牛的技术、遇见最强的人。我记得大一选修的时候,一个老师说过,“人这一辈子,一定要去北上广这样大城市生活过才算完整”。不一定是为了情怀,而是拥有格局。格局真的很重要,记得从农村初中录取到县城最好的中学之后,我看到了前所未有的差距,如果不努力爬更高的山,渡更宽的河,那么你的眼界就已经注定了这一生只能庸庸碌碌。
其实,零零散散还有很多感想,奈何文笔拙劣。以书中一段话结束吧:
他是Linux和Git的缔造者,它是一个传统的黑客,与沃兹一样,少年成名,崇尚自由,一生只为寻找欢笑,他,是一名真正的程序员。
《Just for Fun》读后感的更多相关文章
- 《DevOps软件架构师行动指南》读后感
从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维.部署流水线.监控.安全与审计以及质量关注,这是本书一开始内容简介的开头,本书的作者是伦恩·拜斯(Len Bass).英戈·韦伯 ...
- nodejs开发指南读后感
nodejs开发指南读后感 阅读目录 使用nodejs创建http服务器; supervisor的使用及nodejs常见的调式代码命令了解; 了解Node核心模块; ejs模板引擎 Express 理 ...
- DevOps:软件架构师行动指南(文摘)
第一部分 背景 第1章 DevOps是什么 第二部分 部署流水线 第三部分 横切关注点 第四部分 案例研究 第五部分 走向未来
- 2020年DevOps工程师入门指南
DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大. 有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点: 要有开发者 ...
- 5月29日 Java性能调优指南 读后感
并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习
- 敏捷开发、DevOps相关书籍——书单
自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...
- 有奖试读—Windows PowerShell实战指南(第2版)
为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI ...
- [转载]你所不了解的DevOps
DevOps开发运维训练营 一旦建立了创新的文化,即使那些并非科学家或者工程师的人——诗人.演员.记者——也能以团体的形式,接受科学文化的意义.他们信奉创新文化的概念.他们以促进这种文化的方式投票.他 ...
- 给 DevOps 初学者的入门指南
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
随机推荐
- 调试关于Hibernate的程序遇到的问题
最怕的就是初学一些东西,低级的错误犯了又犯,现在总结出来以便以后不要再犯类似的错误. 一.Hibernate的延迟加载机制 在用hibernate底层访问数据库的过程忽略了延迟加载机制导致 在访问时候 ...
- linux查看本机IP、gateway、DNS
IP: ifconfig gateway:[root@localhost ~]# netstat -rnKernel IP routing tableDestination Gatew ...
- 在View and Data API中更改指定元素的颜色
大家在使用View and Data API开发过程中,经常会用到的就是改变某些元素的颜色已区别显示.比如根据某些属性做不同颜色的专题显示,或者用不同颜色表示施工进度,或者只是简单的以颜色变化来提醒用 ...
- dSYM 文件分析工具
来到新公司后,前段时间就一直在忙,前不久 项目 终于成功发布上线了,最近就在给项目做优化,并排除一些线上软件的 bug,因为项目中使用了友盟统计,所以在友盟给出的错误信息统计中能比较方便的找出客户端异 ...
- zend studio 快捷键
复制当前行:ctrl+alt+↓ 删除当前行:Ctrl+d 行注释:Ctrl+/ 快注释(先选中要注释的代码):Ctrl+shift+/ 提示助手(方便函数等补全):alt+/ 代码格式化:Ctrl+ ...
- Oracle数据行拆分多行
工作和学习中常常会遇到一行要分割成多行数据的情况,在此整理一下做下对比. 单行拆分 如果表数据只有一行,则可以直接在原表上直接使用connect by+正则的方法,比如: select regexp_ ...
- 表单中Readonly和Disabled的区别
1.readonly是要锁定这个控件,通过在界面上无法修改他(但是通过javascript可以修改他). 2.disabled和readonly有相同的地方也是可以锁定这个控件用户不能改变他的值,但是 ...
- PHP中的数据库二、memcache
:first-child, ol li > :first-child, ul li ul:first-of-type, ol li ol:first-of-type, ul li ol:firs ...
- Elasticsearch 调优 (官方文档How To)
How To Elasticsearch默认是提供了一个非常简单的即开即用体验.用户无需修改什么配置就可以直接使用全文检索.结果高亮.聚合.索引功能. 但是想在项目中使用高性能的Elasticsear ...
- XP本地连接正常无法上网的解决方法
原文: http://www.doc88.com/p-599590609730.html