為何開源軟件偏愛Linux和蘋果的系統?
Linux是一種使用越多越深入就會覺得越爽的系統。
它很開放,基本上任何問題只要你想搞懂,有能力搞懂,就能搞懂。從系統引導,到系統內核,到各種開源軟件,可以充分滿足你的好奇心。也可以任意修改,想怎么折騰就怎么折騰。(Windows上的小打小鬧已經滿足不了我們了!)
它很強大。性能就不說了。就操作感來說,命令行和腳本,完爆Windows。打幾個字就能完成很多需要鼠標點點可以做或者不可以做的事,實在是太方便了。比如說遠程全盤備份只要rsync一行命令就搞定了。雖然cmd.exe也能做點事,可用起來也太別扭了吧。
它是免費的。這讓我有了道德上的優勢,可以鄙視用盜版Windows以及在上面運行破解軟件的人。要裝個軟件,也是一行命令。Windows上估計得打開瀏覽器到處找破解下載了吧。
它很安全。沒什么人蛋疼到寫Linux病毒吧(也有蛋疼的...)。公司里的Windows筆記本被迫裝了安全軟件,經常在不合時宜的時候在背后開始掃描了,還不能停,配置那么牛屄的機器幾乎不能用。裝Linux,就無可奈何了吧。
當然Linux目前的問題是,一些關系生活、娛樂的軟件沒有。沒有廠商愿意投資在這上面。相應的設備驅動也不行,尤其是高端顯卡。所以桌面Linux就只能是小眾。
1.強勁的 GPU 和 CPU。我的家用電腦和筆記本都配了頂級的顯示器和 GPU。Steam 上有 2000 +游戲,我和孩子玩了很多,并且我對 CUDA 和 深度學習很感興趣。而 Mac 對此就無能為力了。對我來說,強大的 GPU 是非常重要的,所以我配了一臺搭載 GTX980Ti 顯卡、32 GB 內存、3440×1440分辨率的曲面屏、i7 WildDogPro 處理器的電腦。而價格跟 MBP Retina 的價格相差無幾。
2. 與服務器真正的兼容。我曾工作過的一家公司,半數腳本是用 Linux 腳本和 GNU 工具寫的,另一半是 Bash 和 BSD 工具寫的,因為這部分開發者堅持用 Mac 開發,并認為 Mac 和 Linux 相差無幾。我只想說,這真的太亂了。后來,我花了幾周時間重寫了代碼(為了兼容)。這些人一邊說:“Mac OS X 是不同的”,但另一邊又說:“Mac OS X 跟 Linux 相差無幾”。但事實并不是,Mac OS X 與 Linux 差很多。
3. Linux 使我更高效。幾乎不需要切換環境,我可以使用相同的工具,專注編寫腳本,與服務器無縫銜接。至今,我還沒發現哪個 Mac 用戶能展現出令我印象深刻的 腳本編寫能力。我曾經管理過一個需要超過 100 臺以上 Linux 服務器集群的軟件,除了 Linux ,其它系統根本勝任不了這個任務。
4. Linux 上一切允許正常(Everything just works)。相對那些用 Mac 的同事,我在 Linux 上碰到的問題更少。不需要安裝 homebrew、fink、MacPorts,只要運行 和 這兩個命令就可以了。團隊里有少數人還在堅持使用 Mac,他們認為這是一種榮耀。編寫腳本和程序設置電腦, Mac 大概要 2-3 天,而 Linux 只要一個小時,而且幾乎是全自動化的。
5. Linux 能做 Mac 不能做的事。有一天,我們需要超高清分辨率的屏幕截圖,在 Linux 上只要輸入: ,之后用 Chrome 把圖片放大一倍,并用 Ksnapshot 獲得所需圖片,前后只需要幾分鐘。誰能在 Mac 或者 Windows 上實現?
6. “Linux 上不能運行商業軟件”這個爭論是毫無意義的,尤其是在硅谷,這里早就不使用微軟的 Office 軟件了。我使用 Balsamiq 3、Slack、DropBox、Chrome、Hangout、Google 辦公套件、GoToMeeting、WebStorm、Skype、Gimp、Insync等軟件…對了,在休息時間我會在 Steam 上玩會游戲。所有程序都運行良好,幾乎沒有應用程序或者系統崩潰。Webstorm(JetBrains IDE)在 Linux 上更友好,同樣,NodeJS、MongoDB、MySQL和其它一系列開發工具在 Linux 都比 Mac 友好。
KED/Plasma 的界面比 Mac 和 Windows 都友好多了。你問我為什么這么說,因為 KDE/Plasma 我都在使用。
這么多開發人員缺乏系統管理和使用腳本的技能,真是一件令人沮喪的事。相對命令行來說,Mac OS X 的圖形界面限制了程序員的思考。如果有一天我在硅谷創業,我會把 Linux 當做首選的操作系統。
注:
CUDA:一種由 NVIDIA 推出的通用并行計算架構,該架構使GPU能夠解決復雜的計算問題。deep learning:深度學習。源于人工神經網絡的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發現數據的分布式特征表示。需要 N 卡支持,而 Macbook 基本上配的都是 Intel 顯卡。