Linux各個發行版與OS X相比,哪個寫代碼更舒服,爲什麼?

楓梧簫楠


當然終歸還是那句話,如果作為一個程序員,你始終還在糾結哪個平臺到底更爽,那麼首先你就不是一個合格的程序員,這是我們通常的看法。但是正如那句老話“工欲善其身必先利其器”所說,好的工具能夠能夠事半功倍,而就我的體驗來說,macOS是我能夠在工作、生活、學習之間尋求最完美平衡的解決方案。

當然你要說你做運維的,那麼我無話可說,如果你說macOS沒有Linux下deb/rpm/pacman/portage等等豐富的包管理,brew畢竟用起來很痛苦,macOS下至今缺少系統級別的包管理工具。

macOS算是正統的Unix血統,雖然Unix演化樹上你一般看不到她的身影

蘋果公司早早地讓macOS通過了Unix的認證,雖然因為各種原因,即使macOS基於Unix的FreeBSD分支,並且Darwin內核也是開源的,但是畢竟macOS桌面不是開源的,所以到現在macOS也沒辦法進到Unix各大演化樹上。

但是macOS幾乎繼承了所有Unix的優點,各種shell環境,而且都是bash環境,和Linux基本上都可以無縫連接。Java/PHP/python/Ruby/C/C++環境可以說是應有盡有。

macOS擁有更加美觀的桌面,更穩定的環境

這點是毫無懸念的,我的MacBook Pro幾乎常年不關機,除非更新系統,而且非常穩定,也基本沒遇到什麼糟心的問題,美觀、大方的桌面環境,這一點是Linux所比不了的,當然我相信你也能列舉出一大堆Linux的優點。比如做服務器,Linux強大的優勢就體現出來了,腳本自由組合工具的能力Linux也具備更大的優勢,平鋪式的桌面,總是能獲得最新的軟件更新,很多開發者把用過的命令行都存儲在~/.bash_history中,加上自己的工具查詢優化,效率依然非常高。

但是macOS我同樣能列舉出一大堆的優點,比如對於我來說keynote是必須的,WebStorm和IDEA在macOS下體驗更棒,MWeb/Ulysses/Alfred/Final Cut Pro/omni/Parallel Desktop等等這些工具都是Linux我沒法獲得的。所以相對於我來說,這些的價值超過Linux能給我的,畢竟我不怎麼倒騰服務器,不怎麼倒騰運維。

macOS擁有更豐富的應用生態,能同時兼顧好生活、學習、工作

更重要的是macOS能夠很好的兼顧好我的學習、生活、以及工作,macOS是我工作的好搭檔,我做Web開發,主要工作語言是Java,平時自己C/C++/Lisp/Python都有涉及,雖然做深度學習我的Mac顯卡不夠,但是基本使用是夠的,畢竟要想做好,幾塊1080顯卡是必要的,那就可能要搭工作站級別的電腦了。

而且我的日常學習、生活,都可以用macOS來實現,這一點Linux就沒辦法很好的兼顧,畢竟Linux是純生產力工具,而macOS則是在娛樂工具和生產力工具之間尋求了一個相對完美的平衡。

因此一定要投一票的話,我把這一票投給macOS,不過就我日常使用來說,生活、工作中主要用macOS,學習中我還會用到Arch Linux/Fedora/Debian/Gentoo Linux這些Linux發行版,而且使用的時間佔比並不小,但是當然這些環境花費時間也不少,所以更多的是學習和研究,少數時候工作環境用到。


EmacserVimer


Linux是Unix旁系,OS X(macOS)是Unix直系.

我個人兩款系統都有接觸過,Linux的操作類似於DOS系統.雖然Linux也有圖形化界面,但開發的還不夠完整.macOS相對來說美觀很多、在常用軟件方面也是macOS版更多.

我之前也有在Linux系統下做C的開發,由於那種目錄式的操作,需要開發者有著高超的記憶裡.相比之下,macOS這邊則好了很多.

但提到哪個系統敲代碼更爽,當然還是Linux.因為日常操作都需要鍵入命令的系統,豈不是和大神更配?

macOS相比於Linux,在平面設計、視頻製作方面有著先天優勢.如果是Linux好,一般也是針對Windows來說,個人認為舒適程度的話:macOS最為舒適.

當你使用過Windows再來使用Linux時,明顯感覺到了系統前所未有的流暢和輕快.但和macOS來比還是不值得一提.

這個世界上什麼操作系統最好?是Unix.你可以把macOS就當作Unix來使用,Linux怎麼說也差了點距離.





科技零創新


很顯然,Linux更強,但是最強的還是windows(除了一些特殊的開發項目)

Linux和MacOS的差距一句話就可以概括:

相對於MacOS,一般Linux發行版的環境可擴展性強,支持工具多,非gui性能好,可靠性強,安全性高。

Linux作為類Unix系統內核,他的發行版系統可擴展性比基於unix的MacOS強N倍吧,這差距就不用我說了吧,而且MacOS由於堅持不開源,蘋果又沒有能力獨立適配新版內核,所以MacOS最新版系統的Unix內核還停留在2012年版本,這更是拉開了差距,甚至一些很流行的元素開發環境都沒有,你怎麼愉快的敲代碼?

而且蘋果一直用舊內核帶來的問題是穩定性差,今天是不是覺得win10動不動就藍屏穩定性極差?然而根據西海岸實驗室等第三方測試機構測試,新版MacOS的穩定性甚至比win10還差,而且其數據穩定性很差,可靠性這麼差對於程序員來說就是個災難。

安全性低也是蘋果一直使用舊版內核帶來的問題,很多Unix舊版內核遺留下來的漏洞蘋果沒辦法解決,如今Mac電腦僅佔有6%的市場份額,然而根據世界最大的企業安全解決方案提供方賽門貼克的統計,全球肉機網絡80%以上的肉機電腦是Mac系統,而根據MacOS的銷量幾乎每臺Mac電腦都是肉機電腦,且不說安全性作為一個程序員能否接受,很多海外大型企業都禁止蘋果設備接入企業網絡,你自己掂量一下就知道了。

當然最優秀的敲代碼系統還是windows,雖然一些開發項目必須在linux下執行但是對於大部分開發項目來講windows還是最友好的,windows開發環境齊全的一批,這是Linux和unix系統不能比的,雖然java這樣的大頭都對linux有完善的支持,但很多民間的好用免費的開發工具只有windows上有,所以說你大爺還是你大爺,追求效率的話還是得用萬惡的windows 。



BFAX


看到有人說在windows下面開發條件是最好的,我簡直樂噴了。

首先申明,沒有什麼是windows做不到的!!!所以不要再說這句話來反駁我!!!我只強調這句話的後一句——沒有什麼是windows能做好的!!!

不說太高深的內容,就最簡單的前端開發,windows都做不好。node環境各種奇葩問題相比已經困擾了很多的windows前端開發工程師,為什麼就是不行,為什麼就是報錯,為什麼為什麼為什麼?不為什麼,換個系統,啥問題都沒有。

返回主題,是linux和macos哪個寫代碼更舒服?這取決於兩個問題,第一,你是否更加依賴圖形界面。如果是,macos當然更加舒服。第二,你是否依賴於linux的獨特特性,如果是,linux自然更好。

但對於絕大多數工程師來說,兩者沒有什麼太本質的差異。有人說mac的核心過於老舊。這話沒錯,但是絕大多數場景並不需要那麼新的核心。

我個人更偏向於macox。

第一,非常優秀的支持4K屏幕以及多屏幕輸出。從顯示器上看更加舒服。

第二,最優秀的文字渲染能力。

第三,最優秀的顏色色準輸出能力。



第四,配合 brew 實現命令行包管理,滿足正常工作需求。

第五,非常優秀的虛擬機軟件加成,可以隨時使用各種linux發行版。當然,也可以裝windows,並且體驗絕佳。

第六,更加嚴格的命令行模式,培養自己良好的命令養成習慣。

但如果沒有mac電腦怎麼辦?deepin linux 系統很不錯。作為主力辦公系統非常優秀。不過最近系統更新到15.7貌似小問題比較多,應該不久就全部修復了。至於其他發行版,見仁見智。

最後,珍愛生命,遠離 windows。

======追加==某人的教程的開篇===

在 mac 或者 linux 系統上,一般都已經自帶了 python 2.7 的版本。但是我們是基於 python 3.5+ 的版本進行開發的,我個人使用的是 python 3.6。所以,我們需要對開發環境進行一些配置。

一般,我們都可以使用命令行來進行安裝

mac

brew install python3

Ubuntu\\debian\\deepin 等 linux

apt install python3

redhat\\centos

yum install python3

archlinux

pacman -S python3

windows

請到官方網站下載 python3 安裝包,然後進行圖形界面的下一步下一步的安裝。(一對比,怎麼就這麼詭異-_-|||)


FungLeo


看了大家的回答,雖然很用心,但和題主的問題相差甚遠,問題問的是哪個linux發行版,發行版,發行版!


我說說我的看法吧,可能並不全面

1.ubuntu,不得不說,用的人非常多,最新版17.10,gnome桌面,用作開發還不錯,算是比較順手,可以很方便裝idea,vscode,git,docker,推動ubuntu的是公司,所以發展方向和fedora略有不同

2.fedora,我目前在用,不得不說,我還是喜歡這個,ui很舒服,雖然也是gnome,但這個發行版基本上一直都是gnome,不像ubuntu從unity桌面剛轉過來,適配的更好一些吧,另外這個發行版主要依靠社區驅動,比較激進,能看到更多的新東西

3.kali,常用於滲透,安全行業的人,內核修改過,如果不是搞這行業的,不建議用這個

4.redhat,陳舊靠譜版的fedora?

5.centos,如果不是為了全景再現服務器端環境,或者學習服務器,個人電腦上裝這個的人真不多

6.其他……

總之,我對於好系統的定義是,能夠讓你把注意力更多地放在業務上,那就是好系統,這點上ubuntu和fedora都不會讓你太失望,新版有更好的驅動,社區有你需要的軟件,讓用戶能夠接觸到更多的東西。這麼說來,linux就是這深山裡的一座廟,讓你不得不靜下心來敲代碼(想玩遊戲?先徒步30裡出山到windows下再說吧)

其實還是mac os最好用


未央147355755


用過Linux陣營的ubuntu,和OS X,windows,論系統的話,綜合上還是OS X好用,尤其是包管理上,還有大愛的trackpad,mac的觸摸板的精準度要高出很多,綜合性總體劃分的話OS X > Linux > windows。

開發上最讓人喜歡的是Linux和OS X的軟件包上,你能想到的大部分都可以在包管理器上找到,幾乎幾條命令就能解決:

1.比如你要安裝個git

在mac上你可以在終端用brew install git這一條命令直接搞定

ubuntu你可以用apt-get install git 來搞定這個軟件

windows你可能需要先找軟件,再下載軟件,再安裝。

2.安裝mysql也是

在mac上你需要在終端敲個命令brew install mysql就可以了,(我記得這裡好像需要安裝三個),當然你可以下載dmg安裝包來安裝


OS X

  • 有人反應它有個很好用的搜索工具spot light,這種工具多的是,Linux命令行的搜索也相當強悍,win之前自帶的搜索做的的確不好,以至於我養成自己找的習慣,現在的系統搜索速度已經大大改善,而且還有像everything這種工具可以用,幾乎是秒搜

  • 很多軟件需要收費,但質量也是非常棒的,比如最近做自媒體想用視頻處理方面的軟件,mac的final cut pro,看下圖,天吶,好貴,像我這種已經習慣win和linux免費的軟件,也儘量去找些免費的來用,比如imovie

  • 圖像設計這塊是很不錯的,同事只要錢不是太拮据的,都喜歡pro版的macbook或iMac,我用的是17年的macbook air,平常用沒發現有什麼聲音,用imovie導出視頻的時候,開始響了,才發現兩個性能差距。


Linux

  • Emacs和Vim就是個神器,專業程序員最喜愛的編輯器之一,雖然先入為主我更喜歡sublime,但ubuntu對它的支持並不是太好,比如中文無法輸入,需要在其它地方寫下來,然後複製進去,記得好像是14和16版本,現在不知道修復沒有。

  • 大量開源的優秀開源工具,相互結合用來開發,會越來越得心應手

  • 裝Linux的一般都是pc機,雖然沒有mac的trackpad,但大部分開發人員都是用快捷鍵操作的,速度和鼠標及trackpad完全不在一個級別上


這個其實也跟用的語言有關,寫過Java,PHP,Ruby三種語言,分別說下

Ruby

Ruby鐵定了OS X好用,現在最新版改名了,叫MacOS High Sierra。

先說Windows,寫ruby如果沒有特殊癖好的話,直接上Linux或macOS,因為用windows寫ruby,你會遇到許許多多莫名其妙的問題,由於大多ruby程序員都是選用另外兩套系統的,所以網上能找到的解決方案也少,很可能你會遇到某一個問題,網上找不到解決方案的情況,項目至此擱淺,或者另某出路。

PHP

只用過win版的,寫的代碼也不多,很淺的那種,所以這個不好比較,win版沒覺出有什麼不好用的地方。只是服務器一般用Linux比較多,在Linux上開發有助於對服務器環境的熟悉,這個道是真的。

Java

最開始在win版上開發幾年,最近才在mac上用了段時間,兩上差別也不是太大,win版的操作,相對麻煩了些,可能熟悉了win版的緣故,Linux某些發行版,還是會有兼容性問題,有次同事安裝了個非主流的版本遇到了。我們常見的系統一般不會有這種問題的,生態都很完善,而且大部分都是定期更新。

如果你用的不是mac機器,經常寫代碼的話,你用鼠標那隻手會非常的累和疼,需要注意鼠標手,我的右手就經常疼的不想碰鼠標,用mac的trackpad,手不會這麼疼,只是用多了,手掌底部經常摩擦的緣故會有點不舒服。有同事告知他的手指頭疼,和trackpad接觸的那塊面積,我倒是沒出現過:)

有什麼問題可以留言或評論!

以上,希望能幫到你,祝好!


木易小光


寫代碼舒不舒服和Linux哪個發行版沒有關係,主要還是在於你的編碼環境,對於像我這種長期在服務器上遠程開發的碼農來說,自然對於各種發行版本無感,因為我看到的都是這個樣子的

所以,自然也就是更傾向於哪個編輯環境比較舒服了。

在終端下,我是個忠實的vimer,各種插件配置好,通過vundle走道哪編輯環境帶到哪~

所以windows mac unbutu 我都可以使用


深度猿


推薦macOS,集linux和win的優點。

命令行方便,mac和linux差不多,命令略有差別。但都很好用。

對各種開發語言的環境支持方面,各種包都支持,兩者差不多。

軟件方面,mac比linux的軟件資源多,各個軟件基本上都有mac版,linux版就不一定有了。而且,mac下圖形設計方面更好更方便。

生態方面,國外開發人員基本都以mac為主,所以,各種社區的資源都以mac為環境背景,文檔、案例、各種資源很豐富。

開發工具,大多數開發工具都以win,mac為主,對linux的支持不是很全面。像微信小程序的官方開發工具就沒有linux版。sublime的linux版不支持中文輸入等等。而mac下沒有這些問題。寫代碼編輯軟件推薦微軟的vs code,跨平臺,完全支持中文,各種插件,及時的更新,好我的不得了。強烈推薦!!!

再者,mac的圖形環境用著很舒服,還能裝虛擬機。而且xcode獨有的。系統又那麼漂亮,還有很多很多理由在mac下寫代碼,為什麼不用呢?

最後,如果沒有錢買mac,那麼,黑蘋果現在也很好裝了。用你的機子裝個黑蘋果,mac系統就下可以愉快的寫代碼了!


真古玉社


請各位搞清楚類Unix 並不是說基於Unix,類Unix只是Unix like ,和Unix類似的,很像的。所以沒學過操作系統的,不瞭解操作系統的請補補課了。什麼是基於?MIUI?錘子os?沒錯,他們只修改了大部分的用戶接口,內核層面改沒改?改了,那是不是基於?是的,你沒有重寫。改了哪部分?改了和用戶接口相關的部分,以及需要系統層面支持的部分,核心內核改沒改?可能改了。

言歸正傳,作為開發者用哪款發行版都是大同小異,內核都是一樣,你說各個Linux發行版差別能有多大。但是不同的發行版,他們的側重點不一樣,有些版本偏向服務器使用,有的是桌面。喜歡折騰得人可以考慮Arch Linux,不喜歡折騰的deepin 也可以接受,不過呢,穩定性呢需要考慮考慮,其次,Ubuntu號稱是最適合新手用的發行版,其他的debian ,Centos 也挺不錯,適合自己的才是最好的


互聯科技早知道


用過Windows、Ubuntu、Suse、OS X,按照喜好程度排序,OS X>Ubuntu >Windows

原因: OSX可以一直不用關機,開蓋就能用。Windows用了幾年之後,開機沒有十幾分鍾別想開程序,Ubuntu好用,但是好多程序沒有,而且並沒有mac流暢。

Linux上最重要的東西,shell,macOS也有,而且並不遜色。

開發環境方面,我用C語言,macOS自帶的Xcode也很好用,並且還有Idea的IDE也很好用。


分享到:


相關文章: