众所周知,Python是目前最广泛使用的编程语言之一,特别最近这几年Python处于非常火爆的状态,去年更是获得了TIOBE年度最佳语言,可见其增长势头和火热程度。
那么,问题来了,Python最初发行于1991年,迄今已经有28多年的历史,为何现在会如此火爆呢?很多人可能会归结于人工智能、机器学习和大数据的快速发展而导致了Python的流行,那么为何这些新兴热门行业不选择Java、C/C++等已经在商业领域十分成熟的语言呢?
下面我们一步步来分析下:
1. 先说下为什么Python速度慢
不管是初学者还是老司机,相信大家听到Python的最主要缺点之一便是速度慢,那么我们下面几点先了解下Python为什么会慢。
(1)Python是高级编程语言,代码看起来是十分接近人类的思维方式,因为Python已经把一些不容易理解或者难以实现的细节和功能抽象出来,比如内存管理、指针等等,所以Python肯定会比C等“低级语言”慢。
(2)Python是解释而不是在编译,我们知道Python最初实际是用于编写自动脚本的,而且一般脚本语言都是解释型的,所以Python也一样。实际上Python会先把源码翻译成字节码(当然这个实际也可以算是一个编译过程),然后PVM会执行这些字节码。
(3)Python是动态型的语言,它不同于C/C++或者JAVA之类静态型的语言,你无需声明变量的类型,所以你的计算机工作量自然而然就越多,对于每个属性的访问都要大量的查找。所以,这个特性也让Python本身的优化显得非常困难。
2. 慢又如何,不影响Python的流行
虽然,相对于其他性能优良的编程语言而言,Python在性能上根本谈不上优秀,但实际上这个理由并不能阻止Python的快速发展和流行。
(1)最终用户压根不在乎这点性能的差别
实际上,真正最后体现到用户的界面或者操作上的新能差别微乎其微,为什么呢?因为人类的感觉很难判断出0.001秒和0.001秒直接的差别,而且通常情况下程序执行的时间稍微长一点点,用户基本不会关注到这一点。当然这个不能作为我们不想优化的理由,因为如果时间太长用户体验肯定还是非常差的。
(2)生产力更高
这个是Python受欢迎的非常重要的原因,它相比其他编程语言(比如C++)简单很多。所以在实际编程过程中,不管是代码的产出率还是代码的复杂度都更具吸引力,它是一种更简洁、更有表现力的编程语言。
(3)代码简洁高效也容易阅读
你曾经是不是阅读和理解别人写的C/C++或者JAVA的代码到头脑爆炸,那么Python就基本不用担心这种情况(除非故意捣乱)。Python的特性帮助开发人员以最少的代码量解决更复杂的任务,这也使得Python非常容易的入门和学习。相对于其他编程语言,Python的开发时间要少得多,且代码量也相对少很多。
(4)或许业务速度更关键
早期时候计算机的运行时间是最为昂贵的资源,但现在随着科技的进步和发展,计算机、服务器以及其他硬件不仅仅性能得到了极大的提升,且价格也比以前便宜非常多,所以正常情况下执行速度已经不是非常重要。况且,现在开发时间的成本可能比程序执行速度更高,毕竟少一天发布可能就要消耗更多的成本,就可能无法领先竞争公司。与其他编程语言相比,使用python构建程序所需的时间非常短,因此python也获得了更佳的发展机遇。
(5)丰富的库和框架
Python的社区以及非常庞大,拥有非常多的开发人员和支持人员,还拥有极其丰富的标准库和框架。比如,用于开发Web的Django和Flask,用于深度学习的TensorFlow等等。
在此,我们要感谢为Python不断注入新鲜资源的全球开发者!
前方有只程序猿:大家好,我是一只会写代码的IT猿,希望能与大家共同探讨,共同进步!欢迎关注我!
谢谢~
领取专属 10元无门槛券
私享最新 技术干货