Windows、Mac與Linux哪個更適合開發者?

楓葉落一地發表於2018-06-20

  以前寫的,怕引來口水戰,乾脆不發。這段時間面試了十來人,用Mac的開發水平明顯高於Windows的,挺多感想的,於是改改發了吧。

  Windows: 對普通使用者而言體驗最友好,對開發者體驗最差;

  Linux:開發者的天堂,普通使用者的噩夢;從嵌入式開發到應用開發,一應俱全;

  Mac:WEB開發與設計師首選,嵌入式開發不推薦;對普通使用者而言Windows各有優劣;

  為什麼Linux是開發者天堂?

  軟體開發有很強的實踐性,所以高質量的原始碼、技術文件對於開發者的成長是決定性的。假如一個人想了解作業系統原理,卻連原始碼都看不到,改改作業系統都做不了,我不相信這個人能理解得了作業系統原理,而由於缺少可實踐的原始碼,所以技術文件也只能隔靴搔癢,繞著路子嘗試把問題講清楚,而不是放出可執行的示例原始碼。而這……正是Windows的現狀。

  與之相反,Linux構建在開源世界上(我就不去爭自由軟體跟開源軟體的不同了,不是本文主題),正好就沒有上面的問題。稍微懂行的人都知道Linux開原始碼質量之高遠不是Windows上流傳於網路上的原始碼所能匹敵的,而這幾年開源世界的火爆,對於長期浸泡在Linux上的人更是一種福音。另外一個影響效率的則是命令列,屬於會用的人不用解釋,不會用的人解釋也沒用,不展開。。。

  總的來說,一個Linux開發者,想了解啥都能輕易找到這個世界上最優質的資源,拿到後可以立馬實踐;而一個Windows開發者,則在這方面完全處於劣勢,這一來一回,成長上該有多大差距?

  繞了一大圈,終於要講使用Mac的開發者的開發水平為什麼會高於Windows開發者了。很簡單,Mac是類UNIX系統,所以Mac開發者找的資料跟Linux開發者不說100%,也有70%,80%的重合,自然成長效率會比Windows高。

  順便寫下本人在這幾個系統方面的經歷:

  就我個人而言,大四自學Linux後,一直到去年8月,所有的開發工作都是在Linux完成(當然,工作內容只有Windows工具的就沒辦法了)。當時決定換成Linux只有一個理由,我從大一到大三一直在想作業系統原理和怎麼寫一個作業系統這兩件事情?找來Windows的系統程式設計,MFC,VC,驅動開發之類的書來看,卻總覺得不得要領,一度懷疑是不是自己太笨了。後來由於搞嵌入式開發,使用Linux,需要先適應,從《鳥哥的LINUX私房菜》,到《UNIX環境高階程式設計》,接著又看Linux的原始碼,學習《LDD3》,彷彿開啟了一個新世界的大門,才明白,並不是我太笨了,只不過是Windows把簡單的複雜化了,同時缺少可實踐的開原始碼做研究。

  去年8月轉做WEB開發,之前買的Mac發現是類UNIX系統,因此一週不到就能適應整個系統,決定在上面先開發一段時間試試。平時也需要用些圖形處理和日常辦公,這些明顯純Linux是弱項,而Mac做得很好。於是一段時間後,確實感受到WEB開發上,Mac上的開發體驗會好於純Linux。Mac主要勝在兩點:1. Mac的brew包管理一致性高,並且包很新,包依賴問題容易解決 2.圖片處理在WEB開發中的需要比較頻繁。

  終!!!

相關文章