破除迷思系列:高手一定唔用Windows ?

Gordon Lau

Gordon Lau

2018-11-19

早一排有朋友想學寫程式,他忽然問我:「我要買一部Mac 機嗎?」,開始的時候我也不太理解原因,後來細問之下,才知道朋友覺得通常看Youtube時,片中的Programmer都愛用Mac,一些 Coding Bootcamp 甚至乎非Mac 不教。因此他認為一個高手必用Mac ,只有對電腦不熟的人才會用Windows。

mac_vs_windows.webp

http://blog.nerdalert.com/windows-10-vs-mac-os-sierra/

於初學者而言

要分析這個問題,我會用一個典型Node 開發者的開發工具作例:要開發Node 軟件,無非需要的是Node本身;一個好的文字編輯器如Visual Studio CodeAtom ;及一個最新版本的瀏覽器如Google ChromeMozilla Firefox。 有趣的是,以上三個都係支援跨平台的:也就是Windows、 Mac 、甚至乎 Linux也都會有良好支援。

如果你要開發的是手機程式,在Windows 、Mac、Linux 都可以開發 Android 手機程式,只要安裝Android Studio就可以開始開發。而iOS程式只能夠在Mac的環境 開發,因為iOS開發需要安裝 Xcode,而Xcode只能安裝在Mac 上。

android_vs_ios.png

https://medium.com/angelhack/to-develop-an-ios-or-android-app-that-is-the-question-98cee05280d0

我要買一部Mac 機嗎?」,簡單的答案是:「如果你需要開發iOS app的話,你就需要一部Mac 了。」

於專業軟件工程師而言

如何你已寫程式多年,可能會說:「不是啊,Mac 是 Unix System,比起Windows 是一個更好的開發者平台。」

此話有其合理之處,Mac 一貫以來的優勢是繼承了多年來Unix 穩定的開發者環境,加上一個流𣈱秀麗的使用者界面。而由於Unix有bash,而bash本身支援很多有用的Command Line tools ,所以使用Mac的開發者亦很常使用bash 去解決問題。反之在Windows 10以前的 Windows,使用者能夠使用的原生 command line tools就只有 Command Prompt 和 Powershell,而很多開發者需要的工具都以command line為基礎:例如 Node、Ruby 、Python等等都是以Command Line 為主的工具。

bash_on_ubuntu.png

https://www.techrepublic.com/article/windows-10-how-well-does-it-run-ubuntu-bash/

但這已經是Windows 8 或以前的問題了,自從 Microsoft 於Windows 10發行 Bash on Ubuntu on Windows,就扭轉了 Windows 一直以來的短板。因為Bash on Ubuntu 是一層 Compatibility Layer,也就是方便了開發者可以在Windows 直接運行一個 Ubuntu image,以後 Windows 既有其一貫的優勢,也就是有大量專業軟件支援,亦有 Unix開發者環境的優勢。與Mac比較之下亦毫不遜色。

「我要買一部Mac 機嗎?」,深奧的答案也是:「如果你需要開發iOS app的話,你就需要一部Mac 了。」

Comments

Read More

四個原因令Linux更適合作Server

破除迷思系列:用Command Line 的都是Hacker?