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

Python正在慢慢失去它的魅力

时间:2023-03-18 00:59:10 科技观察

自从Python在1990年代初发布以来,它已经产生了大量的炒作。诚然,编程社区至少用了20年才意识到它的存在,但从那时起它的流行程度就远远超过了C、C#、Java,甚至Javascript。尽管Python在数据科学和机器学习领域占据主导地位,并且在某种程度上在科学和数学计算领域占据主导地位,但与Julia、Swift和Java等较新的语言相比,它确实有其缺点。是什么让Python如此受欢迎?Python迅速崛起的主要驱动力之一是它的易学性和强大的可用性,这使得它对初学者以及那些回避使用语法难以理解的C语言编程的人非常有吸引力。/C++。从根本上说,该语言广泛强调代码的可读性。凭借其干净简洁的语法,它使开发人员能够表达想法和概念,而无需编写大量代码行(就像C或Java等低级语言一样)。Python非常简单,可以与其他编程语言无缝集成(例如将CPU密集型任务卸载到C/C++),这对多语言开发人员来说是一个额外的好处。Python的多功能性的另一个原因是它被企业(包括FAANG)和无数小企业大量使用。如今,您会发现几乎所有您能想到的东西都有一个Python包——对于科学计算,您有Numpy、Sklearn(用于机器学习)和Caer(用于计算机视觉)。Python的弱点是慢,这很容易。速度通常被认为是开发人员最关心的问题之一,它可能会持续一段不可预见的时间。Python运行缓慢的主要原因之一,实际上可以归结为2-Python被解释而不是编译,这最终导致执行时间变慢;并且它是动态类型的(在执行期间,Python会自动推断变量类型的数据)。事实上,这种“Python很慢”的认知往往在初学者中扮演着重要的角色。是的,它是真实的。但只是部分。以Python提供的机器学习库TensorFlow为例。这些库实际上是用C++编写的,在Python中可用,有点像围绕C++实现的Python“包装器”。Numpy在某种程度上什至是这样。它有一个GIL(l)Python速度慢的主要原因之一是GIL(全局解释器锁)的存在,它一次只执行一个线程。虽然这提高了单线程性能,但它限制了开发人员必须实现多处理器而不是多线程程序才能提高速度的并行性。不适合内存密集型任务当对象超出范围时,Python会自动进行垃圾回收。它旨在消除C和C++中涉及的大量内存管理复杂性。由于指定数据类型的灵活性(或缺乏灵活性),Python消耗的内存量可能会迅速增加。此外,一些Python可能没有注意到的错误可能会在运行时弹出,最终大大减慢开发过程。移动计算的弱点从台式机到智能手机的转变是巨大的,显然需要更强大的语言来构建手机软件。尽管在桌面和服务器平台上具有相当大的代表性,但由于缺乏强大的移动计算处理能力,Python在移动开发中往往会落败。近年来,这一领域取得了许多进展,但这些新添加的库甚至无法与Kotlin、Swift和Java等强大的竞争对手相提并论。其他语言的兴起最近涌现出像Julia、Rust和Swift等较新的语言,从Python、C/C++和Java中借鉴了许多优秀的设计理念——Rust几乎保证了运行时内存安全和并发性,并提供一流的互操作性使用WebAssembly;Swift对LLVM编译器工具链的支持几乎和C一样快,而Julia为I/O密集型任务提供异步I/O,速度非常快。结论Python从来就不是为了成为一种好的编程语言而构建的。它从未构建为与C/C++和Java一起使用。它被构建为一种通用编程语言,强调人类可读的、以英语为中心的语法,允许快速开发程序和应用程序。归根结底,与所有其他语言一样,Python是一种工具。有时它是一个很棒的工具。有时不是。通常,这是“好的”。那么,Python作为一种编程语言会消亡吗?我几乎不这么认为。它失去了魅力吗?啊,也许只是一点点。一点点。