Python曾是程序员的“瑞士军刀”,而如今正被慢慢取代
2021-03-10 20:30
标签:pytho info 基本 通用 动态 朋友 kotlin 数据类型 大型 上世纪90年代初,Python面世了。近30年来,关于它的“炒作”一直没有少过。当然,编程界花了至少20年的时间才认识到它,但自那以后,它的流行程度远远超过了C、C#、Java甚至Javascript。 尽管Python目前在数据科学和机器学习领域,以及某些程度上在科学和数学计算领域占据着主导地位,但与Julia,Swift和Java等新语言相比,它确实有其劣势。 Python迅速发展的主要原因是易于学习和功能强大。这使得它对初学者,包括那些由于C、C++等语言语法艰涩且陌生而对其望而却步的人,都非常有吸引力。 该语言从根本上广泛强调代码的可读性。凭借其简洁而富有表现力的语法,它允许开发人员在不编写大量代码的情况下表达想法和概念(例如在C或Java等低级语言)。Python非常简单,可以与其他编程语言无缝集成(例如将CPU密集型任务卸载到C / C ++),这对多语言开发人员来说是一个加分项。 Python用途广泛的另一个原因是大型企业(包括FAANG)以及无数小型企业对其的大量使用。如今,Python包里几乎包含了可以想到的任何东西——用于科学计算的Numpy,用于机器学习的Sklearn和用于计算机视觉的Caer。 它运行很慢,非常慢 显而易见,在未来很长一段时间里,速度都是开发人员的主要关注点之一。 Python之所以“慢”,实际上有两个原因——Python被解释为与编译相反,最终导致执行速度较慢;以及它是动态类型的(Python在执行过程中自动推断变量的数据类型)。 事实上,“Python很慢”这一说法对初学者影响很大。这是真的,但只是部分事实。以Python中可用的机器学习库TensorFlow为例,这些库其实是用C++编写的,并可以在Python中使用,某种程度上构成了围绕C++实现的Python“装饰器”。Numpy,甚至Caer,在一定程度上也是如此。 它有一个GIL(I) Python速度缓慢的主要原因之一是存在GIL(全局解释器锁),它一次只能执行一个线程。虽然这可以提高单线程的性能,但它限制了并行性,开发人员必须实现多处理程序而非多线程程序来提高速度。 不是内存密集型任务的最优解 当对象超出范围时,Python会自动进行垃圾回收。它旨在消除C和C++在内存管理方面的所涉及的许多复杂问题。由于指定数据类型的灵活性(或缺乏灵活性),Python消耗的内存量可能会迅速爆炸增长。此外,运行时可能会弹出Python未关注的错误,最终减缓开发过程。 移动计算中的弱存在 随着台式机到智能手机的巨大转变,很明显,我们需要更强大的语言来构建手机软件。尽管Python在台式机和服务器平台上具有很强的代表性,但是由于缺乏强大的移动计算处理能力,Python往往会在移动开发上失败。 近年来,这一领域有了很大进步,但是这些新添加的库与Kotlin,Swift和Java等强大的竞争对手相比仍有差距。 最近,Julia,Rust和Swift等较新的语言强势入局。它们借鉴了Python,C/C ++和Java的许多优秀设计概念——Rust基本保证了运行时的内存安全性和并行性,并提供与WebAssembly的一流互操作性;由于支持LLVM编译器工具链,Swift几乎与C一样快;而Julia为I/O密集型任务提供了异步I/O,并且速度非常快。 Python从来就不是最好的编程语言,它从来没有超越C/C++和Java。它是一种通用的编程语言,强调人类可读的、以英语为中心的语法,允许程序和应用程序的快速开发。 归根结底,Python和其他语言一样,是一种工具。有时候,它是最好的工具。有时候不是。大多数情况下,只是 “还不错”。 Python作为一种编程语言会消亡吗?笔者不这么认为。 那么,它的魅力正在消失吗?也许有一点,但只是一点点。 编译组:何婧璇、邓嘉玲 如转载,请后台留言,遵守转载规范 ACL2018论文集50篇解读 长按识别二维码可添加关注 Python曾是程序员的“瑞士军刀”,而如今正被慢慢取代 标签:pytho info 基本 通用 动态 朋友 kotlin 数据类型 大型 原文地址:https://blog.51cto.com/15057819/2564735
图源:unsplash
是什么让Python如此受欢迎?
Python也有缺点
图源:unsplash其他语言的兴起
图源:unsplash留言点赞发个朋友圈
我们一起分享AI学习与发展的干货
相关链接:
https://towardsdatascience.com/python-is-slowly-losing-its-charm-9ca652726492推荐文章阅读
EMNLP2017论文集28篇论文解读
2018年AI三大顶会中国学术成果全链接
ACL2017论文集:34篇解读干货全在这里
10篇AAAI2017经典论文回顾读芯君爱你
文章标题:Python曾是程序员的“瑞士军刀”,而如今正被慢慢取代
文章链接:http://soscw.com/index.php/essay/62919.html