如果我實現了自己的OS,我算開發者中的精英嗎?
相信有很多Linux愛好者心中都懷有編出一個自己的作業系統的理想,一位外國網友在quora上提出了這個問題。本期#linuxstory 說#節目翻譯節選了一個令人啟迪的回答,讓我們從另一個角度思考個人重新發明輪子的意義。以下是網友的答案:
簡單粗暴的回答是:當然!你絕對成為了一個不為人知,極為小眾的一類開發者。儘管這些開發者掌握了開發作業系統的能力與知識,但99.9999%的普通人類是不關心你的創舉的。如果你還是覺得這樣的事實讓你開心,不要猶豫,放手去做吧。
從頭寫一個OS是一項艱鉅的事業。我用從頭組裝一輛汽車來比喻從零編寫OS。要組裝一輛車,你只需要買到所有能買到的零件,除此以外需要做的就是將這些零件組裝起來。
現在,你組裝完成一輛可以跑起來的汽車,你迫不及待的向周圍人炫耀你的成就,一下就是不同人的反應:
第一類,普通人類,括號,不懂汽車設計和機械工程的人類,他會說,好棒的車,你自己組裝的嗎?真牛逼!
第二類,你極客圈裡的朋友,括號,碰巧也是汽車改裝愛好者,他們對你的創舉真正表現出狂熱的興趣。他們會不停詢問你選的什麼配件呀,那裡應該怎麼組裝啊,然後你就在這個圈子裡贏得了聲望,自尊心得到極大地滿足。
第三類,汽車工程師精英工程師,括號,已經設計了多輛汽車,他會說“歡迎來到俱樂部,讓我們一起分享造車的點子和秘訣吧”。對,你將會成為這個造車俱樂部中一員,可是你還想組裝多少車呢?有時買一輛車比自己組裝便宜多了回到軟體工程上來,你編寫了自己的作業系統,多麼偉大的創舉,讓複雜系統執行起來使你得到個人滿足,你感覺自己簡直站在世界的巔峰。
好,我們看看你有哪些得與失。
- 得:獲得了對資料結構、程式排程、上下文切換、執行緒、記憶體管理、資源分享、裝置驅動等等一系列核心概念最紮實的理解,期間獲得極大地幸福感,以及向他人吹噓的話語權。
- 失:你花費了太多太多的時間讓你的系統正確跑起來。在這個時代,這個系統除了你沒有人在乎,沒有人會使用它,沒有實際的應用程式,沒有實際的用途,只有你唯一一個開發者兼維護者。非常小的機會你會憑著你的系統與Linus Torvalds見面,括號,非常不幸,實現中沒有OS作者俱樂部!
所以,缺點是大於優點的。確實你從中學到了很多開發複雜軟體的知識與技巧(但很可能在實際中不會再遇到),但收益也僅限於此。你的這些知識會在你追求你的事業或者啟動你自己的公司時成為優勢,但是你知道嗎?其實你並不需要透過寫OS來得到它。
如果你真的希望自己寫一個OS,首先你要問問自己到底是OS的哪一個部分讓你著迷? 你真的要自己完全實現一個記憶體管理器?或者你對排程感興趣,也許是排程感興趣?你可以試試一些模擬器幫助你學習和理解這些東西。
每次你對一個需要巨大工作量的任務抱有興趣時候,我都建議你嘗試從經濟角度評判一下意義。經常問問自己做這個的價值是什麼,你可以開始著手來設計自己的OS,如果你已經得到你想要的東西,要懂得適時的放手。你也許不需要自己碼程式碼來獲得作業系統如何執行的知識,透過一些經典的參考書你也可以獲得同樣的知識以及與相同程度的樂趣。
華華聯想到目前很多專家教授都在吹鼓國產作業系統,從個人角度來講,我們其實沒有必要重複發明輪子,從國家層面來說,也更應該從經濟角度思考國產輪子真的有必要嗎?為什麼不把有限的資金投入到使用開源輪子的國產發動機上呢?
相關文章
- 我該如何實現自己的理想
- 我要做IT界的精英
- 不裝了,我攤牌了!人像卡通化的功能我實現了
- 我發現我的資料被操縱了……
- 開源成就了現在的我
- 《我的世界》十歲了:它如何改變了遊戲和現實?遊戲
- 這兩個願望我實現了
- GitHub:我開源我自己;CEO:不存在的Github
- 為了提高開發效率,我實現了 uTools 的超級皮膚
- 我的CLog的實現 (轉)
- 記住我的實現方式
- 我是如何實現限流的?
- 這是我自己的發明
- HTML+CSS+JS實現----小姐姐你喜歡我嗎的程式HTMLCSSJS
- 我錯了,我有罪,我下跪
- 我好像發現了一個Go的Bug?Go
- 我自己的Javascript 庫,封裝了一些常用函式JavaScript封裝函式
- 如果我想自定義laravel 郵件驅動應該如何實現Laravel
- idea中文註釋出現亂碼,我靠自己解決了Idea
- 如果我是python高手Python
- 我的一個PET STORE的實現
- jdonframe 的api文件提供了下載嗎,我沒有找到API
- java的new真的給我們帶來了麻煩嗎?Java
- 我的PIM之旅(2) - 用Mac和iPhone來實現我的PIMMaciPhone
- swift沒有了BlocksKit,我忍不住自己寫了個ClosuresKitSwiftBloC
- 我的組播程式如果設定了setLoopbackMode(true)為什麼就收不到訊息了?OOP
- 《我們的約定會實現》
- 小程式實現微信 【我的】介面
- 懵了!女朋友突然問我MVCC實現原理MVC
- 我實現了一個人工機器學習寫作器機器學習
- 我理解的雲端計算
- 關於ie中實現彈性盒模型-我的css模型CSS
- 我是個 PHP 新手,Laravel 教程我都學會了,可以找到一個很好的工作嗎?PHPLaravel
- 快過年了 今年大家過的怎麼樣啊 工作還 OK 嗎 漲薪了嗎 小目標實現了嗎 我今年過的不順利啊大家一起加加油吧
- 嗯!我自己寫(東拼西湊)了個"框架"框架
- 83天!風變程式設計讓我成為了更好的自己程式設計
- 誰動了我的 Redis ?Redis
- 誰動了我的MySQL?MySql