读万里书,行万里路。本文作者在积攒了多年的工作经验之后,毅然决定辞职,开启了全职开源开发者的道路,并围绕一手创建的底层 SerenityOS 操作系统,为自己的梦想而开拓新的天地。
整理 | 苏宓
出品 | CSDN(ID:CSDNnews)
什么样的人才能被称之为顶级程序员?
Linus Torvalds 闭关一个周末,隔周他宛如变戏法般地带着 Git 从天而降;Brendan Eich 临危受命,在 10 天内完成了 JavaScript 的第一个版本;在 QQ 当道的局势之下,张小龙带领一支 10 人不到的团队,用了不到 70 天的时间开发出如今已是国民应用之一微信的首个版本......
顶级的程序员或许平凡、或许脾气暴躁、或许生活随心,但是他们的自驱力、创造力、毅力都将隐藏无限的潜力。
今天,我们要提及的主人公 Andreas Kling 就是这样的一位程序员,虽然截至目前其个人及创建的技术知名度并不像 Linux 等项目一样广为人知,但是他正在追逐梦想的道路上散发万丈光芒,引人注目,未来可期。
Andreas Kling 是谁?
Andreas Kling,是一位来自瑞典的程序员,他也是一位终身的编程爱好者。他曾任职于苹果、诺基亚等公司,主要负责基于 WebKit 的 Web 浏览器开发工作,非常擅长使用 C++。
近日,他发表了一篇《I quit my job to focus on SerenityOS full time》文章,揭晓了自己过去近三年的时间里正在做的一些事情,并宣布从 2021 年 5 月 28 日起,他结束了“打工人”的职业生涯,专注于自己一手创建的操作系统工作:
由于没有药物或其他恶习可以打发时间,他觉得日子太过漫长了。因此,他努力寻找一些事情来打发时间。他在学校待过一段时间,发现那里不适合自己。最终他又将关注点转向了编程,因为正如上文所述,他一直对编程有着浓厚的兴趣。
对于 Andreas Kling 个人而言,更为底层的技术深深地吸引着他,因此在拥有一定编程经验的基础上,他开始自己尝试创建一些新的事物,譬如从头开始写操作系统——SerenityOS(“宁静”操作系统),之所以用这个名字来命名,是因为 Andreas Kling 彼时较为担心自己的未来,借助“宁静的祷告”或许能帮助其更加坚信自己未来要走的路。
而创建这款操作系统的初衷,Andreas Kling 表示是他想要供日常使用。SerenityOS 是一款适用于 x86 计算机的图形类 UNIX 操作系统。与此同时,基于热爱和喜欢,这款系统结合了一些传统操作系统的特性,如 20 世纪 90 年代的 GUI 和 20 年代末的 UNIX 命令行。
通过不断地迭代,SerenityOS 操作系统开始成型。对此,Andreas Kling 表示:“在苹果公司任职的时候,我真的很喜欢他们大部分软件都是在同一个”屋檐“下制作的感觉。这不仅使所有的软件可以超紧密集成,还可以给开发者更大的创作空间。我想我可以尝试把同样的感觉带到开源世界,所以我决定 SerenityOS 不会是一个个拼凑起来的软件包,我们正在建立自己的一切,包括从内核到 Web 浏览器,以及两者之间的一切。“
他是怎么做到的?
在 SerenityOS 内部,Andreas Kling 做了大量的工作,包括写了一个小的 ELF 可执行解析器、Ext2 文件系统浏览器、基于 SDL 的简单 GUI 工具包,还有一个 AK 实用程序库等等。
下面是 ext2 文件系统解析器在运行时的样子:
作为底层基础软件,一款操作系统的研发并非想象中那么容易。对此,Andreas Kling 究竟是如何实现,接下来,我们不妨从其研发过程中来一探究竟。
Andreas Kling 开发SerenityOS的第一年
Andreas Kling 开发SerenityOS的第二年
“我辞职了,未来将全力构建这款操作系统”
或许在很多人看来,Andreas Kling 有着一段“不太光彩”的过去,但迷途知返后的他用自己的实际行动在证明,错掉的人生可以重新开始,也可以焕发精彩。
经过近三年的开发与维护,SerenityOS 已经获得了业界一定的认可与支持,越来越多的开源开发者加入其中,而它也从星星点点逐渐成长为一个充满活力的开源社区,截止目前,该系统也支持一些包括《Quake》、《Zelda》、《VVVVVV》等经典游戏。
如今,Andreas Kling 也正式宣布辞掉原有的全职工作,专心把 SerenityOS 运营壮大。正如 Andreas Kling 所说,“在许多方面,我们仍然只是开始。”
对此,网友也纷纷表示支持:
@Overlord Maniac:辞掉自己的工作,去追逐梦想,需要很大的勇气。我尊重,希望这个是值得的。不过,为什么不改做兼职工作,就像很多自由职业者一样,每周 10-20 小时。
@Mathias Jakobsen:恭喜 Andreas Kling !祝这次“新”冒险好运。能够在开源项目上支持自己决定是很棒的,你激励了我们所有的人。
还有许多我没有提到的内容,其实都能从他的视频中学到,无论是调试内核及引导程序、移植、编写实时反馈 GUI 编辑器、实现系统调用,还是实现动态加载器,这一切视频他都拥有。
生于2001年的《程序员》曾陪伴了无数开发者成长,影响了一代又一代的中国技术人。时隔20年,《新程序员》带着全球技术大师深邃思考、优秀开发者技术创造等深度内容回来了!同时将全方位为所有开发者呈现国内外核心技术生态体系全景图。扫描下方小程序码即可立即订阅!
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.