Python正在慢慢褪色…作为一种编程语言会消亡吗?

2022-10-2012:16:44编程语言入门到精通Comments854 views字数 1668阅读模式

Python正在慢慢褪色…作为一种编程语言会消亡吗?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

大数据文摘出品文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

来源:medium文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

编译:陈之炎、coolboy文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

自从20世纪90年代初发布以来,Python一直相当火爆,在这二十多年里,它的流行程度远远超过了C、C#、Java甚至Javascript。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

虽然Python在数据科学和机器学习领域占主导地位,甚至是科学和数学计算领域的主角,但与Julia、Swift和Java等语言相比,它确实有些欠缺。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

为什么Python如此受欢迎?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

Python迅猛发展背后的一个主要驱动力是它学习起来相当容易,使用起来功能强大。对于初学者来说,像C/C++这样有难度的编程语言,不熟悉语法的人都会敬而远之,所以Python显得非常有吸引力。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

语言的核心是代码可读性,Python的语法简洁而富有表现力,开发人员无需编写大量代码,便可以表达想法和概念 (C或Java等底层语言的情况也是如此)。它非常地简单, 并可以与其他编程语言无缝集成 (比如将CPU密集型任务交付予C/C++)。用Python语言开发会给开发人员带来许多好处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

Python应用广泛的另一个原因是它被企业大量使用 (包括FAANG)。今天,对于你能想象到的任何项目,你都可以找到一个相应的Python包----科学计算的有Numpy,机器学习的有Sklearn,计算机视觉的有Caer。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

Python的弱点文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

它很慢,太慢了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

不用多说,速度通常是开发人员最为关注的焦点之一。不仅是现在,将来的很长一段时间都会如此。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

Python“缓慢”的主要原因,可以归结为以下两点----首先,Python是解释性的语言,而不是编译型的语言,这终究会导致执行时间的缓慢;其次,它是一种动态的语言 (变量的数据类型在执行期间由Python自动推断)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

初学者经常对“Python的确太慢”的说法产生争议,事实上,的确如此,但也并非完全这样。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

例如, Python的机器学习库TensorFlow实际上是用C++编写的,在Python中进行调用而已,是在C++的上层实现的一个Python“封装器”。Numpy是如此,Caer也是类似的形式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

Python有一个GIL(L)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

Python缓慢的主要原因之一是GIL(Global Interpreter Lock)的存在--它一次只允许一个线程执行。这虽然有助于提高单线程的性能,但限制了并行性,而开发人员为了提高速度必须实现多线程处理程序。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

不是内存密集型任务的最佳选择文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

当对象超出范围时,Python会自动进行垃圾收集。其目的是消除C和C++在内存管理中涉及的许多复杂性。由于指定的数据类型缺乏灵活性,Python消耗的内存量可能会迅速爆增。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

此外,在运行时,一些BUG 可能会被Python忽略,最终成为延缓开发过程的主要诱因。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

在移动计算中表现牵强文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

随着从台式机到智能手机的迁移,显然,人们需要为手机软件构建更强大的语言。虽然Python在计算机和服务器平台上有不错的表现,但由于缺乏强大的移动计算处理能力,在移动开发中它往往会失去优势。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

近年来,(Python)在这方面有了很大的进步,但这些新增加的库与他们强大的竞争对手相比,如Kotlin,Swift和Java,还相去甚远。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

其他语言的兴起文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

最近,像Julia、Rust和Swift这些新出现的语言,借用了Python、C/C和Java的许多良好设计概念——Rust确保了运行时的内存安全和并行,并提供了与Web Assembly的一样的互操作性;由于它支持LLVM编译器工具链,Swift几乎和C一样快;Julia提供了用于I/O(输入/输出)密集任务的异步I/O,而且速度惊人。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

结论文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

Python并非最好的编程语言,它无法取代C/C++和Java。它被打造成一种通用的编程语言,强调可读性、以英语为中心的语法。人们利用它可以快速开发程序和应用程序。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

和其他语言一样,Python只是一种工具。某些应用场景下,它是最好的工具;在另一种场景下,它或许不是。在大多数情况下,它 “挺好用的”。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

那么,作为一种编程语言,Python会消亡吗?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

我不这么认为。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

它逐渐失去魅力了吗?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

啊,也许只是一点点,只是一点点。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/28699.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/28699.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定