近日,关于一篇关于Python的讨论又重出江湖。
哦,不是这个。
这篇「为什么Python不是未来的编程语言」的文章又出现在了互联网上。作者Rhea Moutafis称,如今推动Python流行的优点,也正是之后将它击倒的弱点。
其实早在2020年,该作者就在Medium上发表了同一篇文章。但不知道是当初发表日期为4月1日的缘故,还是TA真的不喜欢Python,时隔1年零2个月又18天,作者又决定在另一个平台上重新发一遍。
我们这就来看看这位Rhea为什么觉得人民群众都喜欢的Python要日薄西山了。
速度很慢,真的很慢
作者表示,使用Python完成一项任务所需的时间是使用任何其他语言的2到10倍。
原因一:动态类型的应用。
Python不需要像在其他语言中那样指定数据类型,因此这会需要使用大量的内存,因为程序需要为每个变量保留足够的空间,那么大量的内存使用就会转化为大量的计算时间。
原因二:一次只能执行一个任务。
Python需要确保每个变量只有一种数据类型,如果使用并行进程就可能会让这个机制出现问题。相比之下,普通的浏览器可以同时运行十几个不同的线程。
作用域
Python使用动态作用域,也就是说编译器想要对表达式进行评估时,首先会搜索当前代码块,然后依次搜索所有调用函数。
动态作用域的问题在于每个表达式都需要在每个可能的上下文中进行测试。这就是大多数现代编程语言使用静态作用域的原因。
空格缩进
Python可以使用空格来表示不同级别的代码。这让代码在视觉效果上更加友好,同时也更易于理解。
然而其他的编程语言,如 C++,就会更多地依赖大括号和分号。虽然对初学者相对不那么友好,但是这样可以增加代码的可维护性,尤其是对于那些大型项目来说。
移动开发
使用Python开发的移动应用程序很少,显然,Python并不是为移动开发而设计的。虽然也不是不能完成,至少有一个名为Kivy的Python包可以使用。
但是,即便Python可以完成基本的任务,最好的办法仍然是使用一种为移动应用程序开发而创建的语言。
作者声称,由于移动端的流量早已超过桌面端,可以肯定地说,学习Python并不足以成为一个经验丰富的全能开发者(a seasoned all-round developer)。
错误和异常
Python脚本在每次执行时都要进行编译,不仅耗费时间而且需要进行大量测试。
这可能对初学者来说有一定的帮助,但是对于经验丰富的开发人员来说,在Python中调试一个复杂的程序反而会让他们出差错。
Python的替代品
作者认为,Rust,GO和Julia都是潜在的替代Python的编程语言。
Rust可以提供与Python相同的安全性,而且它通过所有权和借用的机制解决了性能问题。
Go与Python一样非常适合初学者。而且它非常简单,代码维护起来更容易。同时,Go语言的开发者是收入最高的程序员之一。
Julia虽然是一种非常新的语言,但也可以与Python进行正面较量。尤其是在大型技术计算中,开发者只靠Julia就可以完成,不再需要同时使用Python、Matlab甚至还需要C++作为补充。
作者认为,虽然这三种语言的份额还很小,在人工智能等技术方面也还没有得到很广泛的应用,但是在趋势上是一直在增加的。
不过考虑到 Python 架构中的基本性能问题,这三种语言一定有机会取代Python。
大势所趋?
说到这个趋势,我们再来看看作者在文章开头是怎么介绍Python的。
作者表示,Python的成功体现在Stack Overflow中该语言在问题标签数量的趋势上。
而且,从Stack Overflow的规模上来看,这是判断一个语言流行程度的很好的指标。
从现在最新的数据上来看,有超过16%的问题都打上了「Python」的标签。
显然,在作者看来,处在上升中且占比达到16%的Python,不如占比加起来都不到1%的Go、Rust和Julia。
诚然,这三个都是很好的编程语言。
对此,你怎么看?
读者福利:知道你对Python感兴趣,便准备了这套python学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!
零基础Python学习资源介绍
- ① Python所有方向的学习路线图,清楚各个方向要学什么东西
- ② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析
- ③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论
- ④ 20款主流手游迫解 爬虫手游逆行迫解教程包
- ⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解
- ⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解
- ⑦ 超300本Python电子好书,从入门到高阶应有尽有
- ⑧ 华为出品独家Python漫画教程,手机也能学习
- ⑨ 历年互联网企业Python面试真题,复习时非常方便
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
👉python副业兼职与全职路线👈
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓
![](https://i-blog.csdnimg.cn/blog_migrate/ea36696e89b97bda53f100482ef70ad1.png)