老兵 Python 再戰十年?這3大程式語言有望摘下新龍頭寶座嗎?

擁有 30 年歷史的 Python 在現今的程式語言開發中佔有一席之地,隨著開發環境越來越多元,是否可能有其他語法取代 Python ?
評論
Photo Credit:Python memes that fixed my error on Line 69| Programming memes
評論

默默從 90 年代耕耘至今的 Python 老大哥在今年也將邁入 30 歲了,2010 年是它人生最輝煌巔峰的時期,名氣與使用程度不僅超越了 C、C#、Java 和 JavaScript,甚至 2018 年開始在 Stack Overflow 幾乎有 14% 的問題標籤都是 Python,超越了 C#、Java、JavaScript、C++ 和 R,那這 3 名潛藏的新星之秀究竟是誰,它們跟老大哥有什麼不同?

Photo Credit:stackoverflow
StackOverflow 上各種程式語言的標籤比例分佈。

Python 助新手工程師 Coding 穩定成長,但對資深的來說呢?

從另外一份資料:TIOBE 6 月熱門程式語言排行來看,Python 目前接受度也在第二名。先從 Python 的優點來看,它已立足於市場、工程語言界有幾十餘年,在網路上擁有廣大迴響與公開資源,對於新手工程師、或是老手來說都相當易於使用學習,像是不需指定資料格式,你僅需要宣告一個變數,Python 就能理解其整數、福點數、布林值。如果你曾經學過 C++ 應該多少體會過些挫敗,因為浮點數轉換成整數的關係導致你沒辦法編譯, C++ 雖考慮到英文閱讀的問題做設計,但相比 Python 來說更難閱讀。

那 Python 的缺點有哪些?

  • 速度太慢了:老大哥真的老了,使用 Python 完成一項任務所需的時間比使用任何其他語言要長 2 到 10 倍,因為不像其他的靜態語言,動態語言的它很吃記憶體又需要保留內存,一次只能執行一個任務導致 Python 需要確定每個變數只有一種型態,不然最後很有可能要從頭再來。
  • 定義變數範圍:因為 Python 計算運算式時編譯器要先尋找程式碼區塊,然後要確定所有的函數都是能被執行的,而且每個運算式都需要先測試,十分麻煩。
  • 匿名函數適用機會有限:Python 能使用 Lambdas 的機會少之又少,匿名函數只能作為 Python 運算式,不能作為陳述式。另一方面,變數宣告和陳述式都是陳述式,這代表 Lambdas 不能使用他們,這種類型的運算式在 Python 的表達式和陳述式之間的區隔不明顯,但這情況在其他語言中不會發生。
  • 運算時容易跳出錯誤:Python 不是先編譯後執行,導致很多錯誤會在跑程式的時候一直跳出來,對新手查找錯誤是一個幫助,但對資深工程師來說會花費太多時間,需要額外設置節點。

那哪 3 種程式語言,未來可能取代 Python ?

  • Rust 語言:這項語與 Python 有著相同的安全性,沒有變數會被意外覆蓋過去,根據 StackOverflow Insights 數據指出,這也是過去幾年最受歡迎的程式語言。
  • Go 語言:非常適合像 Python 一樣初入門的初學者,也是現行維護跟使用上較為簡易的一種,這項語法是現在中高收入工程師用的語法排名之一。
  • Julia 語言:可與 Python 直接正面競爭的新語法,現在多數使用 Python 或 Matlab 的工程師,會用 C++ 來修正輔助,但之後為了減少 2 種語法互相搭配的麻煩,會取向用 Julia 一次性處理。
Photo Credit:stackoverflow
StackOverflow 上各種程式語言的標籤分佈。

但整體來說,並沒有哪一種程式語言一定是「最好」的,畢竟不論哪種工具只有自己使用過,才知道哪個比較適合自己。

核稿編輯:MindyLi

延伸閱讀:



台灣創新技術博覽會登場!資策會展 AIoT 技術 帶動產業轉型升級

「窄頻物聯網 NB-IoT 全功能自主平台」即日起至 10 月 23 日在台灣創新技術博覽會線上展出,一睹資策會智慧系統研究所團隊最新的 5G 創新能量。
評論
Photo Credit:資策會
評論

疫情加速數位服務發展,由經濟部、科技部等十大部會共同主辦的 2021 年台灣創新技術博覽會(TIE)首度舉辦線上展覽,致力發展台灣資通訊的財團法人資訊工業策進會(資策會)此次展出「窄頻物聯網 NB-IoT 全功能自主平台」,具備低成本與快速部署優勢,提供網路基礎建設之佈建便捷性。

近年台灣重視 5G 發展,除了一般民眾認知的網路品質提升外,也著眼於基礎建設、技術實證及產業轉型,而經濟部技術處為讓國內迸發更多創新能量,透過多元的補助形式,支持資策會智慧系統研究所(系統所)團隊研發 5G 前導技術「窄頻物聯網 NB-IoT 全功能自主平台」,有助於改善物聯網訊號覆蓋不足的問題,同時利於發展專網應用,亦可作為 5G 衛星物聯網基地台使用,無論是郊區、海洋還是沙漠,創造不受地域限制的物聯網應用。

「窄頻物聯網 NB-IoT 全功能自主平台」即日起至 10 月 23 日在台灣創新技術博覽會線上展出,現場也規劃了「發明競賽區」及「三大主題館」、網紅開箱直播等活動,有興趣的民眾也可至台灣創新技術博覽會官網查詢。

圖說/資策會「窄頻物聯網 NB-IoT全功能自主平台」基站設備線上展區示意圖。Photo Credit:資策會