我决定辞掉工作,全职开发我的操作系统!
2021-09-20 23:25:40 来源: 开源中国 举报
6304
分享至
今天读到了一个瑞典程序员的故事, 他在短短半年的业余时间内、一个人单枪匹马构建了普通程序员几年、甚至十几年的业余时间才能搞定的东西:
操作系统内核、TCP/IP协议、GUI框架、进程管理器、文件浏览器、文本编辑器、界面编辑器、贪吃蛇游戏、绘图工具......
这家伙就是传说中的10倍速,甚至100倍速程序员。
再加上后续的浏览器, JS引擎、CSS、C++ IDE、HTTP服务器、电子表格...... 虽然功能还不完善,但是项目展示出的范围宽广得可怕!
这不但要重写操作系统,还要重写上面的所有软件!好家伙!
他为什么要这么干呢?
下面以第一人称,讲述一下他的故事。
2018年10月,我刚刚在瑞典的一家戒毒所完成了为期3个月的康复计划, 我失业了,和家人在一起,无事可做。
日子太漫长了,我得找点儿事儿做。
之前我在Apple 和诺基亚工作,主要做基于WebKit的Web浏览器, 但是我对底层的东西特别感兴趣,我写过ELF的解析器,Ext2 文件系统浏览器,有着事件循环的GUI 框架......
慢慢地,一个操作系统居然开始成形了,我把它取名为SerenityOS (宁静操作系统)。
你可能要问了,为什么要搞个新的操作系统呢?
答案很简单,我想构建一个我日常使用的梦想的操作系统:结合上世纪90年代的GUI和Unix严肃的命令行。
在Apple工作的时候,我很享受苹果软件那种都在一个“屋檐”下的感觉,不但所有的软件可以超级紧密地集成,并且可以让程序员尽情地去“折腾”。
我决定把这种感觉带给开源世界:我的SerenityOS不再是由一个个软件包“拼凑”起来的,我要重新构建所有的东西:从内核到浏览器,以及中间层的所有东西!
开工吧!
第一年, 从零到HTML!
2018-11-08: 在虚拟机中运行
2019-1-09 ,开始对Widget(窗口,按钮,CheckBox等)开始测试
2019-01-21: 创建多个"guitest"进程
2019-02-03: 增加字体编辑器、时钟
2019-02-11: 实现菜单!早期的文件管理器
2019-02-28: 早期的进程管理器
2019-03-15: TCP协议栈搞定了,实现一个IRC玩玩
2019-04-11: 创建VisualBuilder, 创意来源于Visual Basic
2019-04-20: 贪吃蛇游戏
2019-04-22: GCC基本上可以工作了
2019-06-14: 简单的绘图程序
2019-09-09: 女士们先生们,我们有 DOOM了!
2019-09-29: 在LibHTML中实现基本的CSS
2019-10-10 第一个浏览器实现了!
第二年
2019-11-04: 移植Quake
2019-11-30: 整一个 C++ IDE吧: HackStudio IDE
2019-12-30: SerenityOS 在 36c3 上被“黑”,我开始发疯似地学习安全知识来保护它
2020-02-29: 一个简单的HTTP服务器(为了庆祝我的生日)
2020-03-31: JavaScript 支持初见雏形
20
登录后可查看完整内容,参与讨论!
立即登录