Linux之父 活着的传奇人生

2017年12月12日 12:02 来源: 作者: 我要评论(0)

标签:Linux(209063)安卓系统(20543)

  今天我们一起来回顾Linux、Git 之父Linus Torvalds传奇的技术人生,他被称为是世界上最成功的程序员之一,也被誉为活着的传奇。低调的生活,它的人生却成了传奇。

  提起 Linus Torvalds 大家的第一反应是怎样的?是严苛刻薄,还是神级伟大,亦或是孤傲清高?二十五年来,Linus Torvalds 一直坚持在技术第一线,开发了 Linux 和 Git 两个项目,并深刻影响了软件行业。如果没有 Linux,就不会有基于 Linux 的安卓系统,那世界是怎样的?如果没有 Git 的诞生,就不会基于 Git 的 GitHub,那么开源的兴旺之势将会迟来多久?

  有人问 Linus,你是如何成长为今天的你自己的?Linus Torvalds 说,我本人并不适合回答这个问题,因为这是个渐进不自知的过程;应该请一个不会天天见到他的人以第三方视角,来谈谈一个不敢直视别人眼睛的十二岁书虫小男孩怎样蜕变成今天的样子的。虽然现在,Linus 已经很大程度上摆脱了社交恐惧症,面对媒体和观众们可以侃侃而谈;但是他依然认为自己不擅长于与人打交道。他认为贡献开源项目通过邮件与人互动,给人缓冲是他更喜欢的交流方式。他不喜欢直面很多人一起工作,而 Linux 和 Git 两个项目则恰恰是他所喜欢的工作形式体现。Linus 称开源社区需要有沟通专家,他们温暖而友善,但遗憾的是他自己并不是这样的人。

  Linus Torvalds 极度热爱技术,但并不是泛 IT 技术的追随者,他从来没有写过 web 程序、不会设置 FTP 服务器的他有着很聚焦的技术关注点。Linus 的技术兴趣很挑剔,“如果我被困在一个孤岛上,唯一逃生的机会就是写出一套漂亮的 UI,那么我死定了。所以人与人是不一样的,我不是在找借口,我只是在解释。”

  但是,他并不是一根筋的洁癖开源理想者,很早他就思考了商业对开源的作用;他很开心也很感激商业公司和基金会帮他处理所有那些他不愿意处理的事情,并且可以做到完全放权、不管不问。“不同的人有不同的兴趣,擅长不同的事情”。

  在他眼中,很可能大多数代码都是平庸的。为什么 25 年一直在做 Linux?“因为写出优秀的代码是件很困难的事情。”“Linux 项目中,我会和有的人说‘请不要这样做,这样又蠢又笨’,然后他们离开了再以不会靠近我。”他是优秀并严格,在工作中难免会伤及他人的自尊心。

  不过,在他特别在意的内核项目之外,我想 Linus 应该会更加随和甚至亲切。上个月有幸面对面采访 Linus,他全程面带微笑;大会开场的出席访谈也是一如既往地没有准备 PPT。本文取材自采访和已有的一些访谈资料,希望可以为读者们展现一个更为具体、尽量全面客观的 Linus Torvalds。

  2被编程深深地吸引

  Linus 大约从十一岁左右开始编程,最初看的是一本汇编语言的书。在祖父的电脑上,Linus 开始使用了 BASIC 语言。

  Linus 的妹妹 Sara 记得 Linus 展示的第一段代码的运行效果,是所有 Basic 语言入门的那段代码:

  

  Linus 表示他很怀疑这段代码是否发自真心。他狡黠一笑地说,因为他和他妹妹 Sara 并不是一直都是最好的朋友,可能当时他自己只是想试着友好些,并借此机会向展示 Sara 他的编程能力。

  使用 BASIC 语言编程在很多人看来很蠢,Edsger Wybe Dijkstra,Dijkstra 算法发明者曾经表示:

  It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

  “一个有过 BASIC 编程经历的人是很难学会好的编程习惯的。作为一个潜在的程序员,他们已经被脑残并且无法修复。”

  Linus 表示最初的编程并不是很认真,但是那真的就是十几岁的他所能触碰到了,而且他并不完全知道自己在做什么。即便当时条件有限,即便 Edsger 的断言有些令人触目惊心,但是 Linus 依然成长成为了一名卓越的程序员,并且在 1991 年还是在校学的时候就创造了 Linux 的雏形,并从此没有再离开。

  Linus 最喜欢的是在电脑上输入指令,然后它就会去执行该执行的任务,没有任何其他多余的动作。Linus 坦白地说有可能是太自闭或边缘化性格其他问题,但是这样的爽快干脆的执行感绝对不会在日常生活中出现。

  “成为程序员真的不是我的计划,但是这确实是我的激情所在。”

  “你看见代码的时候立刻就知道这段程序是在做什么”。

  “你可以把代码写得很漂亮,但是实际上它并不能解决问题。”

  3从没有计划编写 Linux,到一切为了 Linux

  Linus 曾经公开表示,学生时期的他本来是想购买 PC 操作系统的,但是昂贵价格实在让人望而却步,于是只好告诉自己说,“哎好吧,我需要自己写出来了。”

  在 1991 年 9 月发布 Linux 系统之前,Linus 其实自己写过好多工具。巧的是,如果再晚几个月, 如果 Linus 知道后来问世的 GNU kernel 或者 386BSD(NetBSD, OpenBSD 和 FreeBSD 的前身),现在大家可能就见不到 Linux 操作系统了。所以说 Linux 系统的诞生确属是意料之外,确切地说是 Linus 为了解决遇到问题而做的事情。

  于是他专门为自己配着 80386 处理器的新电脑写下了第一版的操作系统代码,开发工作是在 MINIX 中使用 GNU C 编译器,并且必须使用硬盘开机。Linux 系统的第一个版本代码是上传到 FTP 服务器上的,但是至今 Linus 也不知道怎么配置 FTP,他也从来没有自建 web 站点。

  每个人喜欢做的事情不一样,对于不喜欢的事情,Linus 一律“偷懒”地寻求外援。有一个有趣的小插曲,最初 Linus 给自己写的操作系统命名“Freax”,取自自由(“free”)和奇异(“freak”)的结合,末尾附上“X”,是表示其为类 Unix 系统;但是 Linus 委托的 FTP 服务器管理员认为“Freax”这个名字并不好听,于是把内核更名为 Linux。

12345下一页全文

本文导航