說好的 Swift 取代 Python 呢?

語言: CN / TW / HK

爭做團隊核心程式設計師,關注「 幽鬼

摘要: 許多接觸過 Swift Python 的程式設計師可能會有一種感覺: Swift 和 Python 很像。甚至作為提供型別註釋的編譯語言,Swift 比 Python 的速度更快,功能更強大,因此許多程式設計師認為未來 Swift 必將取代 Python 。但如今看來,事實並非如此。

原文 連結:http://medium.com/geekculture/swift-was-poised-to-replace-python-then-it-tanked-3e6c11740ba6

宣告:本文為 CSDN 翻譯,未經授權,禁止轉載。

作者 | Ari Joury

譯者 | 彎月

出品 | CSDN(ID:CSDNnews)

沒有任何一種語言能夠主宰整個資料科學與機器學習世界:MATLAB 是數學家們最喜愛的語言;R 是開源的,而且可以自由定製;Julia 是一匹強勁的黑馬,近期收到了很多關注... ...

但是,有一種語言幾乎是所有資料科學家都離不開的——那就是 Python,這門語言距離統治該領域僅一步之遙。

Python 是最容易學習的語言之一,而且黏性很高,一旦學會了 Python,你就想用 Python 做所有事情。 就算與 C 語言相比, Python 都是一門了不起的語言: 你完全可以放棄手動管理記憶體。 當然,記憶體管理關係到底層程式設計的基本功能與執行速度,但大多數程式設計師都無需在意這些層面。

1、

Python,現代程式設計的巨人

如今,Python 無處不在。使用 Python 編寫程式非常容易,許多開發人員都習慣於使用 Python 搞定一切,甚至用 Python 開發大型專案,可實際上 Python 只是一種適合編寫簡短而雜亂的指令碼的語言。

然而,許多公司和應用程式都不同程度地採用了 Python。比如 Instagram 和 Pinterest 都使用了 Python,Dropbox 也使用了 Python,Google 早期也是用 Python 構建的等等。

鑑於 Python 的使用範圍之廣,也難怪許多模組都是為 Python 編寫的。這超出了資料科學與機器學習的範疇,如果沒有 TensorFlow 和 PyTorch 等框架,許多模型都無法正常執行。此外,還有 Django 和 Flask 等 Web 開發框架,以及面向科學計算的框架。

因此,Python 佔有如此巨大的市場份額也就不足為奇了。雖然在過去的幾年裡,Python 的增長一直停滯不前,但我認為在接下來的幾年裡,Python 依然是主流程式語言之一。

2、

Swift,前景可期的新人

Swift 於 2014 年推出,很快風靡一時。雖然人們對於這門語言的特性有不同的看法,但 Swift 的使用感覺與 Python 很像,而且速度堪比 C 語言,主要是通過預先編譯和靜態型別。

在一片期許聲中,許多開發人員在 Swift 釋出後的兩年內紛紛開始學習這門程式語言。

我不打算在此詳細討論 Swift 的優點,但值得一提的是,Swift 非常安全,而且能夠使用任何 C 庫。

於是,一時間有關 Swift 將成為下一個王者語言的傳聞四起。然而,分析一下近來的資料,我們就能發現一個嚴峻的事實。在經歷過短暫的輝煌時期之後,Swift 開始不斷走下坡路。我們來看一看 Stack Overflow 中有關 Swift 的問題數量,就能發現與高峰期相比,如今 Swift 的使用量幾乎減少了一半。

圖:Stack Overflow 中有關 Swift 與 Python 的問題數量

3、

Swift 正在緩慢地走向衰落

縱觀整個發展經歷,Swift 確實有過一些輝煌時刻,許多公司都用 Swift 取代了 Objective C。話雖如此,但 Swift 並未能從 Python 手中奪回太多市場份額。

一個限制因素是,Swift 是蘋果公司開發的,非常適合 macOS、iOS、watchOS、tvOS 等應用的開發,但為其他手機平臺構建應用就不是那麼“ 得天獨厚 ”了——話雖如此,Python 也不是移動開發領域的首選,Java 才是該領域的主導。

論及 Swift 的衰落原因,其實與語言本身的關係不大,主要是因為其釋出生態系統。

根據蘋果的宣傳,Swift 的速度非常快,猶如閃電,但實際上 Swift 早期版本的速度非常慢。雖然升級到新版本可以解決速度的問題,但這並非易事,因為 Swift 不能向後相容。而且在早些年,將 Swift 應用釋出到蘋果應用商店,經常需要等待很久, 這導致許多開發人員對 Swift 非常失望。

雖然 Swift 是一門不錯的程式語言,但每次釋出新版本就像當年的 Python2 和 Python3 一樣會引發永無休止的戰爭。因此,許多開發人員都相繼離開了。

4、

關於薪資待遇

就目前的形勢來看,Swift 開發人員的薪資超過了 Python。根據 2022 年 Stack Overflow 開發人員的調查結果,Swift 開發人員的平均年薪為 77,000 美元,而 Python 開發人員則為 74,000 美元。

值得注意的是,一年前,這兩種語言的薪資水平不相上下。Python 開發人員的收入為 61,000 美元,而 Swift 開發人員則為 60,000 美元。而 2020 年及更早期的薪資水平也大致相似。

儘管 Swift 自稱是一種非常易學的語言,但 Swift 開發人員的開發經驗平均高出了 1~2 年。同樣,雖然 Swift 自認為是面向初學者的程式語言,但面向初學者的最佳程式語言似乎仍然是 Python。

5、

總結

Swift 並沒有死,但其受歡迎程度的確有所下降,這表明該語言的管理方式存在重大問題。

如果你並不在乎向後相容性,看中了 Swift 能夠像 Python 一樣易於編寫,且執行速度非常快,那麼選擇 Swift 也無可厚非,甚至 還可能發現 Swift 非常適合特定的專案。

然而,從整體趨勢來看,Swift 正在緩慢衰落中,其根本原因不在語言本身。如果蘋果能夠做出一些明智的選擇,Swift 的發展可能會出現轉機。但如果蘋果仍然無動於衷的話,那麼 Swift 的受歡迎程度將繼續下降。

不過與此同時,在過去幾年中,Python 的市場份額也沒有太大增長。其中的原因更為複雜,而且部分原因確實涉及語言本身 (Python 開發社群非常失望,因為他們並沒有獲得更優秀、更快的 Python) ——儘管如此,Python 的市場份額仍然是 Swift 的 10 倍。

如果非要給新手程式設計師一條建議的話,那麼我會說:認真學習 Python,遠離 Swift。雖然我不敢說十年後我們還會使用 Python,但至少它的發展潛力比 Swift 更大。