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