以前寫的,怕引來口水戰,干脆不發。這段時間面試了十來人,用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開發中的需要比較頻繁。
終!!!