文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python正在慢慢失去对码农的吸引力

2024-12-03 18:54

关注

尽管Python在数据科学和机器学习领域以及某些程度上在科学和数学计算领域占据着主导地位,但与Julia,Swift和Java等较新的语言相比,它确实有其缺点。

[[346971]]

是什么使Python如此流行?

Python迅猛发展的主要推动力之一是它的易学性和强大的实用性,这使其对初学者以及因诸如C之类的语言的语法难以理解而回避编程的人非常有吸引力。 / C ++。

该语言从根本上广泛强调代码的可读性。 凭借其简洁明了的语法,它使开发人员无需编写大量的行代码即可表达想法和概念(在C或Java等低级语言中就是这种情况)。 Python非常简单,可以与其他编程语言无缝集成(例如将CPU密集型任务卸载到C / C ++),这对多语言开发人员来说是一个额外的好处。

Python多功能性的另一个原因是企业(包括FAANG)以及无数小型企业对其的大量使用。 如今,您将找到一个Python软件包,几乎可以想到的所有内容-对于科学计算,您已经拥有Numpy,Sklearn(用于机器学习)和Caer(用于计算机视觉)。

Python的弱点

很慢,很慢

[[346972]]

> Photo by Nick Abrams on Unsplash

这可能很容易。 速度通常被认为是开发人员关注的重点之一,并且可能会持续不可预见的时间。

Python变慢的主要原因之一,实际上可以归结为2 – Python被解释为与编译相反,最终导致执行时间变慢; 以及它是动态类型的(在执行过程中,Python会自动推断变量的数据类型)。

实际上,这种" Python慢"的观点在初学者中往往起很大作用。 对,是真的。 但只是部分。

以TensorFlow为例,这是Python提供的机器学习库。 这些库实际上是用C ++编写的,并且可以在Python中使用,有点像是围绕C ++实现的Python"包装器"。 Numpy甚至在一定程度上也是如此。

它有一个GIL(l)

Python速度缓慢的主要原因之一是存在GIL(全局解释器锁定),该功能一次只能执行一个线程。 虽然这可以提高单线程的性能,但是它限制了并行性,在这种并行性中,开发人员必须实现多处理程序而不是多线程程序,以提高速度。

对于内存密集型任务不是最好的

当对象超出范围时,Python会自动进行垃圾回收。 它旨在消除C和C ++涉及的很多内存管理复杂性。 由于指定数据类型的灵活性(或缺乏灵活性),Python消耗的内存量可能会迅速爆炸。

此外,Python可能不会注意到的一些错误可能会在运行时弹出,最终使开发过程变慢了很多。

移动计算的弱势存在

[[346973]]

> Photo by Yura Fresh on Unsplash

从台式机到智能手机的巨大转变,很明显,需要更强大的语言来构建用于手机的软件。 尽管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作为一种编程语言是否正在消亡?

我几乎不这么认为。

它失去魅力了吗?

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

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯