為什麼有些程式設計師要用 Linux 環境而非 macOS 環境程式設計?

時間 2021-05-13 04:16:42

1樓:海東喵

除了搞 Linux GUI 的還在用 Linux 環境程式設計,其他的基本都在 Windows 平台開發。

用 MacOS 是因為 iOS 只能用 Xcode 生成和除錯。

不用怎麼測試有沒有bug啊!!!

2樓:

win是最好的linux發行版。

所以尋根求源。

mac當然可以,但是大一統的介面不適應,都是從沒錢買mac的時代摸滾帶爬過來的

一千個人一千個勁兔!

3樓:

其實有個理由很隱蔽,就是那些程式設計師可以遠離類似微軟Office這樣的生態,公司也支援全Web環境的辦公體驗。不然專案天天要求開啟乙份含有巨集的excel 文件進行編輯並提交,保準有人會叛逃。。。

4樓:我們都在這裡

macOS不是gnu環境,很多gnu的命令,macOS下面對應的引數或者各式不同

最明顯的,像是sed,就完全是兩個宇宙的命令。

5樓:

因為方便。後台開發和web 開發Linux應該是最方便的,Windows是最最不方便的。MacOS處於二者中間。

很多後台的軟體基本都執行在Linux下,直接用Linux肯定是最方便的。跨系統開發,有一些bug找起來是很要命的。

MacOS只存在蘋果電腦中,那如果不喜歡蘋果電腦的當然用Linux最方便了。

6樓:風絲

用mac 6年多了從使用的角度 linux是不完善的mac

mac + virtualbox ubuntu虛擬機器搞定!

不要被linux開源蒙蔽了頭腦,做技術就好好做技術,提開源是為了利益而不是技術!

7樓:GangChen

乙個是線上環境問題,開發環境和線上環境越一樣越好。

另乙個就是macOS,要麼貴(大部分中小公司給配高配mbp基本不可能),要麼(裝黑蘋果)麻煩……

8樓:肥貓科比的粑粑

你如果問linux和macos的操作便捷程度,我覺得macos毫無疑問會剩出。畢竟用vim開發大型專案,並沒那麼方便

但是題主問的是程式設計環境

額。。。。。。兩者沒有辦法比較好吧。macos開發底層應用還是存在比較多限制的,當然部分也有通過hook解決的。

9樓:梓華

為啥你會覺得所有程式設計師都能買的起Mac?

為什麼你會覺得所有程式設計師都會喜歡用Mac?

你再想想為啥MacOS不叫Linux Mac發行版?

10樓:

建議大家試試在kde 桌面做開發,dolphin、Kate整合konsole,用過就知道爽,還有kdevelop IDE 。拿來做IoT專案開發特別好用。

當然,不好的地方是有時候你會忍不住給它寫個補丁,影響了工作進度

11樓:noark

寫回答之前,紀念下,我第二次將我的 linux 開發機從半掛到拯救回來

Linux 有個最大的好處就是,不論死成生麼樣,都能有辦法救回來,mac 不一樣。。。某年月日,公升級掛了,就只能重灌系統了,什麼你說有 Time Machine?我用了半天的時間,時光機開到一半卡殼了。。。

之後,我的 mac 上多了乙個分割槽,用來存工作的東西,不至於再次被毀天滅地

12樓:

因為有些程式設計師是寫linux程式的,而且還是用c或c++寫的。

這種情況下最好就是在linux上寫。

至於其他原因就不提了。

13樓:堅定不移黑貓路線

上層應用哪個平台不都乙個樣嗎?當然直接接觸系統程式設計沒的選。

還有遠端除錯這條路,我不是Linux系統程式設計開發人員,記得VS可以建立CMake專案,在Windows平台利用GDB遠端除錯執行在Linux的程式,還會自動同步標頭。

14樓:

用macOS做開發環境,用linux做測試,生產環境,這完全沒有問題啊。因為macOS和linux都是*nix的系統啊。我就是這麼做的

再說了,現在都已經有了docker,這個還是問題麼?

15樓:si9ma

個人認為,除了一些底層開發,還是mac用起來比較爽,不用太折騰。mac作桌面環境,再搭配docker和雲伺服器,再合適不過了。

另,mac下的有的命令和linux引數有區別,巨坑,所以我一般都會把mac下的命令列工具替換成gnu版的,和linux平台統一。

我自己寫了乙個統一指令碼,對我來說,可以統一linux和mac下的命令列工具。

mac的優勢就是超級好用的觸控板,桌面軟體支援良好,介面比linux順滑,不用像linux桌面那樣折騰,有不少好用的工具(比如alfred,dash)。dash在linux可以用zeal替代。

所以我的思路就是mac桌面環境+和linux相容的命令列環境。

16樓:童牧晨玄

遠端開發還好。除了用 ssh & mosh 之外,也可以本地開發,然後用 fswatch + rsync(或 unison)實時同步(https://

qr.ae/TWIXls

)。一有改動儲存實時就同步到伺服器上,在伺服器上編譯、測試。不過,nvidia-docker 只有 Linux 可以用,但是 ssh 到伺服器上再開 nvidia-docker 似乎也還好。

但是我覺得自己的本地環境是 Linux 會逼你去折騰一些系統裡的東西,比如為了安全會研究一下 iptables,為了更好配置系統會學習 systemd。而掌握這些知識,即使你不是 OP,對理解系統、除錯問題方面都會有意想不到的幫助。Mac 當然也有類似的功能,但如果折騰 Mac 那套東西,在伺服器端又要重新學習折騰一遍,一想到這一點就沒什麼折騰的動力了。

17樓:TY Sun

以前回答過乙個類似的:

zhihu.com/question/27617980/answer/440495255簡單總結:

只說編譯類的。

除非部署環境是Mac或者iPhone,否則Mac不適合。

如果只編輯不編譯,Windows可以用VS,Mac裡沒有同一級別的IDE。

18樓:hhdh

某些特殊情況,比如Linux netlink的控制。我在mac上完全是沒法弄的,讓我登入Linux伺服器vim?饒了我吧我真記不住,最後還是用了docker解決debug這玩意的問題

19樓:陳禮

人窮用不上macos。配台thinkpad筆記本,裝上N多個虛擬機器。

程式設計都是卡著資源,能用就好。

CPU足夠,記憶體足夠,硬碟足夠,能完成工作就好。

20樓:

搞科研的時候合作組裡開會,發現老外們用的都是mac,我們大部分用的都是linux。

後來合作組裡乙個實驗室給學生全配了mac。這樣開會的時候就只剩我們實驗室用linux。

你問我為啥用linux不mac,當然是因為窮啊!

21樓:xshrim

因為我討厭蘋果行不行?編個程相比Linux你Mac有任何優勢麼?伺服器應用你見過不支援Linux的嗎?

你見過幾個支援Mac的?Linux在程式設計工作中不是秒殺Mac的?這問題問得好生愚蠢。

22樓:傑林修

一定要說出理由來的話,

用linux環境好歹可以和伺服器環境一致,可以用原生docker。

用mac os x是為了在mac 的伺服器上執行麼?

當然,如果只是喜歡,那用啥都沒關係,我還用linux桌面辦公呢……

23樓:

我個人也喜歡用linux搞開發。

首先,第一點,作為網路工程師,凡是交換機,路由器,防火牆,再高階點的鏈路負載,頻寬管理,都原生核心支援,缺啥裝置都可以用linux頂。抓包分析,從tcpdump到wireshark都可以用,故障現場扔個linux在那就可以在辦公室遠端抓包分析調測,方便的不要不要的。

第二點,像ubuntu,自帶perl,python,運維開發基本不需要額外安裝執行環境。而且cpan,pip不少網路常用模組只支援linux。

第三點,比起十年前的linux,日常看個電影開啟瀏覽器即可。那時候,裝個中文輸入法、chrome、flash等等,那叫乙個費勁啊。現在,開發即便用不慣vim也有vs code,多開心啊。

第五點,系統資源消耗低,用perl,python開發個運維系統,加套mysql資料庫,直接在本地跑起來,還是流暢的。

第六點,寫運維指令碼,懶得開發網頁和gui,直接讓程式返回文字資訊時還是需要依賴linux各種強大的命令。

最後一點,長期不用linux,容易生疏,到需要時再用難免忘記命令手忙腳亂,還是常用著好。

24樓:

搞深度煉丹只能Linux。

macOS貌似連nvidia驅動都不支援了GG,框架支援貌似也不怎麼樣,Windows目前我連tensorflow都沒法編譯成功,我自己沒搞過黑蘋果,要想用macos,官方支援只有買蘋果的電腦,不過蘋果產線實在太狹窄了,啊能插爆GPU。

25樓:

對於有些程式設計師來說是這樣的,但是這不是必然的,往往還是一些心理因素。比如你看人家RMS就死活都要用龍芯筆記本。。。連龍芯都能用,一定要用linux又有什麼不行呢。。。

26樓:漁家傲

當然可以用mac 用Windows沒人攔著主要是因為伺服器一般是linux 所以客戶端用linux直接就能跑相容性比較好 mac上雖然也提供*nix工具不過細節有些和linux不太一樣比如sed 你也可以本地編譯乙個so或者a庫直接扔到伺服器上面跑省著重新編譯當然 linux可能比Windows和mac需要折騰點起碼系統開機不帶要自己或者找人安裝還有使用習慣什麼的不習慣反倒會降低效率

如果自己的話都可以公司的話我覺得最好統一這樣能省很多力氣周圍人有什麼要用的軟體分享給你都能用(有的軟體不跨平台還要找替代品) 亂答完畢

27樓:「已登出」

除非是非跨平台的程式才會用linux,比如開發k8s的team就是ubuntu,前端和ruby顯然mac更合適,包括py,因為有些東西win下用不了,linux賊難用,配置很浪費時間

28樓:

除了中文的Windows可能需要考慮編碼的問題,每個平台基本都有優秀的IDE,實際上程式設計習慣很大程度依賴IDE和使用習慣而不是完全系統,windows + wsl做開發在我看來實際上的體驗和Linux沒什麼區別。可能就是wsl的io效能差一點,不過如果Linux上沒有Vim Emacs沒有jb全家桶,沒有Android Studio估計也沒多少人用Linux做開發吧

所以說選擇某個平台一方面是使用習慣,另乙個原因是這個平台上有優秀的工具。

29樓:大魔頭-諾鐵

問題不成立啊。。。

我見到的(當然也包括我自己)用mbp程式設計的程式設計師遠多過用Linux的,當然客戶那邊大都是用windows的,用linux的好像只見過一些運維人員。

程式設計師為什麼要用 Linux 環境程式設計,用 Windows 不可以嗎?

單純從後端開發的角度來說,linux真是方便太多了,各種配套工具一應俱全,但是吧,日常辦公又離不開windows。所以,虛擬機器它不香麼,我現在就是虛擬機器裡跑manjaro i3 基本占用不了多少資源,每天備份一下建立乙個快照,就不怕機器給搞壞了,虛擬機器直接匯出,就可以在其他電腦上直接搭一套開發...

為什麼Linux程式設計師不用IDE而要用很不方便的gdb除錯程式?

也對GDB不熟,之前用過,現在也是剛用,就納悶你們多檔案跳轉的時候咋辦?比如我斷點在b檔案,但是a檔案呼叫的b檔案,我想回去看a檔案裡面如何呼叫的咋辦?而且檔案多了,感覺好費勁。 繁星雨夜 麻煩推薦乙個 在通過網路連線的嵌入式開發板上進行程式除錯 不用 gdb的更好替代方案 工作這麼忙,哪有時間浪費...

為什麼某些程式設計師要用mac?

馬爾克斯 鍵程短,比如command s。螢幕解析度高。可以低著頭開發,看單位的1920 1080的顯示器脖子疼。類unix系統,不用像windows配來配去,命令列安裝就好了。桌面整潔。 波羅丁的菠蘿 1.沒有各種亂七八糟的廣告,別跟我說怎麼怎麼解除安裝,真的心累了2.螢幕好,每天都要看十來個小時...