Linus大學時期寫出了linux內核,那個最初的版本僅就技術而言,有多厲害?


我大三讀過 Linux 0.12 內核的源代碼,讀得我差點找不著工作,一共一萬多行代碼,我不知道老李寫了多久,反正我讀了一年多才差不多讀完,這還是跳過了文件系統里很多瑣碎的細節,實在是太複雜了!!!從我的感覺來看,老李水平確實很高,他少年時期就跟著外祖父學編程,22歲寫出內核,而且除了網路子系統外其他的都全了,這裡面需要大量的基礎知識比如ATT彙編、保護模式、操作系統原理、處理器架構特性、鏈接與裝載、計算機組成原理等。按照本科生的課程進度,單單是學完這些東西就要三年,而學習到能夠靈活運用以至於寫出內核的程度,我覺得這個事情的難度相當高,絕大部分本科生做不了。此外,在上世紀九十年代,互聯網就那麼一小撮人用,資料匱乏,交流不便,寫內核所需要的基礎知識又那麼多,很難想像老李到底克服了多大的困難。寫內核時他還移植過gcc,看起來對編譯器也是非常熟悉,如此水準恐怕不服都不行。

即使是現在讓人寫操作系統,網上那麼多資料隨便抄,也絕非易事。寫內核最難的不是語言問題、不是理論問題,而是大局觀,在腦海里要有對整個內核的宏觀架構,不能寫著前面忘了後面,寫完後面又發現與前面衝突了。有了大局觀之後,還需要能正確的實現出每個細節,將理論知識變成現實的代碼,這個過程也不簡單。此外,內核編程都是C語言和彙編級別的操作,出了問題要debug也是極其麻煩,就拿系統啟動來說,在進入保護模式或長模式之前,頁表和CPU模式處於不斷切換之中,進了保護模式之後也要刷新一兩次GDT和頁表,在這期間gdb這玩意兒基本就是個燒火棍,你得靠Bochs等模擬器進行機器語言級別的調試,手動計算指令地址打斷點;等系統再往後走,到能用gdb時也就用不上了,想想那麼個系統在跑著即使打了斷點也沒法調試,所以只能靠print大法,前提是要首先實現出類似printk的東西。總之,寫內核其實是很麻煩很複雜的一件事,非常耗費時間與精力,邊邊角角的東西太多了,而老李寫完內核以後的功力也已經超越當今無數本科生了(不敢說比例,只能說絕大部分人達不到這個水平)。

現如今我的工作內容雖然與內核無關,但是我依然接觸過一些內核開發高手,也見過下班後琢磨著寫玩具操作系統的人,他們遇到實際問題一般都會去參考Linux內核的實現,看看老李是怎麼做的,還有的乾脆直接在 Linux 0.11 上做修改。從某種程度上來說,老李開發Linux內核的地位不亞於創世紀。


Linus不是憑空創造出的Linux。在90年代早期學過操作系統課程的人應該都知道,其實之前有個專門用於教育的開源Unix版本叫MINIX。Linus學習了MINIX後,發現MINIX的版權協議只允許應用在教育上,於是基於MINIX開發了Linux。

而MINIX的開發則是因為UNIX的版權屬於ATT,非常昂貴,所以Andrew S. Tanenbaum 在1987年開發了MINIX用於計算機教學,在2000年版權協議改為BSD, 結果Intel又給集成到了CPU里。

而Unix版權屬於ATT則是因為 Ken Thompson, Dennis Ritchie 兩位大神開發Unix時,是在ATT所屬的貝爾實驗室工作,儘管這只是他們私底下搞得項目,但版權還是屬於ATT的。

而Unix也不是憑空出來的,Thompson和Ritchie兩位大神參與過 Multics 的開發。儘管 Multics失敗了,但讓他們了解了分時操作系統的核心理念及相關的實現細節,為Unix的開發奠定了很好的基礎。

每個大牛都是站在前輩巨人的肩膀上,當然,這不妨礙大牛們的偉大。


linus的個人魅力在於,他願意分享個人的想法,並且找到正確的方向帶領大家走下去,這種心氣和眼光是普通學生所缺少的。

linux一路走來用了很多年的時間,現在的輝煌讓我們忘記了它誕生時的時代背景,而這正是linus的不易之處。

我們應當謙遜的去學習linus個人的閃光之處,而不是抱著我上我也行的心態去看輕別人在艱苦年代取得的成就。

以上。

# 推薦本書:unix編程藝術,可以通過這本書了解下unix,linux,gnu的發展過程和unix蘊含的哲學。


那個第一個版本,只能證明Linus Torvalds厲害,但證明不了他非常厲害。後來Linux的開發和開發管理實踐才證明了,Linus Torvalds非常厲害。


第一個版本還不能證明linus有多牛, 熟讀386手冊, 很多系統級程序員都可以寫. 尤其是還有minix可以參考, sysv的代碼/bsd4.4 的代碼也都有. 算不上多牛. 但是我覺得能證明他牛的,而且牛的讓我心服口服的有3點.

1. 統御力極強, 整個kernel社區 是非常難掌控的.

2. 顛覆性的開發git, 直接秒殺clearcase, IBM那麼多的錢都白燒了, 堪稱萬人敵, 分分鐘打臉bitkeeper. 初始原型開發時間10天, 10天, 10天! 你沒看錯!

3. 罵人功夫也很牛, 說實話, 我罵不到這個境界


先看一則故事,選自百度百科:

1492年,哥倫布發現了新大陸。從海上回來,他成了西班牙人民心目中的英雄。國王和王后也把他當作上賓,封他做海軍上將。可是有些貴族瞧不起他,他們用鼻子一哼,說:「哼,這有什麼稀罕?只要坐船出海,誰都會到那塊陸地的。」

在一次宴會上,哥倫布又聽見有人在譏笑他了。「上帝創造世界的時候,不是就創造了海西邊的那塊陸地了嗎?發現,哼,又算得了什麼!」哥倫布聽了,沉默了好一會兒,忽然從盤子里拿個雞蛋,站了起來,提出一個古怪的問題:「女士們,先生們,誰能把這個雞蛋豎起來?」

雞蛋從這個人手上傳到那個人手上,大家都把雞蛋扶直了,可是一放手,雞蛋立刻倒了。最後,雞蛋回到哥倫布手上,滿屋子鴉雀無聲,大家都要看他怎樣把雞蛋豎起來。

哥倫布不慌不忙,把雞蛋的一頭在桌上輕輕一敲,敲破了一點兒殼,雞蛋就穩穩地直立在桌子上了。

「這有什麼稀罕?」賓客們又譏笑起哥倫布來了。

「本來就沒有什麼可稀罕的,」哥倫布說,「可是你們為什麼做不到呢?」

賓客們一個個強詞奪理:「雞蛋都破了,那算什麼呢?」

哥倫布卻繼續保持不以為然的態度:「我在剛開始定條件時,曾有說過不允許把雞蛋敲破?」

哥倫布離席而去時還留下了一句令人回味的話:「我能想到你們想不到的,這就是我勝過你們的地方。」

賓客們一時啞口無言。

找了一下維基百科,也找到相關的詞條

是的,什麼事情都很容易,在別人做過之後。

回到30年前的那個年代碼,有勇氣寫個OS,已經具備很大的能力和技術動力。在那個年代,軟體技術遠沒有現在這麼發達,很多軟體都直接運行在處理器上,沒有跑在OS之上。在那個年代,敢寫出一個新的UNIX系統,需要很大的勇力。從發展的眼光來看,那個年代敢寫OS並將寫出來的人,本身已經是很牛了,已經將大部分人遠遠拋在後面了。不要用那個年代,與現在相比。

相信現在數學博士掌握的數學知識,遠遠比萊布尼茨時代的數學知識要豐富得多,但這並不妨礙萊布尼茨是偉大的數學家,因為他發明了微積分。Linus在那個年代寫出了Linux的第一個版本,儘管現在很多cs學生或者工程師也能寫出個功能大抵相當的OS,但並不妨礙Linus成為計算機領域的一流程序員,因為他編寫了Linux。


就算現在寫玩具OS,怕也並沒有那麼容易。

即使有「45天教你寫操作系統」之類的書籍,即使照抄,寫個玩具OS也並不easy,畢竟還要搭個環境,還得有45天的閑暇和耐心呀。

說得寫個玩具OS那麼容易了,評論區哪位大人能大概說一下linux系統上現行的x86_64函數調用約定不?-- 您看,說起來大家都覺得寫個玩具OS不難,遇上這種具體問題,恐怕大多數人就萎了。

當然也不是說這個關於調用約定的具體問題有多難,我意思信口胡謅打口水仗很happy,真動手就未必是那麼回事。

所以linus自己都說了嘛。

"show me the code."


能說得上厲害,但不是特別厲害,但最厲害的不是他當時的技術,而是他去做了,這是很多人做不到的


其實 Linus 是比喬布斯和比爾蓋茨更加「技術派」的人,並且更加得多。Linus 當初是覺得 Minix 上的終端模擬程序太爛,想自己實現一個。逐漸的又由於某些原因不得不自己實現文件系統等內容,以至於後來才成了操作系統。

在他幹活的初期,他連一份完整和標準的 POSIX 文檔都沒有,是邊摸索邊學習邊嘗試寫出來的。

當然,毫無疑問的是當時的 Linux 是參照 Unix 設計誕生的。雖然是他從零創建了 Linux,但是 Linus 最初對操作系統設計和實現也是一竅不通的,他是看了一本書,名叫《UNIX 操作系統設計》。

所以實際上僅論當時的操作系統設計而言,Linus 並沒有達到什麼境界。他對操作系統設計的話語權來自於他自身的實踐的總結。

例如當初微內核宏內核之爭的時候,他就說過他的觀點。大致意思是微內核只是理論上更先進更適合操作系統的架構,但實際上微內核的模塊拆分看上去是將問題分化和簡化,卻忽略了拆分後的模塊和模塊之間的組合困難程度,導致問題變得更加複雜。

也是得益於當初 Minix 的大缺陷(Linux 能運行多任務的時候 Minix 還做不到),即使 Linux 並沒有 Minix 完備,卻仍然大受歡迎。

再後由於來 Unix 圈一直在互相打官司,而 Linux 的開源免費且沒有版權問題,導致 Linux 被廣泛的採納用來替代 Unix。Linus 本人也說過是 Unix 之間的戰火導致了 Linux 當初的飛速發展。

————

不過現在的 Linux 是今非昔比的,有許多驚為天人的設計。喬布斯曾經想讓 Linus 參與它們的操作系統,實際上就是看重了 Linux 背後的開源力量。喬布斯想讓為 Linux 貢獻代碼的 Hacker 們為它們的操作系統貢獻代碼。最後以 Linus 瞧不起 Mach 內核而談崩。所以單純談 Linus 本身的技術水平意義早就不大了,它對 Linux 的貢獻最大的應該是對項目的領導上,而不是技術上。

Linus 對比爾蓋茨也發表過觀點(在他的自傳上):稱比爾蓋茨無法給他技術上的見解,同樣的他也無法提供比爾蓋茨商業上的規劃。在我看來肯定存在將比爾蓋茨認為是成功的商人而不是成功的技術人的意味。

從技術角度看也能發現這麼多年過去了,Linus 還掌握著對 Linux 技術細節的話語權,可見他對操作系統的設計和見解可能已經超越他曾經的許多前輩了。

例如前段不久 Linus 就批判了 Google 的安全專家(並稱他們不懂操作系統運作):Linus怒噴谷歌安全工程師

————

回到問題,Linus 最初純粹由他實現的最後一個內核版本技術究竟多厲害?至少打敗了當時非常流行的 Minix,雖然當時 Minix 也只是一個沒有多少實際作用的「實驗室系統」。而在 Linux 之前,Minix 也被像 Linus 這樣的 Hacker 採用而不用 MS-DOS 證明 Minix 也是很優秀的。

—————

所以,相當厲害。


我在和此回答下有個匿名用戶討論時,被噴了一臉屎:

Linus大學時期寫出了linux內核,那個最初的版本僅就技術,有多厲害? - https://www.zhihu.com/question/263589279/answer/274060559

你的關注點很奇怪啊,起的早都是噴點,哈哈哈。實在是找不到素材來噴了?辛苦了,找到個發布時間當成寶貝一樣,小人得志是不是這個意思?

牛B!第一次看見有人自己說自己是坨shi還覺得驕傲的!惹不起!惹不起!

等等,我裝B?這幾句話是誰說的啊?好像不是我啊:

這個就更搞笑了:

自己理虧說不過就開始噴的是誰啊?

怕丟醜刪完評論還關評論的是誰啊?

沒臉討論還拉黑的是誰啊?

這個貨色,最開始講道理,講不過就開始噴,噴完還一本正經的認為我是噴子,說得我差點都信了,然後自己覺得丟人就刪評論,關評論,單方面宣布勝利,美其名曰不想被噴子騷擾。

最騷的是自己一本正經說得自己很大度很爺們:撕逼就使勁兒撕!

然後自己慫得躲在匿名身份後面,也不敢過來評論(怕實名),你不覺得這很違和嗎?

完了現在又跑過來舉報,屁都不敢放一個。

來看看這位匿名答主說了什麼:

就這還有贊,果然知乎只要噴,不管對不對都是一堆贊。

從這幾句話看,估計是個剛學編程,而且是第一次從用IDE過度到用編輯器的菜鳥,處於一種發現「哇,原來不用IDE也可以編程」新世界的大門後,覺得世界上所有程序員都是只會用IDE的垃圾的時期。

說白了,井底之蛙。

你說你覺得知乎上程序員水平不行,沒問題,你發個代碼片段,發個GitHub鏈接什麼的實際分析一波都很好。

本還以為你能發表什麼高談闊論,搞半天只能說個斷網和IDE?

噴都噴不到點子上,水平堪憂。

你說現在的程序員的都用IDE寫代碼,你是把知乎上的VIM神教和EMACS神教置於何地?不把他們當人看?笑

關於IDE,編輯器之爭我就不說了,沒意思,人和動物的基本區別是會使用工具,按答主這種邏輯,其實用編輯器寫代碼也都是垃圾,要知道以前的程序員都是戳打孔紙帶,最早的都是拿激光筆在光碟上雕刻程序的,還有拿磁針在硬碟上寫代碼的,呵呵,對吧,所以Linus 在圖靈面前就是垃圾,現在的程序員都是垃圾中的垃圾。

「知乎都是寫應用的程序員」,這句話很奇怪,因為大多數程序員在分類工種時,會下意識用比較具體的詞去分,比如「前端」,「後端」,「嵌入式」,「iOS」這種,不會用「寫應用的」這種指代不明的詞,所以我估計是個剛入門又鼻孔朝天的菜鳥,在他眼裡,程序員只有兩種:「寫應用的」和「寫底層的」,至於「寫應用的」具體也指什麼,估計他不知道;「寫底層的」具體指什麼,估計他也不知道。

接下來看看此人的素質,不說了,在他眼裡,我是個噴子,啊哈哈哈:

while(true) caonima

這句是最騷的,目測是此人畢生代碼技能的巔峰,汲取日月之精華,吸收天地之靈氣。

caonima吸收漢語中最有底蘊的三個字,在這個時代搶先實現了自然語言編程,搭配while(true)更是千古絕句,自嘆不如,自嘆不如。

更騷的是這位作者一開始刪完其他評論還留著這句,自我感覺這句寫得不錯,然而被我說了之後發現很丟人,連帶這句也刪了,哈哈哈

用這種方式罵人,有一種奇特的萌感哈哈哈。

還有這個:

上來就直接嘲諷知乎上所有程序員,也沒見你拿點乾貨出來,你很會靈活運用「你行你上」啊,總結下來就是:

「我噴別人可以,不需要任何技術證明就可以噴;但你噴我?對不起你得寫個操作系統」

最騷的是還到處翻我GitHub,然而翻了半天也沒翻出啥能噴的:

真是辛苦你了,多年前寫的小遊戲都被你翻出來,給你科普知識吧,大家都知道的2048其實是個山寨遊戲,根本談不上創造,原版遊戲是iOS上的Threes。

「玻璃心」?理虧就失了智一樣瘋狂輸出屎尿屁的是誰?

「太娘?」?慫得都不敢實名,好意思說別人太娘,這操作很騷。

「撕逼折壽,不撕了」,剛剛不是說要撕就敞開撕嗎?這會兒又裝清高?前後都不統一一下?氣得智商為負數了?

我記得我給你說過:噴來噴去沒意思,有膽兒就順著網線過來砍。

然而你慫得自己把評論刪了,又自我宣布勝利,佩服!佩服!

————————

回答問題。

總體來說:

Linus這個人,是非常厲害的;

初版Linux,放到90年代,作為一個22歲的本科生寫出的作品,是非常非常厲害的。

初版Linux,放到2017年,如果是作為一個本科生或者研究生學習操作系統造出的輪子,是非常厲害的;但對於工作多年(和系統強相關的工作)的老鳥(不需要那種業界知名的大牛),確實是可以較輕易(花一年左右時間)做出來的東西。

有些答案說是本科生就能做出的東西,是有裝逼嫌疑,但是也不能說錯,初版Linux大約一萬行左右,現在許多教人寫玩具os的教程或書籍,代碼量也是差不多一萬行,同語言(都是彙編和c)同代碼量同樣類型的項目,複雜度不可能差出太多的。所以有些比較牛的本科生是能造出這個級別的輪子的,有幾個原因:

  1. 現在關於Linux的書籍和文檔已經齊全到一輩子都看不完了,就看願不願意花時間看,這跟當時Linus面臨的難度不能同日而語。所以你參考Linux,不僅有現成代碼,還有各種業界大牛的文章輔佐。
  2. 關於操作系統的書籍,已經非常專業和成熟,理論的有《CSAPP》《現代操作系統》,實際的有《30天自製操作系統》,《一個操作系統的實現》,《x86彙編語言 從實模式到保護模式》這些手把手教的書,這跟當年Linus面臨的環境沒法比。寫操作系統的幾個難點,引導和啟動,內存管理,文件系統,進程和線程,I/O,業界的文檔支持你寫個麻雀os,綽綽有餘。
  3. 操作系統的理論,和實際實現已經成熟的不得了了,現在的人沒寫過代碼,但誰都至少用熟一款操作系統,如今,你給一個非計算機專業的人科普文件系統,他也絕對能理解這個文件系統是幹嘛的,但要知道,Linus在寫操作系統那會兒,是個窮學生,沒正兒八經用過一款商業的操作系統。在90年代,你給一個電腦小白科普操作系統是什麼,是一件很難的事。

就這麼說吧,初版Linux,好學校里的大牛本科生(從初中或高中開始學編程,打ACM的),本科還正兒八經天天編程的,是能做出這個級別的系統的。

知名公司里,和系統強烈相關的崗位,5年左右工齡里,平均水平的,可以較容易的找到能寫出這個系統的程序員。

注意,上面只是大略描述這個os的難度,不代表每個達到這水平的人都會去寫os,也不代表能寫出這個os的人技術水平就比Linus本人高,問題問的是Linus,這裡只就事論事。

畢竟寫這個os,少說也要個一年左右,這個時間成本大多數人花不起。大多數人吃糠咽菜能活,不代表人人都必須去吃糠咽菜。

反過來說,以如今業界的水平,如果有點天賦或者有點水平的程序員寫不出和初版Linux差不多的os,只能說明,這是時代的悲哀,也說明,從90年到2017年,計算機界的水平在退步。

——————

上面已經回答完了,下面開始胡扯,不願意看的可以關了。

把Linus封神可以,但別無腦吹,沒寫幾行代碼就跟風「Linus是上帝,是自由之光「這種的,還是算了。

現在基本所有的伺服器,嵌入式系統都是Linux,但是把這樣的成功直接全部歸功於Linus本人,是不明智的。

如今Linux的成功,Linus本人做的是從0到1的部分,還有各種公司和個人貢獻的工具,開源代碼,讓Linux從1到60,從60到90。

對於他本人來說,能在業界做到從0到1,已經是個非常厲害的事了,但是不要輕易否定其他為開源做貢獻的組織或人,捧一個人時踩其他人是腦殘粉才會幹的事。

任何一個功成名就的人,都會有時代因素的推動,把他的成功完全歸功於他的努力,不明智;完全歸功於時代給他的機遇,也不明智。

90年代是開源文化的萌芽時期,Linus的厲害之處在於,它不僅寫了Linux這個操作系統,還眼光獨到的順勢用Linux推了一把開源文化,完成開源文化的從0到1。

Linux的成功,這兩者缺一不可,你不能假設少了其中之一的因素會怎麼樣。

如果你覺得我上面都在扯淡,Linux就是神,就是吊打當今一切技術大牛,我們不妨反向思考。

想像這樣一個問題,如今Linux系統已經佔了9成伺服器的市場,如果讓Linus本人再寫一個操作系統,別說超越Linux,只要能拿下一成的Linux伺服器市場,都算成功,Linus有多大把握?

任何一個技術人都可以說,希望渺茫。

這說明,Linux的成功,除了Linus本人的因素,時代的因素也很重要,沒了時代因素,他本人也無法重現這樣的成功。

這不只是Linus本人做不到,任何一個知名的人也做不到這類事情,比如:

在不刻意打壓淘寶的情況下,讓馬雲再造一個在線購物網站,能拿下淘寶10%的份額嗎?非常懸

讓張小龍再做一個IM工具,和當今微信平分天下,可能嗎?基本不可能(你可能會說微信不是把QQ打趴下了嗎?別忘了,任何產品都有生命周期,年輕的微信剛出來時,對抗的是老年的QQ)

類似的例子很多,自己都可以舉。

最開始我說過Linus非常牛逼,為什麼,因為他不止一次造出影響業界的工具,2005年,他還寫了Git版本控制工具。所以我說非常厲害,一個人改變一次世界,有時候可能是運氣成分比較大,兩次改變世界,那說明他本身就是非常厲害的人(即使他不一定會去寫Linux,但他也會做出其他東西來影響世界)


從現在的眼光看,僅就技術來說,不厲害,讀代碼的門檻也不高,事實上操作系統的代碼本身工程化的性質就高一點,你需要站在更高一點的角度來看,不會像編譯器一樣經常給人卧槽居然還可以這樣的感覺,而Linux最初的版本並不能說是一個完整的系統,至少我看到0.11版的時候還有很多函數沒有實現,有些硬體原理限於資料來源Linus自己也沒有搞懂(貌似是強行調試通的,在注釋中有warning)。

不喜歡這個問題下的某些說法。即使在那個時候Linux也不是技術含量最好的操作系統,更別說放在現代。就事論事還需要「你行你上」么?真是有意思,又沒人問現在普通的大學生和當時的Linus誰厲害,這能比較嗎?別自己YY個靶子來打了。

站在前人的肩膀上又不丟人,我不知道有什麼好批評的。

不用IDE,不用調試器,不許查網上豐富的資料,不許買現代書籍,算什麼現代大學生?


以當年的眼光來看,其實沒多厲害,很一般,而且當年模仿unix的個人小型os並不止這一個,不模仿unix的也是有好幾個的,年代久遠資料不好找,也不舉例了。那年頭比較流行的不是os,是虛擬機,當年pc硬體之間的不兼容造成的問題遠比現在嚴重得多,跨平台才是當時it技術人員業餘項目關注的核心。

我覺得大家關注linux的方向根本就是脫離實際,現在挺linux貶微軟系的風氣在實際工作環境已經不流行了,如果題主還是學生,最好去看看linux早期版本的源代碼,你如果認真看了,估計會一個勁的吐槽。


你這05:40 起來編輯回答,好厲害,膜拜一下大神的玻璃心,昨晚被我罵了一晚沒睡覺吧, 半夜擼稿懟我,你加油,繼續,千萬別睡覺,哈哈,這心態簡直讓人膜拜

感謝誇獎啊!!! 哈哈哈 @默然 ,我估計你也氣炸了。就不能淡定點么年輕人!!

總的來說,你的關於對Linux和Linus回答是比較中肯的,其他的連話都說不清楚,更別談邏輯的shit, 但是我是Linus無腦吹, 噴子,菜鳥.....這無法改變啊!我全然接受並感謝你給我的這些標籤。

但是你來裝了逼(在別人回答下一頓懟....撕逼)你也不能造出個操作系統內核出來啊, 你說百度 T7 的隨便就寫個出來,可我們真的沒看到啊?還有我不知道假如是百度T7的前端工程師怎麼寫個操作系統出來, 很有疑問啊。你是做C++,網路,演算法,伺服器的, 我也不知道你怎麼做個操作系統出來。但是要裝逼, 我就要噴,沒法, 管不住自己,甚至還爆粗。

都是男人, 別裝一副小可憐的樣子。撕逼就使勁兒撕,別這樣,實在不行你還可以寫個操作系統內核不是。

看了你知乎一百多個回答, 技術方面的解答乏善可陳。你這種大神是解決實際問題的。多去解答寫你專業方面的實際問題比啥撕逼強多了。這種怎麼怎麼評價某某的撕逼問題留給我們,謝謝。

舉個簡單的例子:

我們都知道2048這個遊戲,大多數人都能寫出來,但是,噴創造2048的人, 我第一個噴回去。當然不知道你怎麼那麼玻璃心,作為一個男人在這點上你表現太娘,受不了。

「你個菜雞竟然噴人家...你竟然噴人家......小委屈,小可憐.....」

噴你怎麼啦,真是。

撕逼折壽,哎,不撕了。

=======================================================

現在的程序員你要是把網斷了,他讓他寫代碼,他寫個***!!在知乎,沒有人能達到linus的水平。能吹牛逼的多了去了……知乎尤其多。知乎都是寫應用的程序員!

對,當時沒有ide,現在如果沒有ide,你看看有幾個能寫代碼的?!!!!

這個回答得罪了某位叫"默然"的知乎程序員,一頓在我回答下面拉**,我真是清理了半天,呵呵!!

這個回答下為啥要匿名,因為,之前知乎有個問題是是說中國為啥不能開發出類似windows,linux這樣操作系統的時候,我看了下面的所有的回答,呵呵,匿名是為了防噴子騷擾!


什麼時候寫個OS這麼容易了???你們在做玩具嗎???


首先,牛不牛。肯定的,很牛。

不管是什麼理由,去否認這件事本身的,大概都是見識不多,而指點江山水平一流的。

但是,有一個問題點可能很多人沒注意到。就是不同時代有不同的追求方向。

他寫Linux內核的時代,是一個操作系統還沒有如今這麼完善的時代。很多牛人和公司都把這個當做一個重要方向。

但是現在,IT領域的大頭和瓶頸不再是操作系統。像bat裡面,最懂操作系統的人,說不定是運維和極少數底層開發者。

為什麼?是因為bat的工程師都不厲害?不是,而是因為這個時代的需求不再是構建操作系統,而是高並發,分散式,大數據,數據挖掘等等等等。

所以,有的人說什麼現在的程序員不會vim,只會用ide,不會寫操作系統,這個論據是錯誤的。

Linus偉大的地方不在於他寫了操作系統本身,而在於能夠讓這麼多人完善它。


有那麼多開源項目,有哪個像linux這樣了?你以為開源的操作系統就這麼一家么?

linus那幫大牛的方向的把握很強


我讀過最初的那個版本的代碼,感覺能在當時的那個時代背景下做出這些東西來,肯定是屬於拔尖的那一批了。不過他更應該被歷史記住的是他對開源的貢獻。


技術是否厲害不重要,核心在於他公開了源代碼,並且成功地吸引到了更多的人參與進來。

牛逼哄哄的學生見太多了,寫的那些玩意兒連它自己都懶得多看一眼。


最厲害的是比爾蓋茨。大二的時候就寫出了dos ,別忘了,他的法律系的,編程全靠自學。

最可怕的是他的眼光,能堅定的從哈佛法學院退學。

最最可怕的是他的家庭並不是網上說的那樣是什麼ibm 的股東,就是普通的工薪中產階級。完全的靠自己。

最最最可怕的是他有錢之後一點也不裝逼,默默地幫助別人,捐出全部財產,研究艾滋病,保護兒童。從來不去談些裝逼的成功學,也不去建什麼學院讓自己名垂千史,有這種人的國家怎麼可能被打敗,就算能,你忍心嗎


在學習Minix後,由於其創作者Andrew Tanenbaum教授只是將其定義為教學系統,功能極為有限,Linus遂自製一操作系統內核,名為Linux。

這在現在或許並不是什麼太值得驕傲的事情,君不見國內各大高校計通院在學習「四大天王」後都要擼一個簡單的計算機,並且有配套的系統及介面,其中符合代碼、硬體設計規範且優秀的作品絕不少。況且市面上各類書籍,定位從科普到專著都相當全面,使得這件事情難度大大降低。

然而Linus的厲害之處在於,在信息相對閉塞,學習資料甚少的90年代初,身在芬蘭的他就得知了海岸對面有這個操作系統並且深入學習,還能自己動手創作。或許到這裡,許多人也覺得大不了。但學過相關課程的都知道,涉及的每一個問題,無論整體觀還是具體實現,都不簡單。適逢黑客文化風靡西方世界,這一作品得到了無數人的支持,況且這一工程一做就是近三十年,試問多少人能夠堅持?如今他也在不斷進步,早已不是普通程序員能望其項背的水平了。

最初版本的代碼在Unix、Minix、BSD的基礎上實現,只是個雛形,問題也不少。但是在眾多支持者的幫助以及Linus過硬的技術下,Linux一步一步成為了如今使用數最多的系統。雖然屢出重大漏洞,但比起XP時代巨硬一個月十數個補丁,不知高到哪裡去了。

---+++以下為吐槽+++---

就不放完整答案了,原評論區這位仁兄真是滿嘴噴糞,說不過就刪完評論關評改答案還「我就是噴子SB怎麼滴吧」,這一臉洋洋自得的痞子嘴臉,反正我是服氣的。知乎就是這種人多了才這般烏煙瘴氣,也不見管理員管管,反倒是另一位被建議修改。

講道理,Linus有其厲害之處,卻定有其局限性,神化是不可取的。那位匿名掛人者明顯忽略了三個顯而易見的常識:

一、計算機行業是技術分層的,專精某層的技術人員主要負責自己的與相鄰上下兩層,但這並不影響工程師們知曉相應的常識;

二、沒有去做並不代表做不到,而在如今做到了也是實驗性質的作品,在Linux體系如此完善的今天,沒有必要去從零開始再做內核。況且一個操作系統不是一個孤立的系統,必須有其對應的生態(軟體、社區、基金會),忽視這一點只談做系統也是空喊口號無實際意義;

三、並不需要達到某人高度才有評價某人的資格:如今所有中學生都知道牛頓的經典力學有其局限性,還知道他與萊布尼茲、胡克糟糕的爭鬥以及在英國皇家學會的獨斷專行,我們每個人都可以去議論,去評價他。但這並不影響他的成就與偉大。但同時,不足就是不足,強硬護短就是睜著眼睛說瞎話。

今天一上來那位仁兄的回答就在TL上,很是無語。看了看答案以為會有什麼高見,結果只會放地圖炮,道理講不出道理,理論講不出理論,說不過只會罵人刪評論。這段話嘈點太多讓人無語,況且一副誰來咬誰的面孔怪嚇人的,也難怪眾人無言以對。所以,誰最會裝逼,誰最會吹牛逼呢?

這就是所謂一粉頂十黑吧。當然這話不準確,說不定也不是粉,就是來噴找優越感的。

微笑中透露著我可去你媽的吧 (二維碼自動識別)

匿了,一免騷擾,二嫌丟人。

但我還是要說一句,渣渣。

不如來我這裡留個言再自刪,我好永久拉黑。

:)


推薦閱讀:

守望先鋒六殺是什麼體驗?
總考不上編製,大神們我應該怎麼辦?
怎麼反駁:看什麼書,別裝逼好么。?
如何反駁:「你不承認你有問題就是你最大的問題」?
女生110胖嗎?身高165?

TAG:操作系統 | Linux | 大神 | Linux內核 | 林納斯·托瓦茲LinusTorvalds |