python编程ai人工智能(AI领域都在用Python即将被淘汰?网友预测未来的编程语言不会是TA)
python编程ai人工智能
AI领域都在用Python即将被淘汰?网友预测未来的编程语言不会是TA近日,关于一篇关于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。
诚然,这三个都是很好的编程语言。
对此,你怎么看?
原文链接:https://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2652116293&idx=4&sn=4dfdc7dda40da6efda9bef38295485aa&chksm=f12761b4c650e8a2b99d7071051987b41c0c3d2fd691d768d98d962a7801d8789d341888ab2e&mpshare=1&
- python的基础数据结构有哪些(详解python的四种内置数据结构)
- python怎么爬取excel数据(python爬取内容存入Excel实例)
- python中字符串常用函数或方法(Python3.5字符串常用操作实例详解)
- python3函数的使用方法(Python3.5基础之函数的定义与使用实例详解参数、作用域、递归、重载等)
- python电脑自动发送邮件(python学习--使用QQ邮箱发送邮件代码实例)
- python解析身份证号(python验证身份证信息实例代码)
- 正则表达式在python的中的应用(Python中正则表达式的用法总结)
- python统计图参数(Python使用统计函数绘制简单图形实例代码)
- python交互执行shell脚本(python 利用文件锁单例执行脚本的方法)
- python pandas读取数据库表(Python3.5 Pandas模块之DataFrame用法实例分析)
- python yield 使用浅析(yii框架使用分页的方法分析)
- python分支的描述(学习python分支结构)
- 如何用python做一个弹窗(python实现弹窗祝福效果)
- python迭代列表解析(Python可迭代对象操作示例)
- python turtle简易绘图(详解Python使用Plotly绘图工具,绘制甘特图)
- python中怎么查看函数的用法(Python中函数的基本定义与调用及内置函数详解)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
- 菲律宾特产(菲律宾特产最值得买回国)
- 越南特产(越南特产首饰)
热门推荐
- mongodb容器化部署映射端口访问(Docker 部署 MongoDB容器的方法)
- javascript作用域实例(JavaScript defineProperty如何实现属性劫持)
- mysql数据库调优技术大全(Mysql数据库性能优化三分表、增量备份、还原)
- pythonhtml文件分析(对Python3 解析html的几种操作方式小结)
- 怎么用python分析足球(使用Python进行体育竞技分析预测球队成绩)
- mybatissql解析(mybatis动态sql实现逻辑代码详解)
- opencv人脸识别效果好吗(通过opencv制作人脸识别的窗口)
- ubuntu20.04安装启动问题(安装ubuntu18.04报:failed to load ldlinux.c32的问题及解决步骤)
- laravel 模型(Laravel 模型关联基础教程详解)
- react的动画实现(React实现动效弹窗组件)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9