这本书有一个长长的中文名字:《只是为了好玩:Linux之父林纳斯自传》,所以博客标题我就用英文书名了。

  读罢此书,不禁想起一位长者的名言:“一个人的成功当然要靠自我奋斗,但也要考虑历史的进程”。可以说Linux到的成功不完全是Linus有意为之,但在Linus身上(如同我之前读过的理查德·斯托曼的传记《若为自由故》一样),我能看到那个时代所有伟大黑客的特质。那些所有计算机天才共有的,又或者Linus独有的,感谢上大学来读过的书,让我都有所洞见。

  1.良好的熏陶

  从冯·诺依曼到林纳斯,无不在少年时代就接受了良好的技术熏陶,冯·诺依曼自不必说,林纳斯也是从十岁起就帮着自己的外祖父(赫尔辛基大学的一个统计学教授)输入计算机程序,大多数人到了大学才接触计算机编程,相比之下,林纳斯这类人已经领先我们十年身位了。想想我们10岁的时候,又在干什么呢。十年意味着他们有足够的试错机会,而留给一个20岁程序员的试错机会就不多了。自古英雄出少年,其实还是很有道理的。

  单就拿冯·诺依曼和林纳斯来说,他们虽然都是计算机领域的大师,但童年也后很多不同之处。冯·诺依曼出身家境优渥的犹太家庭,自幼接受良好的家庭教育,而那个时代的匈牙利教育也堪称现代教育的典范,培育了无数诺奖获得者,而林纳斯除了外祖父是统计学教授外,和普通家庭没什么两样,但正是这个良好的启蒙以及自由的成长环境,让他有足够的空间肆意生长。而不是把时间浪费在应试教育上。

  2.黑客精神

  不想多解释什么是真正的黑客,一个黑客当然要像斯托曼那样,用他亘古绝今的编程匠艺为计算机世界带来GCCEmacs这样伟大的作品,又或者是GPL这样非凡的创造,以一己之力推动时代的巨轮。林纳斯身上当然也有这些品质,但他更像一个现实的人,他说自己很懒惰,所以才有了Linux开创性的协作开发方式。他对钱不感兴趣。相比于其他两位大佬,盖茨很伟大,但他对基尔代尔做的事情可真不地道;乔布斯更像是一个伟大的推销员,一直都是。

  黑客的懒惰是指他们不愿意花时间在无聊重复的事情上,又或者用技术改变自己不满意的现状。在林纳斯身上,这种懒惰尤为典型,他不愿修补Linux的每一个补丁,所以开源了Linux,让全世界优秀的程序员一起来开发,他受够了集中式版本管理系统的弊端,所以开发了Git这个分布式代码版本管理系统。Linux或Git,二得其一,即可名扬天下,林纳斯一个人就做了。

  3.一个我的观点

  没有人说,书里也没有提及。但我不记得哪本书里面看过。芬兰(以及很多东欧国家)的人均阅读量高居世界前列,很大程度上跟东欧的气候有关,尤其是冬天,天气寒冷,白天很短,几乎没有什么户外运动的消遣,再适合林纳斯这样的黑客鼓捣电脑不过了。所以我看,东欧以及俄罗斯盛产黑客和伟大的数学家,和这一地区的气候也不无关系。

  4.这是编程的好时代吗

  值得一提的是,美国,尤其是硅谷(车库文化和斯坦福大学)一直是计算机世界前进的重要动力,但是,在遥远的东欧,远离技术中心的芬兰(或许这么说也不准确,诺基亚曾是这个国家的骄傲,芬兰是电子通信的先驱),林纳斯却凭一己之力缔造了Linux帝国的开端。堪称奇迹,看看我们这个时代,信息爆炸,获取方便,传闻牛顿提出三大定律的时候,已经掌握了那个时代所有的知识,而近一百年来,知识以指数形式爆炸增长,虽然信息变多了,但有用信息的比例一定增加了吗,我不知道。

  林纳斯提到了那本把他“推向生命巅峰的书”:《操作系统:设计与实现》,我上大学以来,目前已经借了200多本书,很多没仔细看,但仔细看过也不算少了,可能超过一些人大学四年的借书量(而我还有一年半时间来继续提高这数字),但我必须承认,我还没遇到那本会改变我生命轨迹的书,至少现在没觉得。某种程度上,我们被信息淹没了。对于阅读量高于平均水平的我来说,感受尤为深刻。

  这是,编程的好时代吗?那个时代肯·汤普森弄个说明手册也要高兴好一阵,盖茨甚至到垃圾桶去找资料文档,信息甚至匮乏,但他们的丰功伟绩却令后人难以望其项背了。不过话又说回来,林纳斯最后还是去了美国,去了硅谷,确实,他怎么能把一辈子浪费在赫尔辛基呢。就像现在的中国,多少人奔向北上广深杭这样的大城市,谁会喜欢人多嘴杂空气差呢,但只有在这样的一线城市,才能看到最牛的技术、遇见最强的人。我记得大一选修的时候,一个老师说过,“人这一辈子,一定要去北上广这样大城市生活过才算完整”。不一定是为了情怀,而是拥有格局。格局真的很重要,记得从农村初中录取到县城最好的中学之后,我看到了前所未有的差距,如果不努力爬更高的山,渡更宽的河,那么你的眼界就已经注定了这一生只能庸庸碌碌。

  其实,零零散散还有很多感想,奈何文笔拙劣。以书中一段话结束吧:

  他是Linux和Git的缔造者,它是一个传统的黑客,与沃兹一样,少年成名,崇尚自由,一生只为寻找欢笑,他,是一名真正的程序员。

  

《Just for Fun》读后感的更多相关文章

  1. 《DevOps软件架构师行动指南》读后感

    从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维.部署流水线.监控.安全与审计以及质量关注,这是本书一开始内容简介的开头,本书的作者是伦恩·拜斯(Len Bass).英戈·韦伯 ...

  2. nodejs开发指南读后感

    nodejs开发指南读后感 阅读目录 使用nodejs创建http服务器; supervisor的使用及nodejs常见的调式代码命令了解; 了解Node核心模块; ejs模板引擎 Express 理 ...

  3. DevOps:软件架构师行动指南(文摘)

    第一部分 背景 第1章 DevOps是什么 第二部分 部署流水线 第三部分 横切关注点 第四部分 案例研究 第五部分 走向未来

  4. 2020年DevOps工程师入门指南

    DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大. 有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点: 要有开发者 ...

  5. 5月29日 Java性能调优指南 读后感

    并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习

  6. 敏捷开发、DevOps相关书籍——书单

    自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...

  7. 有奖试读—Windows PowerShell实战指南(第2版)

    为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI ...

  8. [转载]你所不了解的DevOps

    DevOps开发运维训练营 一旦建立了创新的文化,即使那些并非科学家或者工程师的人——诗人.演员.记者——也能以团体的形式,接受科学文化的意义.他们信奉创新文化的概念.他们以促进这种文化的方式投票.他 ...

  9. 给 DevOps 初学者的入门指南

    当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...

  10. CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

随机推荐

  1. java中如何实现多态

    复习基础知识 多态,就是重载和重写.重载发生在一个类中.重写发生在子类,意思就是子类重写父类相同名称的方法.刚学语言有的东西,不必搞得那么清楚,只有知道怎么用就行了,有的问题你要想真正把它搞得很懂,短 ...

  2. 【转】Android SDK Samples,学习Android的好方法

    转载地址:http://blog.csdn.net/rowland001/article/details/50886288 从今天开始呢,我要开始学习Google家自己出的Android代码示例,总觉 ...

  3. 使用Hudson进行持续集成

    小Alan最近接了一个任务,就是使用Hudson进行持续集成,持续集成是怎么个概念,3言2语也说不清,有兴趣的童鞋去找我二奶度娘问问就知道了,说到Hudson就不得不提一下jenkins,目前来说用j ...

  4. 2016 DTCC(中国数据库技术大会)

    上周去参加了2016 DTCC(数据库技术大会),会议总共持续3天,议题非常多,我这里搜集了最新的公开的PPT内容,有兴趣的同学可以下载看看,PPT合集下载链接为:http://pan.baidu.c ...

  5. mongodb简介(转)

    1.简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数 ...

  6. nandflash驱动程序编写

    NAND FLASH是一个存储芯片 那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A" 问1. 原理图上NAND FLASH和S3C2440之间只有数据线, 怎么传输地 ...

  7. 移动前端手机输入法自带emoji表情字符处理

    今天,测试给我提了一个BUG,说移动端输入emoji表情无法提交.很早以前就有思考过,手机输入法里自带的emoji表情,应该是某些特殊字符.既然是字符,那应该都能提交才对,可是为啥会被卡住呢?搜了一下 ...

  8. wamp下Apache配置vhost

    1.由于后面虚拟机中需要用到Rewrite所以先编辑Apache的conf目录下的httpd.conf文件.(我的文件位置是:D:\Program Files\wamp\bin\apache\apac ...

  9. 有理数的稠密性(The rational points are dense on the number axis.)

    每一个实数都能用有理数去逼近到任意精确的程度,这就是有理数的稠密性.The rational points are dense on the number axis.

  10. git --help出来的命令 + eclipse里用git小记

    用法:git [--version] [--help] [-C <path>] [-c name=value]           [--exec-path[=<path>]] ...