假如Python有C?
一个工作多年,能使用多种编程语言的老码农,来聊聊对于这个问题的看法。
对于有假设条件的问题,一般应该从两个方面来讨论,假设条件成立的情况与假设条件不成立的情况。
首先看下Python能不能达到C/C++的性能,我们知道Python是一种解释型语言,Python源代码需要翻译成Python字节码,然后再运行,根据底层解释器使用的语言不同,又可分为Cython、Jython、IronPython,其中Cython因为使用C语言实现,效率最高,但是因为中间多了一层转换,所以同样的程序,不可能达到C语言的运行效率。
下面假设Python能达到C/C++性能的情况,会不会称霸IT界呢?同样不可能。每种编程都有自己的一套编程方法论,支持不同的编程模式和应用场景,即使不考虑语言性能,Python也不可能适用所有的场景。举个简单的例子,Python虽然是目前人工智能开发的主流语言,但是它能实现类似于Prolog(也是一种人工智能开发语言)那样的推理程序吗?显然很难!此外还有像Labview等专业性很强的语言,Python同样无能为力。
所以从目前的技术来看,任何一门语言都不可能称霸江湖,最多就是应用的更广泛一些罢了。就如同普通话虽然方便交流,但是依然有很多人使用方言一样!