使用 Linux 相對於 Windows 有何優勢?

使用 Linux 相對於 Windows 有何優勢?

我想更多地使用Linux,我所有的程式設計和開發都是在Windows下完成的。但我想知道使用 Linux 相對於 Windows 的核心優勢是什麼?有哪些可以在 Linux 中執行而在 Windows 中無法執行的動作?

答案1

以下許多要點同樣適用於所有 POSIX 作業系統和許多其他替代作業系統。

  • 強大的終端模擬器,具有管道、重定向和後台進程。 bash 是預設 shell,是一種可用於日常系統管理的程式語言。它比 DOS 強大幾個數量級,因此許多人選擇使用終端和文字編輯器而不是 IDE。
  • Linux 提供了許多不同類型的進程間通訊。套接字、共享記憶體、管道、FIFO 等。
  • Linux 的 fork-exec 模型可讓您更輕鬆地編寫並發程式。
  • 標準化的檔案系統佈局,雖然各個發行版略有不同,但允許建立自動安裝腳本。
  • 由於上述原因: 套件管理器會自動安裝新的程式庫和程式及其相依性。在 Windows 上,您必須手動安裝大多數程式庫配置你的編譯器;在 Linux 上,輸入「apt-get install」或「yum install」或「emerge」(分別適用於 Debian/Ubuntu、Fedora 和 Gentoo)。這也是分發可供大眾使用的軟體的好方法。
  • 免費,持續更新。無需付費升級作業系統。
  • 更好的社區和社區知識。 Linux 程式設計師更了解他們的作業系統的功能,因為您可以 A) 閱讀其原始程式碼,B) 更接近它,​​以及 C) 找到更多有關其內部工作原理的參考資料。他們也透過郵件列表、論壇和此類網站進行更多交流。開源軟體在 Linux 上變得顯而易見,我們喜歡共享程式碼。
  • 更好的文檔。不知道如何運行某個程式?輸入“男人”。想了解 C 函數的行為嗎? “男人”或有時“男人3”。
  • 定制。您可以自訂任何內容,包括內核。您可以更改桌面 GUI,甚至嘗試平鋪視窗管理器。大多數發行版允許您在幾種不同的檔案系統之間進行選擇,包括 ext4、XFS、JFS、Reiser 等。

答案2

我相信最大的優勢是您不依賴特定的供應商。例如,如果您不喜歡 GNU C,則可以使用 Clang。如果您不喜歡 Apache,請使用 lighttpd 或 Nginx 或 cherokee 或......任何給定技術堆疊的極少數部分不允許替代品。

不依賴供應商的另一面是標準,書面標準,幾乎所有東西都存在。這是一個比任何來自「專有世界」的人都可以想像的更大的優勢。人們使用書面標準編寫文件。人們編寫的程式碼符合(至少大部分)書面標準。沒有人會像大型軟體供應商所做的那樣*咳嗽*BEA*咳嗽*。拒絕修復錯誤的物品最終會被「分叉」取代,因此標準實際上傾向於被遵守,而不是口頭上*咳嗽*OOXML*咳嗽*。

答案3

我總是對我的朋友說,Linux 對待開發者就像對待自己的孩子一樣。將程式與庫連結起來真的很容易,你有很多很棒的編輯器可以使用(vi、emacs、Code::Blocks、Geany...),bash 非常靈活(一開始你不會使用它)非常多,但是當你開始時,你會注意到有些事情變得更容易),如果你願意,你可以編輯基本上所有內容的程式碼。

但對我來說最重要的是套件管理器(fedora 為 yum,ubuntu 為 apt,arch 為 pacman)。套件管理器會檢查您想要安裝的每個軟體和庫的每個依賴項並安裝給您。它會檢查每一個更新。總的來說,它…讓您的生活更輕鬆。

Windows 本身沒有這樣的東西。

此外,Linux 也相容於 POSIX。這意味著為其他 POSIX 相容作業系統(如 FreeBSD、OpenBSD、OpenSolaris,甚至 Mac OS/X)製作跨平台軟體應該會更容易。 Linux 的幾乎每個函式庫都是標準的(Windows 有許多僅適用於它的超級特定實現,如 MFC 或 DirectX),因此製作適用於 Windows 的軟體版本也不應該那麼困難。

相關內容