目錄

這一篇和 Python3.7 其實沒有關係
談的是長期以來 Python 在程式語言的定位和特色

Python熱度

Q: 你知道現在 Python 很紅嗎?
A: 聽說只是腳本語言(script language)?
A: 執行效率很差、學校沒在教

Python很紅。遠遠超過你的想像。

Python的理念(簡潔、易學),讓他一直是相當受歡迎的語言,根據 TIOBE index 的統計,過去十年,Python 的排名長期穩定在6、7名的位置。

回顧歷史,Python2 和 Python3 的大版本更新之後,2004 年和 2010 年都有大幅增加的使用量,衝擊 4、5 的排名,僅次於老牌的 JAVA、C/C++。定位和 Python 差不多的語言有:病毒式的 PHP、web2.0 後的主角 JavaScript、Microsoft 支持的 C# 和 .NET...等。

  • TIOBE Index for September 2018 in Python

但是,在這兩個年度後一段時間,Python 使用量出現嚴重的下滑(大約下滑50%),有些人會出現:他只是一種「潮、跟風」的語言、只適合初學者、大型公司不會用 Python 開發產品...等誤解,這背後有很複雜的原因。

Python用途

一個語言(包含人們說的語言和程式語言)的發展和它的用途密不可分,學日文是為了和日本人溝通(工作、留學),學英文的用途可能是通用性、國際化,用途會決定一個語言發展的規模

程式語言也是,小型的語言可能是為了單一領域而設計,例如:資料與統計使用的R語言、撰寫 ios 的 Swift、只能做 web 動畫的 JavaScript...等,大型的程式語言則擁有多用途、跨平台運行...等特色。Python 一開始並沒有為某個單一領域設計,擁有良好的跨平台特性、強大的社群支持,在今年的 IEEE 評分上更拿到 100 的滿分,超 C 趕 JAVA(X)成為了第一名,就用途來說一定屬於大型程式語言。

  • IEEE interactive the top programming languages 2018

但是,正因沒有特定用途,早期發展過程中,比效率比不過 C/C++、比介面比不過C#、在 web 端也只能屈居在 JavaScript 和 PHP 後面,有一段時間,Python 各領域都可以使用,也都無法精通。

經過一段時間的累積,Python 才在數據資料、爬蟲、嵌入式裝置...等領域中找到了一些定位。但是,到了2014年,Python 的使用量仍然處在低點,這時候Python迎來了Deep Leanring。

Python世紀?

近十年最新興、最火熱的技術,一定是 AI 領域底下的 Deep Learing,不過早期的論文都很硬派,很多都是用 C 刻出來的,GPU 的 cuda 加速、分散式運算都要自己寫接口,遠遠不像我們現在這麼幸福。後來深度學習挑上了 Python。

會挑選 Python 當作主要語言是因為,Python 目前官方維護的是 Cython(用 C 語言寫的 Python),能夠很方便地呼叫 C/C++ 的套件,在效率上有很高的保證,再加上 Python 語言長期以來擁有的第三方套件和優雅的語法,成為 Google、Facebook 等公司的首選。
(我很好奇,如果一開始基金會是選擇用 JAVA 撰寫的 Jython,現在狀況可能會完全不一樣XD)。

Python 在深度學習領域成了寵兒,2015 年中 Keras 開源、同年底 Google 開源 TensorFlow,2017 年初 Facebook 開源 PyTorch,這些語言都默認甚至是只能使用 Python 開發,這無一不將 Python 語言推上了頂峰,人人都想學 Python,都想學深度學習。

Python 的熱門在 2017 開始飆升,今年八月更衝到了 TIOBE index 第三名的 Python 歷史高點,我認為這股熱潮還會再提升,2017 年 ImageNet 最後一屆、2018 年 ImageNet 將升級 ILSVRC 推出 3D 影像辨識、ICLR 2019 評選中超強GAN 的訊息、NVIDIA 今年推出新的 RTX20 系列和 CUDA 版本更新到 10...等,許多重磅消息都還在刺激著這個領域,我個人預測 Python 有望在 2019 年的 TIOBE index 超過 C 和 Java 成功登上第一名。

系列介紹