IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 为什么 Python 不是未来的编程语言? -> 正文阅读

[Python知识库]为什么 Python 不是未来的编程语言?

为什么 Python 不是未来的编程语言?

尽管 Python 将在未来几年内需求旺盛

编程界花了几十年时间才认识?Python?。然而,自?2010?年代初以来,它越来越受欢迎,最终超过了?C?、?C#?、?Java?和?JavaScript?。

但是这种趋势会持续多久,?Python?何时以及为什么会被其他语言取代?

Python?的确切到期日期具创始人说道:“永远不会推出?4.0?版本”,并且相关社区开发人员对?4.0?版本也不太感兴趣,目前的热度也相对比下降的很多,相反,我们来看看是什么当时推动了?Python?流行,以及注定它在未来的缺陷。

是什么让 Python 现在流行

?

尽管近年来?R?一直停滞不前,并且许多其他语言都在下降,但?Python?的崛起似乎势不可挡。在所有?StackOverflow?查询中,几乎?14%?被归类为?“python”?,而且这一趋势还在增长。这背后有很多原因。

年代久远

Python?自?1990?年代就已存在。这不仅仅意味着它有很多时间来成熟。它还获得了大量热情的追随者。

因此,如果您在用?Python?编写时遇到问题,您很可能可以通过简单的?Google?搜索来解决它。仅仅是因为其他人会发现您的问题并为此写了一些有价值的东西。

它适合初学者

这不仅仅是因为它已经存在了几十年,为程序员提供了大量创建优秀教程的机会。此外,?Python?的语法非常易读。

首先,您不需要识别数据类型。只需创建一个变量;?Python?将根据情况确定它是整数、浮点值、布尔值还是其他任何值。这对新人来说是一个巨大的好处。如果您曾经不得不用?C++?编写程序,您就会知道当您的程序因将浮点数转换为整数而无法构建时,情况会多么严重。

如果您曾经不得不同时阅读?Python?和?C++?代码,您就会知道?Python?是多么容易掌握。尽管?C++?是用英语构建的,但与?Python?代码相比,它的阅读方式有些不平衡。

适应性强

Python?已经存在了很长时间,以至于开发人员已经为每种需要制作了一个包。如今,您可以找到几乎所有东西的捆绑包。

  • 您想要使用整数、向量和数组吗??NumPy?是你的得力助手。

  • 你需要进行技术或工程方面的计算吗? 利用?SciPy?。

  • 你想认真对待数据操纵和分析吗??Pandas?是一个选择。

  • 为什么不使用?Scikit-Learn?来开始人工智能呢?

无论您试图管理什么计算过程,几乎总是有一个?Python?模块用于它。这使?Python?与新的创新保持同步,例如近年来机器学习的出现。

Python 的缺点以及它们是否会致命

基于上述,我们有理由相信?Python?将在未来几代人中继续占据统治地位。然而,与其他所有技术一样,?Python?也存在缺陷。我会一一检查最重要的缺陷,并确定它们是否致命。

速度

Python?是一种缓慢的语言。真的,真的很慢。平均而言,?Python?完成一项任务所需的时间是任何其他语言的?2-10?倍。

这是由许多因素造成的。一个优点是它是动态类型的;与其他语言不同,您不需要声明数据类型。这意味着您将需要大量内存,因为应用程序必须始终为它处理的每个变量预留足够的空间。大量的内存使用等于大量的处理时间。

另一个问题是?Python?一次只允许执行一个作业。这是由于灵活的数据类型:?Python?必须确保每个变量只有一种数据类型,并且并行进程可能会导致问题。

相比之下,一个典型的?web?浏览器可能同时操作?12?个不同的线程。还有更多的理论。

但是,最终,速度上的任何困难都不重要。计算机和服务器现在是如此便宜,以至于我们谈论的是几分之一秒。最终用户并不关心应用程序加载时间是?0.001?秒还是?0.01?秒。

范围

Python?过去有一个动态作用域。简单地说,在计算表达式时,编译器首先搜索当前块,然后搜索所有调用函数。

动态作用域的问题是,每个阶段都必须在每个可能的上下文中进行验证,这非常耗时。因此,大多数当前的编程语言都使用静态作用域。

Python?试图切换到静态作用域,但不幸失败。内部作用域,例如函数中的函数,经常可以观察和改变外部作用域。?Python?中的内部作用域只能查看外部作用域,不能改变它们。这引起了极大的焦虑。

Lambdas

尽管?Python?具有多种功能,但?Lambdas?的使用非常有限。?Lambdas?只允许是?Python?表达式,而不是语句。另一方面,声明和变量声明总是语句。因此,?Lambdas?不能用于它们。

表达式和声明之间的这种区别完全是任意的,在任何其他语言中都不存在。

空格

在?Python?中,空格和缩进用来表示不同的代码级别。这使得它在视觉上很漂亮,也很容易掌握。

其他语言,如?c++?,更多地使用大括号和分号。虽然这对初学者来说不是很美观,也不是很友好,但它确实使代码更容易维护。这对于更大的任务来说是非常有益的。

较新的语言,如?Haskell?,通过依赖空格来解决这个问题,但为那些不想使用空格的人提供了一种替代语法。

移动应用程序开发

当我们看到从桌面电脑到智能手机的转变时,很明显我们需要强大的语言来为移动设备开发应用程序。

然而,?Python?并不经常用于创建移动应用程序。这并不意味着这是不可能的;一个名为?Kivy?的?Python?模块可用于此目的。

然而,?Python?在设计时并没有考虑移动设备。虽然它可以对简单的任务提供令人满意的结果,但您最好的选择是使用专门为移动应用程序开发设计的语言。?React Native?、?Flutter?、?Iconic?和?Cordova?是一些流行的移动设备开发框架。

说实话,笔记本电脑和台式电脑应该已经存在很长一段时间了。然而,由于移动设备的流量早就超过了桌面计算机的流量,因此可以合理地说,学习?Python?不足以成为一名成熟的有经验的开发人员。

在运行时错误

Python?脚本不是先编译再运行的。相反,它是在每次运行时编译的,因此任何代码问题都在运行时显示。这会导致性能下降,增加时间消耗,并且需要进行大量测试。类似于一些测试。

这对于新手来说是理想的,因为测试教会了他们很多东西。然而,试图调试一个复杂的?Python?程序会导致熟练的程序员犯错误。导致在?Python?中设置时间戳的最关键问题是缺乏性能。

什么,什么时候,将来可能会取代Python ?

在编程语言市场,有几个新进入者:

  • Rust?提供了与?Python?相同级别的安全性:不会因为错误而重写变量。然而,所有权原则克服了性能问题。根据?StackOverflow Insights?的说法,它也是近年来最流行的编程语言。

  • Go?和?Python?一样,适合新手。由于它如此简单,维护代码就容易得多。有趣的事实:?Go?工程师是行业中收入最高的程序员之一。

  • Julia?是一种与?Python?直接竞争的全新语言。它填补了大规模技术计算的空白:以前,人们会使用?Python?或?Matlab?,用?c++?库修补所有东西,这是大规模计算所必需的。?Julia?现在可以被使用,而不是同时使用两种语言。

虽然还有其他可用的编程语言,但?Rust?、?Go?和?Julia?是解决?Python?缺陷的语言。所有这些语言在未来的技术中都表现得非常好,尤其是人工智能。虽然他们的市场份额仍然有限,但从?StackOverflow?标签的数量可以看出,总体方向很清楚:上升。

?

鉴于?Python?当前的流行程度,几乎可以肯定,这些新兴语言中的任何一种都需要五年甚至整整十年的时间才能取代它。

目前,很难预测它将是哪种语言(?Rust?、?Go?、?Julia?或未来的语言)。然而,考虑到?Python?设计中固有的性能问题,肯定会取代它。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 11:01:17  更:2021-12-10 11:03:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:45:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码