python可以替代java吗_Python 并非最好的编程语言,它无法取代 C/C++ 和 Java

自从 20 世纪 90 年代初发布以来,Python 一直相当火爆,在这二十多年里,它的流行程度远远超过了 C、C#、Java 甚至 Javascript。   虽然 Python 在数据科学和机器学习领域占主导地位,甚至是科学和数学计算领域的主角,但与 Julia、Swift 和 Java 等语言相比,它确实有些欠缺。

为什么 Python 如此受欢迎?   Python 迅猛发展背后的一个主要驱动力是它学习起来相当容易,使用起来功能强大。对于初学者来说,像 C++/C++ 这样有难度的编程语言,不熟悉语法的人都会敬而远之,所以 Python 显得非常有吸引力。   语言的核心是代码可读性,Python 的语法简洁而富有表现力,开发人员无需编写大量代码,便可以表达想法和概念 (C 或 Java 等底层语言的情况也是如此)。它非常地简单, 并可以与其他编程语言无缝集成 (比如将 CPU 密集型任务交付予 C/C++)。用 Python 语言开发会给开发人员带来许多好处。   Python 应用广泛的另一个原因是它被企业大量使用 (包括 FAANG)。今天,对于你能想象到的任何项目,你都可以找到一个相应的 Python 包 ---- 科学计算的有 Numpy,机器学习的有 Sklearn,计算机视觉的有 Caer。

Python 的弱点  它很慢,太慢了。  不用多说,速度通常是开发人员最为关注的焦点之一。不仅是现在,将来的很长一段时间都会如此。   Python “缓慢” 的主要原因,可以归结为以下两点 ---- 首先,Python 是解释性的语言,而不是编译型的语言,这终究会导致执行时间的缓慢;其次,它是一种动态的语言 (变量的数据类型在执行期间由 Python 自动推断)。   初学者经常对 “Python 的确太慢” 的说法产生争议,事实上,的确如此,但也并非完全这样。   例如, Python 的机器学习库 TensorFlow 实际上是用 C++ 编写的,在 Python 中进行调用而已,是在 C++ 的上层实现的一个 Python “封装器”。Numpy 是如此,Caer 也是类似的形式。

Python 有一个 GIL (L)   Python 缓慢的主要原因之一是 GIL (Global Interpreter Lock) 的存在 -- 它一次只允许一个线程执行。这虽然有助于提高单线程的性能,但限制了并行性,而开发人员为了提高速度必须实现多线程处理程序。

不是内存密集型任务的最佳选择   当对象超出范围时,Python 会自动进行垃圾收集。其目的是消除 C 和 C++ 在内存管理中涉及的许多复杂性。由于指定的数据类型缺乏灵活性,Python 消耗的内存量可能会迅速爆增。   此外,在运行时,一些 BUG 可能会被 Python 忽略,最终成为延缓开发过程的主要诱因。

在移动计算中表现牵强   随着从台式机到智能手机的迁移,显然,人们需要为手机软件构建更强大的语言。虽然 Python 在计算机和服务器平台上有不错的表现,但由于缺乏强大的移动计算处理能力,在移动开发中它往往会失去优势。   近年来,(Python)在这方面有了很大的进步,但这些新增加的库与他们强大的竞争对手相比,如 Kotlin,Swift 和 Java,还相去甚远。

结论   Python 并非最好的编程语言,它无法取代 C/C++ 和 Java。它被打造成一种通用的编程语言,强调可读性、以英语为中心的语法。人们利用它可以快速开发程序和应用程序。   和其他语言一样,Python 只是一种工具。某些应用场景下,它是最好的工具;在另一种场景下,它或许不是。在大多数情况下,它 “挺好用的”。   那么,作为一种编程语言,Python 会消亡吗?   我不这么认为。   它逐渐失去魅力了吗?   啊,也许只是一点点,只是一点点。

责任编辑:xj

原文标题:2020,Python 已死?

文章出处:【微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值