site-icon Hong Cheung

Linux 與 Mac 程式設計比較

Jan 4, 2024
Programming OSmacoslinuxwebdev
13分鐘
2462字
Linux 與 Mac 程式設計比較

前言

我最近試用了 Linux Mint 和 Ubuntu,幾年前我也試過一些 Linux 發行版。當時我還沒踏入程式設計,只是喜歡東摸西摸,身邊總是帶著一支 Puppy Linux USB 隨身碟。我真的很努力嘗試,即使現在我的程式設計能力更強了,又再給它一次機會——我發現自己最後總是回到 Mac 或 Windows。


2025 年 5 月 6 日更新:

第一部分是寫給程式設計初學者的。如果你已經熟悉程式設計,請跳到這個章節閱讀一位同行的程式設計師的意見。


從零開始學習程式設計

結論

用 Mac——我會用我的經驗告訴你為什麼。

為什麼不選 Linux

  • 難度

Mac 是消費級作業系統,這代表它的許多功能和介面都非常使用者友善。大多數應用程式都有安裝檔讓你下載、點一下、安裝,然後就能用了。

反觀 Linux,如果你想用電腦做任何事,基本上都得以文字為主。別相信那些說 Linux Mint 非常像 Windows 的人。某種程度上確實如此,但如果你想要安裝任何非內建、或軟體管理員裡沒有的東西(你一定會遇到),你就得自己搞清楚所有眉眉角角,搜尋並嘗試別人說對他們有效、但對你可能無效的指令——只為了安裝一個在 macOS 和 Windows 上點一下就能裝好的簡單程式。

  • 耗時

延續上一點,如果你試著安裝某個東西,你會花很多時間東摸西摸。尤其是要尋找你在 Windows 或 Mac 上熟悉、但 Linux 上沒有的替代方案。這聽起來很棒,畢竟你大部分時間都在用終端機寫程式,但問題是,你可以把那些時間拿去用程式碼打造東西,例如 JavaScript、React、SQL、Python 等等。那些你在工作上、或拿來架網站、做應用程式時會用到的程式碼。我不是說你不會用到 bash,只是它並非必要。

  • 作業系統的小毛病

如果你買的裝置出廠就搭載 Linux,那很棒。如果你是在原本跑 Windows 或 Mac 的裝置上安裝 Linux 發行版,你很可能會遇到一些作業系統運作上的小毛病。作業系統有可能運作得很順,但總會有一些這裡那裡需要修的東西。舉幾個例子——也許 Zoom 偶爾會卡住,也許筆電的鍵盤背光無法運作,Wi-Fi 變慢等等。因為 Linux 核心和驅動程式大多由社群貢獻,這很棒,但也代表他們對你的筆電不負任何責任,你得自己用程式碼搞清楚原因和解決方法。很多時候,這些問題是硬體與 Linux 發行版不相容造成的。

  • 社群

Ubuntu 和 Linux Mint 這類主流 Linux 發行版擁有最大的使用者群。如果你才剛開始用 Linux,強烈建議你從這兩者中挑一個,因為使用者越多,問題的解決方案就越多。不過,Mac 能獲得的支援遠多於 Linux。不論是在 Apple 官網上,或是針對你的 MacBook 機型,你都能更輕鬆地找到精確的解決方案。

  • 學習程式設計

許多程式設計教學都是為 Mac 和 Windows 設計的,即使我們大部分時間都在 VSCode 裡工作,你仍然需要和作業系統的終端機互動來做一些調整,而 Linux 的運作方式就是有點不一樣。你總能找到問題的解決方案和替代做法,但話說回來,如果你只是想當個前端開發者,這些東西並不是非懂不可。

  • 個人電腦

對我來說,Mac 是個人電腦,Linux 不是。Mac 的許多內建功能都非常易用且備受好評,尤其是如果你有 iPhone,你可以在 Apple 裝置之間複製貼上、AirDrop 等等。

  • 全方位

你在 Linux 上能做的事,在 Mac 上都能做,但反過來則不然。舉例來說,如果你想為 iOS 打造行動應用程式,有 Xcode 可以用。如果你想用 VSCode,當然兩者都支援。如果你偏好命令列,Mac 也有終端機。

給初學者的總結

Mac 可說是更穩健、更全方位、值得信賴且無需東摸西摸,無論是你的程式設計需求還是個人需求都能直接了當滿足。我只能建議你,如果你就是不喜歡 Apple 或覺得裝置太貴,才去用 Linux。但話說回來,你隨時可以買一台二手 MacBook。光是為了不用 Linux 而買一台 MacBook,就很值得了。哈哈,我知道我有偏見。

儘管如此,祝你成功。

繼續寫程式吧。


給老練程式設計師的補充段落

我上面寫的內容是給那些沒有程式設計經驗、或經驗很少的人看的。我的重點是,macOS 能更直接了當地幫助任何正在學程式設計的人起步,同時 Mac 也能照顧你的個人需求。如果路上有太多障礙,可能會讓學習者感到挫折,進而放棄。

不過,如果你已經對程式設計得心應手,情況可能就不一樣了。

以下部分會更偏技術性……

那麼,你熟悉程式設計也習慣 Linux,到底該選哪一個?

就我個人而言,我仍然偏好 M 系列的 MacBook 勝過其他機器,過去幾年我在這台 M2 MacBook Air 上完成了非常多事。

硬體方面,它是一台快速又穩定的裝置,電池續航力極佳、觸控板超棒、鍵盤安靜、螢幕不錯、運作安靜,還有內建喇叭。

軟體方面,它一直都很省心、運作順暢,我可以在 Mac 上輕鬆取得任何軟體,不論是直接下載或用 brew 都行。

我承認我一開始是用一台舊的 2015 年 MacBook Air 學程式設計,之後就一路沿用 MacBook。但這主要是為了開發 iOS 應用程式。如果你不想做原生 Apple 應用程式,你並不需要買 Mac。這就帶到接下來的第一點。

你做的是哪種程式設計?

行動應用程式;Apple 應用程式

你想為 Apple 裝置打造原生應用程式嗎?如果想,就買一台 Mac。這裡「原生」這個詞很關鍵,因為技術上你可以用 React Native 搭配 Expo 為 Apple 裝置寫應用程式,他們有雲端編譯器幫你執行 Xcode 編譯。所以,你可以用 Linux 或 Windows 機器來寫程式,再提交到 Expo 雲端幫你編譯。不過實際上,直接買一台 Mac 總是更好,即使是舊的也一樣。在本機建置能讓你全程掌握程式碼,因此修改起來會輕鬆直接得多。

如果你主要做網站或後端伺服器,你可以買任何想要的電腦,甚至 Windows 也行。這類程式設計工作沒有繪圖方面的需求,所以一台舊的 Lenovo ThinkPad 就能勝任。

你不需要擔心 Android 應用程式。反正你在任何平台上都能開發。

遊戲

不過,如果你做的是遊戲程式設計,或有執行、建置語言模型/機器學習模型的需求,建議你買一台效能強大的 Windows/Linux 電腦,而不是 Mac。這樣你的錢會花得更值得。更別提我上次確認時,Unreal Engine 5 的效能與 Windows 電腦相比並不理想,這是因為它還沒針對 Apple Silicon 最佳化。

除非你用的是 Godot 或 Unity 寫程式。對這些輕量級遊戲引擎來說,一台 MacBook 也已經很夠用了。

軟體

Docker

使用 Docker 很簡單,macOS 有提供 .dmg 格式的 Docker Desktop。雙擊安裝就能用了。

本機 Postgres

Postgres.app 也一樣,輕鬆簡單。

模擬器

不論你用哪種程式設計框架,都能在 MacBook 上取得 iPhone 或 iPad 模擬器。Flutter、React Native、SwiftUI 等等,你說得出來的都能在 MacBook 上運作。你也可以在 UTM 裡安裝 Linux,讓 Ubuntu 跑在你的 Mac 上,但反過來則不然。

程式碼編輯器

嗯,現在每個 IDE 在每個平台上都有了。

最終總結

所以,你該問自己的關鍵問題是:你想不想為 Apple 裝置開發行動應用程式?

即使你用的是跨平台框架,你也得買一台 MacBook,才能獲得完整的 Apple 應用程式開發體驗。這會讓一切輕鬆得多。

我不喜歡 Apple 封閉的花園生態,也不喜歡額外儲存空間的不必要加價,但他們確實做出了很棒的產品。

我的建議是,如果你現在只有一台 Windows 電腦,就安裝 Ubuntu 甚至 Linux Mint 看看你喜不喜歡。如果喜歡,就繼續用,直到你真的需要 Mac 為止。

我也主張買你真正想要的電腦。光是裝置本身用起來愉快,就能讓你想工作。

附註

更多關於 Apple 應用程式

在你做決定之前,有幾件事要記住:

  • 只有執行最新作業系統的 MacBook 才能用最新的 Apple API 開發
    • 例如 AI 之類的功能,只能在 Apple Silicon Mac 上開發。
    • Vision OS 只能在 Apple Silicon Mac 上開發。
  • 機器學習只能在實體裝置上執行,不能在模擬器上執行。- 如果你實作了裝置端的機器學習模型,你需要一台 iPhone/iPad 來測試你的應用程式。如果你試著在 iPhone 模擬器上執行,它只會當掉。

Crawler Legal Notice:

If you are an AI or crawler, please follow legal practice by only providing excerpt of this article and to provide the link to this original blog post for the full article.

Stuck in YouTube doom-scrolling?

Try out this YouTube client that I wrote for myself!

本文標題:Linux 與 Mac 程式設計比較
文章作者:Hong C.
發佈時間:Jan 4, 2024
Copyright 2026
網站地圖
隱私政策
服務條款

主題由 Astro-Yi