编程派 中国却做不出来?,Linux!为何他一人就写出这么强的系统( 二 )


最开始的Linux版本 , 只有几千行代码 , 现在基础扎实的CS本科生 , 花一段时间都可以看懂 , 甚至有些OS教材就是用Linux最初的版本来教学的 , 比如哈工大李志军的课程 。
Linus从一开始就不断在minix论坛上发布自己的进展 , 搞得论坛上一堆人非常感兴趣 , 于是许多人加入了开发 , 这时候Linus用邮件接收每个人的代码 , 然后手动合并 。 没过一段时间 , minix论坛上就全是讨论Linux的了 , 虽然塔雷鲍姆不是个小气的人 , 但是这么搞也让塔雷鲍姆很不爽
不久之后Linus和塔雷鲍姆之间爆发了一次冲突 。
塔雷鲍姆在论坛上写了一篇文章 , 论证微内核与宏内核的优缺点 , 其实主要是攻击宏内核 , 说宏内核除了性能好点 , 全是缺点 , 说Linux过时了 。 Linus是脾气暴躁的人 , 在技术问题上从不妥协 。 于是开始嘲讽minix 。 Linux的可移植性比minix更好 , 而且免费开源(minix需要买书后获得) 。
然后来来去去吵了很多次 , 具体可以看:
https://www.oreilly.com/openbook/opensources/book/appa.html
只是他们两个当时谁也没想到 , 这次论坛上的口水战会成为几十年后人们依然提起的操作系统之争 。
Linus并不恨塔雷鲍姆 , 他说后来有一次去了塔雷鲍姆的演讲 , 完了之后拿着那本书想要塔雷鲍姆的签名 , 但是没有等到人 。
我想Linus多少还是尊敬他的 , 毕竟是自己学习操作系统的领路人 。
在Linus和社区人员的努力下 , 通过扩展GCC支持Linux , Linux也兼容了越来越多的平台 。 其他各类软件移植到Linux也就变得容易了 , 尤其是在那个许多软件以源代码方式发行的时代 , 只要有对应平台的编译器 , 编译一次就算移植好了 。
赶上PC发展的浪潮 , 但还不够 , 毕竟苹果微软不是好对付的 , 商业操作系统的易用性依然很强 。
但是Linux开始被各类企业青睐了 , 因为不是每个企业都有钱花高价买一套Unix来用 , 或者是更贵的软件+硬件一体的大型机来用 。 Linux让他们看到了省钱的希望 。
GNU开始支持Linux , Linux成为了GNU的官方操作系统 , 所以现在叫GNU/Linux 。
可以说Linux和GCC几乎是最伟大的两个开源项目 。 它们合起来就更强悍了 。
GCC让软件方便移植 , Linux软件生态就好了 , 软件生态好了用户就多 , 用户多了就让硬件公司眼馋 , 各路硬件公司都为Linux开发驱动和各种扩展 , 以支持自家硬件 , 这样用户就更多 。 这个倍增效应是很强的 。
Linus在项目达到一定规模后就不再亲自写代码了 , 主要是合并代码 , 毕竟全球那么多人提交代码 , 他一个人审核合并就够忙了 , 亲自写代码也没时间 。
直到有一天他觉得忙不过来了 , 审核代码会遇到很多傻逼代码和开发者 , 于是他开发了现在最流行的版本控制工具 , git , 字面意思就是饭桶 。
不得不说 , 他对操作系统发展方向的把控是精准的 。
总结一下 , Linux的成功 , 以下几个条件必不可少:
Linus强大的开发能力
Linus的项目管理能力
Linus对操作系统发展方向的把控
一个群雄割据 , 缺乏免费好用的操作系统的时代 。
一个不仅群雄割据 , 缺乏免费好用的操作系统 , 而且程序语言 , 操作系统理论 , 编译器技术发展到一定程度 , 个人PC持续发展的时代 。
GNU的系统没做出来
Minix死守着『教育』不放
GNU的支持
全世界硬件厂商的支持
全世界软件厂商的支持
全世界开源开发者的巨大贡献
再总结一下 , 一个人的命运 , 当然要靠自我奋斗 , 但也要考虑到历史的进程 。
回复下方「关键词」 , 获取优质资源
回复关键词「pybook03」 , 立即获取主页君与小伙伴一起翻译的《ThinkPython2e》电子版
回复关键词「入门资料」 , 立即获取主页君整理的10本Python入门书的电子版