假如Python有C?
一個工作多年,能使用多種編程語言的老碼農,來聊聊對于這個問題的看法。
對于有假設條件的問題,一般應該從兩個方面來討論,假設條件成立的情況與假設條件不成立的情況。
首先看下Python能不能達到C/C++的性能,我們知道Python是一種解釋型語言,Python源代碼需要翻譯成Python字節碼,然后再運行,根據底層解釋器使用的語言不同,又可分為Cython、Jython、IronPython,其中Cython因為使用C語言實現,效率最高,但是因為中間多了一層轉換,所以同樣的程序,不可能達到C語言的運行效率。
下面假設Python能達到C/C++性能的情況,會不會稱霸IT界呢?同樣不可能。每種編程都有自己的一套編程方法論,支持不同的編程模式和應用場景,即使不考慮語言性能,Python也不可能適用所有的場景。舉個簡單的例子,Python雖然是目前人工智能開發的主流語言,但是它能實現類似于Prolog(也是一種人工智能開發語言)那樣的推理程序嗎?顯然很難!此外還有像Labview等專業性很強的語言,Python同樣無能為力。
所以從目前的技術來看,任何一門語言都不可能稱霸江湖,最多就是應用的更廣泛一些罷了。就如同普通話雖然方便交流,但是依然有很多人使用方言一樣!