做真正Hacker 的乐趣──自己动手去实践

本文是csdn总裁蒋涛先生为《orange's一个操作系统的实现》写的推荐序

2004 年我听编辑说有个年轻人写了本《自己动手写操作系统》,第一反应是不可能,恐怕是翻译稿,写这种书籍是要考作者硬功夫的,不但需要深入掌握操作系统的原理,还需要实际动手写出原型。历史上的Linux 就是这么产生的,Linus Torvalds 当时是一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这成为了Linux 第一个内核的雏形。

我想中国有能力写出内核原型的程序员应该也有,但把这个题目写成一本书,感觉上不会有人愿意做这件事情,作者要花很多时间,加上主题比较硬,销售量不会太高,经济上回报有限。但拿来文稿一看,整个编辑部大为惊艳,内容文笔俱佳,而且绝对原创,马上决定在《程序员》连载。2005 年博文视点出版的第一版也广受好评。不过有很多读者还是质疑:现在软件编程主要领域是框架和应用,还需要了解操作系统底层吗?

经过四年的磨练成长,于渊又拿出第二版的书稿《Orange’S:一个操作系统的实现》,这本书是属于真正Hacker 的。我虽然已经有多年不写代码了,但看这本书的时候,让我又重新感受到做程序员的乐趣:用代码建设属于自己的系统,让电脑听从自己的指令,对系统的每个部分都了如指掌。黑客(hacker)实际是褒义词,维基百科的解释是喜欢用智力通过创造性方法来挑战脑力极限的人,特别是他们所感兴趣的领域,例如软件编程或电气工程。个人电脑、软件和互联网等划时代的产品都是黑客创造出来的,如苹果的Apple 电脑、微软的Basic 解释器、互联网的Mosaic 浏览器。

回答前面读者的质疑,学软件编程并不需要看这本书,想成为优秀程序员和黑客的朋友,我强烈建议你花时间来阅读这本书,并亲自动手实践。正如于渊在本书结尾中所说“我们写自己的操作系统是出于一种好奇,或者说一种求知欲。我希望这样不停地‘过把瘾’能让这种好奇不停地延续”。好奇心是动力的源泉,追究问题的本质是优秀黑客的必备素质,只有充分掌握了系统原理,才能在技术上游刃有余,才能有真正的创新和发展。中国需要更多真正的黑客,也希望更多的程序员能享受属于黑客的创造乐趣。

蒋涛
2009 年4 月

做真正Hacker 的乐趣──自己动手去实践相关推荐

  1. 找工作,要做就做最好的自己,大平台去闯闯,一定不要让未来后悔!~附简历...

    找工作,要做就做最好的自己,大平台去闯闯,一定不要让未来后悔!~附简历 王郑军 性别:男   出生年月:1995.10.20  民族:汉  政治面貌:中共党员 湖南涉外经济学院   电子信息工程专业 ...

  2. 如果你不懂,你要做的不是害怕,而是去学习

    1.真正的胆大,其实也不是杀人不眨眼,其实也不是视死如归,其实也不是盗窃国库时面不改色心不跳,而是一种坚持独立思考.不随大流.不被舆论左右.敢于在良心的指引下说话.做事的精神. -- 莫言<寻找 ...

  3. 如何用深度学习做自然语言处理?这里有份最佳实践清单

    如何用深度学习做自然语言处理?这里有份最佳实践清单 By 机器之心2017年7月26日 14:16 对于如何使用深度学习进行自然语言处理,本文作者 Sebastian Ruder 给出了一份详细的最佳 ...

  4. 如何去实践一个完整的数据挖掘项目?

    [每日一问] 如何去实践一个完整的数据挖掘项目? 机器学习项目 1 抽象成数学问题(明确问题) 2 获取数据 3 特征预处理与特征选择 4 训练模型与调优 5 模型诊断 6 模型融合(非必须) 7 上 ...

  5. 自己动手做cpu_如何建立一个自己动手做心动追踪装置

    自己动手做cpu 几周前,我的医生告诉我在DIY工具包BITalino的帮助下保持我的心脏,我在< 为什么我的医生给我开具开放式硬件>一书中对此进行了介绍. 尽管我每天可以不断拍打一堆电缆 ...

  6. 如何用木板做桥_为这份动手能力点赞!旧木板打磨后做成橱柜,效果可媲美定制的...

    更多精彩,请点击上方蓝字关注我们!对于一些旧的装修材料,有时候也不用急着丢掉.只要它的质量还ok的话,完全可以动手进行改造.就像这位网友这样,从旧房子拆下来的一些木地板,凭借着自己的双手改造成一个橱柜 ...

  7. 去年做路由器的那帮兄弟都去哪儿了?

    2013年的10月,老王通过一封邮件联系到了宅客君.而时隔半年多之后,宅客君在杭州的一间咖啡馆里见到了匆匆赶来的老王.天气有点热,老王有点喘,解了包以后开始擦汗. 这期间老王和宅客君一直保持线上联系, ...

  8. 初级软件测试面试前需要做什么准备?面试题可以去哪里找?

    最近几年,随着电子产品和互联网的蓬勃发展,各类科技公司如雨后春笋般出现,而软件公司作为科技类公司中的重要组成部分,在这支互联网大军中也占据了重要一席.因而,负责软件问题质检的软件测试岗位也逐渐成了这几 ...

  9. 做公众号,这些事别去碰,碰就是死

    前两天在我的一个技术群里有人推了这么一篇文章: 虽然文章内容讲的都是他个人的一些理财经验,但我还是踢了.过了5分钟甚至有位好心的读者还特地和我说可能误踢了,这人分享的文章不是广告,也没有推荐什么理财. ...

  10. dell服务器uefi启动不了系统安装系统安装,戴尔做uefi系统-uefi启动进不去系统怎么办呀...

    uefi启动进不去系统怎么办呀? win10x86.gho x86 32位 因为32位不支持uefi启动.! 因为32位不支持uefi启动.! 因为32位不支持uefi启动.! 还有 干嘛用ghost ...

最新文章

  1. docker stats命令源码分析结果
  2. 浅析网站首页设计需注意的要点
  3. XCTF-高手进阶区:ics-04
  4. 在linux上安装jdk(转载)
  5. Docker用法整理
  6. 程序员的进阶课-架构师之路(12)-2-3-4树
  7. ]网易游戏游戏开发工程师
  8. linux移动文件_Linux基础
  9. 震波——动态点分治+线段树
  10. 绿幕抠图-为你的想象插上翅膀
  11. 均匀分布 卡方分布_高等数理统计—第一章 统计分布基础
  12. 【教学类-10-02】20221025《空心图案4*2-不重复》( 随机图案拼贴)(大班主题《动物花花衣》)
  13. html字体的渐变效果,CSS 网页文字渐变效果
  14. tcpcopy mysql_MySQL容量规划之tcpcopy应用之道 西橙
  15. linux内存高但是top进程不高,在Linux中通过Top运行进程查找最高内存和CPU使用率...
  16. Stata: 协整还是伪回归?
  17. 离职“招黑”的6种行为,最后一个太惹人反感!
  18. 屏幕录制组件(vue) recordrtc
  19. 无人机自由飞行测试台 FFT GYRO 2000
  20. 【Windows基础】NTFS文件系统

热门文章

  1. 发送消息的时候,会指定用户,其实还可以定义媒介为脚本,让用户执行这个脚本...
  2. 【二分匹配】【匈牙利算法即由增广路求最大匹配模板】
  3. 强连通分量(tarjan求强连通分量)
  4. MAC Terminal 用颜色区分不同类型的文件
  5. 关于equals和hashCode
  6. MyBatis框架的使用及源码分析(三) 配置篇 Configuration
  7. gitgithub 的使用
  8. 1)session总结
  9. 接口与继承:不允许继承的类
  10. 基础算法之插入排序Insertion Sort