拋開笑話不談,我已經在 Windows 上使用Git Bash作為終端很長時間了,實際上我已經使用它很多年了,而且我並不抱怨它給我帶來的好處。我還記得使用Cygwin甚至Power Shell的人(我個人也認為這是一個很棒的終端)。
無論如何,對於那些想要在 Windows 上擁有與 Linux 發行版完全相同的選項的人來說,您可以使用WSL2(適用於 Linux 的 Windows 子系統),它無非是在您的 Windows 作業系統中提供一個 Linux 環境。
這樣,您將擁有與 Ubuntu 完全相同的終端,例如在 Windows 中。您也可以在 Windows 中使用這個Linux系統進行開發。
值得記住的是,過去我們也可以使用虛擬機器器模擬器在 Windows“內部”擁有 Linux 系統,例如:VirtualBox、Vagrant等。
2) 軟體許可費用
老實說,我認為今天這是兩個作業系統之間的主要區別。無需在軟體上花費一分錢就可以進行 Linux 開發。使用Windows,您至少必須支付作業系統許可證的費用,但是,花錢購買其他許可證是很常見的。大多數 Linux 發行版都是免費的。以及基本上使用作業系統的人日常生活的整個基本堆疊。
Windows 使用者經常使用的一個論點是為該系統製作的軟體的質量。顯然,不可能在 Linux 上本地玩LOLzinho。然而,我們有市場上主要軟體的免費替代品,例如:GIMP、kdenlive、Libreoffice、OpenOffice等(現在所有這些軟體也可以被使用 Windows 的使用者使用),這些軟體都是免費且良好的。(嗯,有時實際使用我們知道的市場領導者會更好)。
3)開發堆疊
現在我們談論開發堆疊。很多人表示在Windows上模擬Linux生產環境很難。直到最近(我不知道,十年前)這可能是真的。如今,隨著容器化( Linux 容器、Docker、Kubernetes等)與 WSL2(我們之前討論過)的大量使用,可以在 Windows 中模擬任何 Linux 環境。
在程式語言方面。有些僅針對 Windows 執行或構建。而那些僅在 Linux 上構建或執行的,您可以使用WSL2來執行或構建.
關於 IDE 和其他程式碼編輯器,有很多免費的選擇,例如:VSCode、Netbeans、Eclipse,儘管近年來我更喜歡使用 JetBrains 的付費工具進行開發。絕大多數編輯器可以在任何作業系統上工作。
Linux 或 Windows
4) 伺服器維護成本
如果我們考慮伺服器,業務就會變得更加複雜。毫無疑問,維護 Linux 伺服器在各方面都比擁有 Windows 伺服器便宜得多。維護 Windows 伺服器所需的許可證和硬體成本要高得多。點Linux。例如,您可以在Locaweb 的 VPS伺服器上看到這種差異。
但是,沒有什麼可以阻止您在 Linux 上擁有生產伺服器並使用 Windows 終端訪問它們。例如,這正是我所做的。我的伺服器是 Linux,我在 Windows 終端上使用 SSH 訪問它們
所以在這種情況下,Linux 的另一點是。
5) 自動化
當我們談論一般自動化時,尤其是DevOps 工具。Linux 在這裡輕而易舉地獲勝。用於此類操作的工具在 Linux 上表現更好,並且通常是為了在 Linux 上使用而設計的。儘管它們也可以在 WSL2 之上使用,但還有一個附加層可能會影響工具的效能。
我並不是說沒有類似的工具或者它們在 Windows 上表現更好。我說的是大多數。畢竟,Docker是基於 Linux、Kubernetes、Ansible甚至是在任務排程程式中提供 10 比 0 的crontab製作的。