当前位置: 首页 > 科技观察

AI领域正在用Python,即将被淘汰?网友预测未来的编程语言不会是TA

时间:2023-03-12 04:18:28 科技观察

最近,关于Python的讨论又重新浮出水面。哦,不是这个。这篇《为什么Python不是未来的编程语言》的文章又出现在了网络上。根据作者RheaMoutafis的说法,今天推动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不足以成为一名经验丰富的全能开发人员。错误和异常Python脚本在每次执行时都会进行编译,这非常耗时并且需要进行大量测试。这可能对初学者有帮助,但对于有经验的开发人员来说,用Python调试一个复杂的程序会让他们出错。Python的替代品作者认为Rust、GO和Julia都是Python的潜在替代编程语言。Rust可以提供与Python一样的安全性,它通过所有权和借用机制解决了性能问题。Go和Python一样,非常适合初学者。而且非常简单,代码更容易维护。与此同时,Go语言的开发人员是收入最高的程序员之一。Julia虽然是一门非常新的语言,但也可以与Python正面交锋。尤其是在大规模的技术计算中,开发者仅用Julia就可以完成,不再需要同时使用Python、Matlab甚至C++作为补充。笔者认为,虽然这三种语言的份额还很小,没有在人工智能等技术中得到广泛应用,但趋势一直在增加。不过考虑到Python架构中的基本性能问题,这三种语言肯定有机会取代Python。趋势?说到这个趋势,我们先来看看作者在文章开头是如何介绍Python的。作者说,Python的成功反映在该语言在StackOverflow上问题标签数量的趋势上。而且,就StackOverflow的规模而言,它是衡量一种语言流行程度的一个很好的指标。从最新数据来看,超过16%的题目都带有“Python”标签。显然,在笔者看来,处于上升期且占比16%的Python不如Go、Rust和Julia合计占比不到1%。诚然,这三种语言都是很棒的编程语言。你怎么看呢?