『gps』Python这么火,为什么说它不是未来的编程语言?( 二 )
无论人们要管理什么样的计算任务 , 都有可能用到Python程序包 。 从机器学习在过去几年间的迅猛发展便可看出 , 自身用途的广泛让Python处于近期发展的前列 。
Python的缺点——以及它们是否致命
来源:Pexels
根据先前的论述 , 可以想象Python会在很长一段时间之内保持发展的迅猛势头 。 但和其他技术一样 , Python也有自己的弱点 。 笔者将一一介绍其最值得关注的缺点 , 并分析这些缺点是否致命 。
1. 速度
Python的速度很慢 。 真的很慢 。 和其他语言相比 , Python需要花2-10倍的时间来完成任务 。
速度慢有多种原因 。 其中一个原因是Python属于动态类型——请记住 , 无需像其他语言一样指定数据类型 。 这意味着需要占用大量内存 , 因为程序需要为那些可在任何情况下运行的变量保留足够的空间 。 大量的内存占用转化为大量的计算时间 。
另一个原因是Python一次只能执行一个任务 。 灵活的数据集会出现这样的结果——Python需要确保每个变量只有一个数据类型 , 平行进程可能会造成混乱 。
相比之下 , 普通的网络浏览器一次可以运行十二个不同的线程 。 还有一些其他的理论 。
但归根结底 , 所有的速度问题都无关紧要 。 电脑和服务器的价格十分便宜 , 所以人们讨论的只是关于几分之一秒的运行速度 。 而且终端用户并不在意自己是用0.001秒还是0.01秒加载应用程序 。
2. 范围
起初 , Python使用动态作用域 。 这基本上意味着 , 为了评估表达式 , 编译系统首先要搜索当前块 , 然后依次搜索所有调用函数 。
动态作用域方面的问题在于 , 每个表达式都需要在每个可能的语境中进行测试——这相当繁琐 。 这就是大多数现代编程语言都使用静态作用域的原因 。
Python曾试图过渡到静态作用域 , 但却造成了混乱 。 通常情况下 , 内部作用域——比如函数中的函数——将能够查看并更改外部作用域 。 但Python中的内部作用域只能查看外部作用域 , 却不能对其进行更改 。 这会导致严重的混乱 。
3. Lambdas
尽管Python具有很高的灵活性 , 但Lambdas的使用还是有一定的局限性 。 在Python中 , Lambdas只能是表达式 , 而不能是语句 。
另一方面 , 变量声明和语句始终是语句 。 这意味着Lambdas不能为它们所用 。
表达式和语句之间的区别相当随意 , 而其他语言并没有这样的情况 。
空格让代码更容易看懂 , 但也让其更难以
4. 空格
Python使用空格和缩进来表示不同级别的代码 。 这使得代码在视觉上更具有吸引力 , 能够直观理解 。
其他语言 , 比如C++语言 , 更多使用的是大括号和分号 。 虽然在视觉上没有什么吸引力 , 对初学者也并不友好 , 但这样做让代码更易于维护 。 对于较大的项目来说 , 这大有帮助 。
Haskell这样较新的语言解决了这个问题:该语言多使用空格 , 但又为那些不想使用空格的人提供了另一种语法 。
5. 移动开发
人们见证了从台式机到智能手机的转变 , 很明显 , 人们需要强大的语言来构建移动软件 。
但正在使用Python进行开发的移动应用软件并不多 。 这并不意味着用Python进行移动开发无法实现——名为Kivy的Python程序包就可以做到移动开发 。
但Python并没有考虑到移动设备 。 所以即使它有可能完成一些基本任务 , 也最好使用为移动应用程序开发而创建的语言 。 广泛使用的移动编程框架包括React Native、Flutter、Iconic和Cordova 。
需要明确的是 , 在未来的很多年 , 笔记本和台式机应该都会继续存在 。 但是 , 移动设备在通信量方面已远远超越了桌面设备 , 因此可以肯定地说 , 想要成为经验丰富的全能型开发人员 , 只学习Python是不够的 。
6. 运行错误
Python脚本并不是遵循先编译后执行的流程 。 相反 , 它在每次执行时进行编译 , 所以任何编码错误在运行时都会显现出来 。 这会导致性能下降、浪费时间以及需要进行大量测试 。 真的是大量的测试 。
推荐阅读
- []洗电风扇原来这么简单,不用拆外罩,去灰尘又快又干净,方法真棒
- 「Python」小卖家也能月入5000+的方法
- Python爱好者社区| 程序员逆天改命,漫画
- 苹果■30岁大叔的桌面:就是这么朴实无华
- 云事通智能安防向工影响力那么大,很多人会问建一套云监工需要多少钱呀,云监工这么火
- 「罗永浩」这个被微软雪藏十几年的官方插件,没想到这么好用
- 『type-c』没想到手机Type-C除了正反插之外,还有这么多种用途!你知道几个
- 中建商品混凝土有限公司增效益”,江苏事业部这么干!,“抢方量
- 科技加速度起售价这么低,的确是一部被忽略的旗舰机,90Hz+骁龙865
- 『罗永浩』90Hz+骁龙865,起售价这么低,的确是一部被忽略的旗舰机
