0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python逐渐失去魅力

人工智能与大数据技术 来源:人工智能与大数据技术 作者:人工智能与大数据 2020-11-19 11:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

自从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,还相去甚远。

其他语言的兴起

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

结论

Python并非最好的编程语言,它无法取代C/C++和Java。它被打造成一种通用的编程语言,强调可读性、以英语为中心的语法。人们利用它可以快速开发程序和应用程序。

和其他语言一样,Python只是一种工具。某些应用场景下,它是最好的工具;在另一种场景下,它或许不是。在大多数情况下,它 “挺好用的”。

那么,作为一种编程语言,Python会消亡吗?

我不这么认为。

它逐渐失去魅力了吗?

啊,也许只是一点点,只是一点点。

责任编辑:xj

原文标题:Python正在慢慢褪色

文章出处:【微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144599
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96759
  • python
    +关注

    关注

    57

    文章

    4857

    浏览量

    89571

原文标题:Python正在慢慢褪色

文章出处:【微信号:TheBigData1024,微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
    的头像 发表于 11-03 09:15 322次阅读

    termux调试python猜数字游戏

    用termux做一个猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    termux如何搭建python游戏 Termux搭建Python游戏开发环境的完整指南 一、Termux基础环境准备 Termux是一款无需root即可在安卓设备上运行的Linux终端
    发表于 08-29 07:06

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    开发者眼中的开源魅力

    、openKylin、OpenTenBase开源项目社区的开发者,聆听他们与开源相遇、相伴、相成长的故事,感受那份超越代码本身的价值与魅力
    的头像 发表于 06-24 11:38 706次阅读

    跟老齐学Python:从入门到精通

    本帖最后由 yuu_cool 于 2025-6-3 16:52 编辑 本资料是面向编程零基础读者的Python 入门教程,内容涵盖了Python 的基础知识和初步应用。以比较轻快的风格,向零基
    发表于 06-03 16:10

    python入门圣经-高清电子书(建议下载)

    此资料内容是一本针对所有层次的Python 读者而作的Python 入门电子书。 全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy
    发表于 04-10 16:53

    ​如何在虚拟环境中使用 Python,提升你的开发体验~

    RaspberryPiOS预装了Python,你需要使用其虚拟环境来安装包。今天出版的最新一期《TheMagPi》杂志刊登了我们文档负责人NateContino撰写的一篇实用教程,帮助你入门
    的头像 发表于 03-25 09:34 628次阅读
    ​如何在虚拟环境中使用 <b class='flag-5'>Python</b>,提升你的开发体验~

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是Python程序?
    的头像 发表于 03-25 09:27 1523次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些嵌入式场景中非常有用,以下是
    的头像 发表于 03-19 14:10 1188次阅读

    使用Python3.7导入cv2时遇到错误怎么解决?

    使用 Python* 版本 3.7。 Ran Classification Python* 演示。 在导入 cv2 时遇到错误: ImportError: DLL load failed: The specified module could not be found.
    发表于 03-05 09:37

    运行OVModelForCausalLM Python模块时出错了,怎么解决?

    创建了一个自定义 Python* 代码,类似于遵循 240-dolly-2-instruction 的 Jupyter 笔记本。 OVModelForCausalLM Python* 模块运行时出错。
    发表于 03-05 06:44

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    Python Connector for InterBase连接解决方案

    适用于 InterBase 的 Python 连接器 Python Connector for InterBase 是一种可靠的连接解决方案,用于从 Python 应用程序访问 InterBase
    的头像 发表于 01-22 14:34 705次阅读

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2213次阅读