Python 什么时候会被取代?

Python 什么时候会被取代?

为什么Python不是未来的编程语言?

Python 什么时候会被取代?

作者 | Rhea Moutafis

译者 |弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下是译文:

Python经过了几十年的努力才得到了编程社区的赏识。自2010年以来,Python得到了蓬勃发展,并最终超越了C、C#、Java和JavaScript。

但是,这种趋势将持续到什么时候?何时Python会被其他语言取代?被取代的原因又是什么呢?

对于Python被淘汰出局的确切日期有很多猜测,它可能会像科幻小说一样成为过去。在本文中,我将讨论促成Python大面积普及的优势,以及将来导致它陨落的弱点。


Python 什么时候会被取代?

促成Python流行的因素


通过Stack Overflow发展趋势就可以洞悉Python的成功。考虑到StackOverflow的规模,我们可以认为这是衡量编程语言流行度的一个很好的指标。

尽管在过去几年中,R语言的发展一直处于平稳状态,很多其他编程语言已开始稳步下降,但Python的增长似乎势不可挡。在所有StackOverflow的问题中,带有“python”标签的占到了14%,而且这种趋势还在上升。其中的原因有很多。

Python是一种古老的语言

Python于90年代问世。这不仅意味着Python有足够的时间成长,而且还拥有了一个庞大的支持社区。

因此,如果你在使用Python进行编程时遇到任何问题,只需上网搜索就可以得到答案。因为总是会有人在这之前就遇到了这个问题,并为此撰写了一些有用的资料。

对初学者很友好

Python对初学者友好的原因不仅仅是因为它已经存在了数十年,予以程序员足够的时间编写出色的教程,而且还因为Python的语法非常易于理解。

首先,无需指定数据类型。你只需声明一个变量即可,Python会根据上下文判断这个变量是整数、浮点数、布尔值还是其他类型。对于初学者来说,这是一个巨大的优势。如果你有过使用C++编程的经历,那么就会懂得只因为你错把浮点数定义成了整数,就导致程序无法通过编译有多么难受了。

此外,比较Python和C++代码,不难发现Python有多么易于理解。尽管C++在设计时考虑到了英语,但与Python代码相比,阅读C++的代码还是相当坎坷。

用途广泛

由于Python已经存在了很长时间,因此开发人员为之开发出了各色的软件包。如今,无论遇到什么问题,你都可以找到相关的软件包。

  • 想处理数字、向量和矩阵?那么就来试试 NumPy 吧。

  • 想进行技术和工程的计算?那么就来试试 SciPy 吧。

  • 想操作和分析大数据?那么就来试试 Pandas 吧。

  • 想学习人工智能?为什么不试试 Scikit-Learn 呢。

无论你需要进行哪方面的计算任务,都可以找到相关的Python软件包。由于过去几年中机器学习的迅猛发展,Python已经站在了时代发展的最前沿。


Python 什么时候会被取代?

Python的缺点,这些缺点是否致命?


通过上述讨论,你可以想象在很长一段时间内Python的发展都势不可挡。然而,Python也逃不开一切技术的命运,它也有自己的弱点。接下来,我将逐个介绍Python的重大缺陷,并评估这些缺陷是否致命。

速度

Python很慢,非常非常慢。平均而言,使用Python完成某个任务所需的时间是使用任何其他语言的2–10倍。

其中的原因有很多。其中之一是因为Python是动态类型的,别忘了你不需要像其他语言一样指定数据类型。这意味着内存的耗费非常大,因为在任何情况下程序都需要为每个变量保留足够的空间。而巨大的内存使用量必然需要耗费大量的计算时间。

另一个原因是Python一次只能执行一个任务。这是灵活的数据类型带来的结果,Python需要确保每个变量只有一个数据类型,而并行进程可能会在这一点上出问题。

相比之下,普通的Web浏览器一次可以运行十几个不同的线程。当然其中还涉及别的因素。

但最终所有的速度问题都不打紧。因为电脑和服务器的价格越来越低,我们谈论的也只不过是几分之一秒的问题。最终用户并不真正在乎他们的应用加载需要0.001还是0.01秒。

范围

最初,Python是动态作用域。这基本上意味着,为了评估表达式,编译器首先需要搜索当前块,然后依次搜索所有调用函数。

动态作用域的问题在于,每个表达式都需要在所有上下文中进行测试,这很繁琐。这就是为什么大多数现代编程语言都使用静态作用域。

Python曾尝试过渡到静态作用域,但搞砸了。通常,内部作用域(例如函数中的函数)能够查看和更改外部作用域。在Python中,内部作用域只能看到外部作用域,但不能更改。因此引发了很多混乱。

Lambdas

尽管Python非常灵活,但Lambdas的使用还是有一定的局限性。Lambda只能是Python中的表达式,而不能是语句。

另一方面,变量声明和语句始终是语句,这意味着它们不能使用Lambda。

在Python中,表达式和语句之间的区别相当随意,这是其他编程语言都没有的问题。

空白

在Python中,你需要使用空白和缩进来表示不同级别的代码。这种格式具有视觉吸引力,而且易于理解。

其他编程语言(例如C++)都需要依赖大括号和分号。尽管这可能在视觉上没有那么强的吸引力,而且对初学者不够友好,但可以提高代码的可维护性。在大型项目中,这种方式更为妥当。

Haskell等新兴的编程语言解决了这个问题:它们依赖空白,但同时也为那些希望不用空白的人提供了另一种语法。

移动开发

我们目睹了从台式机向智能手机的转变,很明显,我们需要强大的语言来构建移动软件。

然而,使用Python开发的移动应用并不多。这并不意味着Python无法开发移动应用,你可以试试看一个名为 Kivy 的 Python 包。

但是,Python的设计被没有考虑到移动设备。因此,即使Python可以应付基本的任务,但我们最好还是选择专门为移动应用程序开发而创建的语言。广泛用于移动编程的语言包括:React Native、Flutter、Iconic和Cordova。

我们需要明确的是,笔记本电脑和台式计算机已经存在很多年了。然而,由于移动设备的使用已然超越了桌面设备,因此我们肯定地说,学习Python不足以成为经验丰富的全方面开发人员。

运行时错误

Python不需要首先编译,然后再执行。相反,它会在每次执行时编译,因此所有编程上的错误都会在运行时显示出来。这会导致性能下降、浪费时间,而且还需要进行大量测试。

对于初学者来说,这未必是坏事,因为测试可以教会他们很多知识。然而,对于经验丰富的开发人员而言,必须使用Python调试复杂的程序很令人头疼。性能欠缺是Python最大的问题。


Python 什么时候会被取代?

Python什么时候会被取代?


如今,编程语言市场上涌现了新的竞争力量:

  • Rust提供了与Python相同的安全性——不会意外覆盖任何变量。但是,它通过所有权和借用的概念解决了效率的问题。根据StackOverflow Insights,Rust是近几年最受欢迎的编程语言。

  • Go 与 Python 一样非常适合初学者。语言本身非常简单,维护代码更加简单。此外,有趣的是,Go开发人员是市场上收入最高的程序员之一。

  • Julia是一种非常新的语言,可与Python正面竞争。Julia填补了大规模技术计算的空白:以前,人们通常都需要使用Python或Matlab编写代码,然后再使用C++库修补整个程序,因为C++库是大规模必不可少的。如今,人们可以使用Julia,而不必在两种语言之间挣扎。

尽管市场上还有其他语言,但Rust、Go和Julia 可以弥补Python的弱点。所有这些语言在即将到来的技术中都有出色的表现,最典型的就是人工智能。尽管它们的市场份额仍较小,但根据StackOverflow的数据显示,这些语言的发展呈现出明显的上升趋势。

如今,Python无处不在,我们还需要五年甚至更长的时间,才有可能看到Python被新语言所替代。

就目前而言,我们很难判断哪种语言有可能替代Python,是Rust、Go、Julia抑或是其他的新语言。但鉴于Python体系结构中最基本的性能问题,其终将难逃被人替代的命运。

原文:https://towardsdatascience.com/why-python-is-not-the-programming-language-of-the-future-30ddc5339b66

本文为 CSDN 翻译,转载请注明来源出处。

【END】

Python 什么时候会被取代?

热 文 推 荐

☞“Hey Siri” 背后的黑科技大揭秘!

☞终端模拟器大 PK,你 Pick 谁?

☞程序员造轮子的正确姿势

☞编程基础知识真的是九阳神功吗?

☞在Kubernetes上部署一个简单的、类PaaS的平台,原来这么容易!

☞旷视提双边分支网络BBN:攻坚长尾分布的现实世界任务 | CVPR 2020 Oral

☞2020年,这20个大家都认识的加密交易所过得怎么样?


Python 什么时候会被取代?你点的每个“在看”,我都认真当成了喜欢
上一篇:百花齐放的物联网产业曾差点“跌倒”在爆发之前......
下一篇:程序员造轮子的正确姿势

相关推荐

大咖来信 | 微软中国CTO韦青:低代码/无代码时代来了,写代码的你准备好了吗?

717 源码共读

十三发自凹非寺量子位报道|公众号QbitAI编者按:编程语言几年一变样,学了C、C++,还得跟上Python的潮流……各大排行榜上,语言之争也是愈演愈烈,还架不住时不时杀出个黑马。即便学了新编程语言,还得做大量“重复造轮子”的工作。这对当今的程序员们来说,简直就是一个DoubleKill——让发际线升得更猛烈些吧!在近日接受量子位的独家采访中,微软(中国)C

不运动,在两个月瘦20斤的方法你愿意一试吗?除了这个副作用

707 付虹大夫

作者:付虹更多女性保健知识,请关注公众号“付虹大夫”,搜索关键词如“子宫切除”、“子宫肌瘤”、“腺肌病”、“备孕”、“痛经”、“胎停育”、“月经推迟”、“不孕”、“肺炎”等,看看推文,仍有疑问可以后台留言咨询。又到了“三月不减肥,四月、五月、六七八月徒伤悲”的时节,如果不想“一只狸花猫”压海棠,好好的思考一种减重的好方法还是必须的。上个夜班,和付虹医生一同值

美国互联网协会:国防部网络安全认证计划(CMMC)或产生反作用

963 E安全

更多全球网络安全资讯尽在E安全官网www.easyaq.comE安全4月2日讯,近日据外媒报道,上周美国BSA互联网协会在致五角大楼高级官员的一封信中表示,国防部的网络安全成熟度模型认证计划(CMMC)可能会与预期效果相反,并可能会带来安全风险,他们要求国防部对计划中的一些问题进行澄清。该协会在信函中代表了100多家公司,其中包括美国软件联盟,网络安全联盟,

洞悉微软新一代扛把子产品“低代码平台”,就在微软在线技术峰会!

1610 微软科技

(本文阅读时间:5分钟)近年来,“机器人流程自动化”“模型驱动”“画布应用”等“低代码”技术热词频出不穷。据Gartner报告预测,到2024年,低代码应用开发将占应用开发活动的65%以上,将有四分之三的大型企业选择使用低代码开发工具进行IT应用程序开发和全民开发计划。市场资本动向也印证了这一点,许多IT巨头已斥巨资投入低代码平台的研发中。微软自2015年起

六类降压药:作用特点、临床选择、用药交待、联合用药,全在这里!

476 药评中心

作者:Gcplive来源:药评中心(未经授权不得转载,转载不得修改图片)高血压治疗的根本目标是降低高血压的心脑肾与血管并发症发生和死亡的总危险。临床常用降压药物包括CCB、ACEI、ARB、利尿剂、β受体阻滞剂、α1-受体阻滞剂,六类降压药有各自的作用特点和强适应症。一、钙通道阻滞剂(CCB)1、作用特点主要通过阻断血管平滑肌细胞上的钙通道,而发挥扩张血管降

无代码时代来临,程序员如何保住饭碗?

1552 CSDN

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配

想让宝宝语言表达能力一级棒?这6招很关键,看看你用了没有!

1391 崔玉涛的育学园

崔玉涛的育学园常见的疾病问题这里都有答案,点上方蓝字关注。小编发现,只要有了娃,全家变话痨。小小崔一家也是这样,喂奶的时候、哄睡的时候、陪玩的时候,只要你能想到的场合,都有家人和小小崔聊天的场景。不过,这可不是简单的闲聊,而是件大有好处的事,和宝宝多交流对其日后的语言能力、学习能力还有依恋关系都有不可忽视的正向作用。今天小编邀请了小小崔妈妈和育学园教育的总监

旅行社老板:省内游“解封”对我们作用有限,对OTA更有利

旅行社老板:省内游“解封”对我们作用有限,对OTA更有利

106 新旅界

“曙光”在眼前,“解封”按下快进键,停摆2月有余的各地旅行社等来好消息。截止3月25日,上海、陕西、新疆、四川、贵州、云南、江苏等多地文旅局已经发布文件明确表示,各地各旅行社和在线旅游企业除跨省和出入境的团队旅游业务及“机票+酒店”旅游业务以外,可恢复开展旅游经营活动。“重启省内游的通知,对于旅游企业和旅游人而言,无疑是振奋人心的好消息。但实际上只能做省内游

萌宠

大型犬也是宝宝!这些常见问题你应该知道!

1990 八公叔叔

只要是狗狗,就有可能因为各种原因而导致身体出现问题,而大、小型犬也因为体型差异,在易患病上有所不同,今天叔叔就给大家科普一下大型犬容易患上的健康问题,主要是关节疾病与肠胃疾病两个方面。关节问题1随着年龄的增长,狗狗都有可能患上关节炎等关节病。其中以金毛为代表的中大型犬更容易患上髋关节发育不全、肘关节发育不全、全骨炎等疾病。原因主要有两点:1.生长跨度大贵宾这

免费榜第1、畅销榜第6,B站拿出了今年压箱底的二次元大作
游戏

免费榜第1、畅销榜第6,B站拿出了今年压箱底的二次元大作

1895 游戏葡萄

从以小博大,到大厂联手。文/依光流在距离今年结束只剩一个多月的节点,又一款二次元产品火了。11月19号,西山居研发、B站独代的二次元手游《双生视界》率先于AppStore上线,并在今天全平台公测。游戏上架首日,就拿下了AppStore免费榜第1位,畅销成绩也在今天到达第6位。几天下来,这款产品在B站的总体评价也很稳定,一直维持在8.6分左右。我对这款产品的印

郭敬明要对《阴阳师》手游下手了?
游戏

郭敬明要对《阴阳师》手游下手了?

1504 电视猫视频

电视猫视频公众号ID:moretv关注最近郭敬明的新电影《阴阳师》官宣了,这个消息使很多《阴阳师》手游的玩家开始恐慌:电影《阴阳师》会不会使得自己心爱的式神被毁?毕竟他们是都是由同一本小说改编的。而事实证明,这个担忧是正确的。毕竟郭导甚至连原著角色的名字都搞不清楚!在前不久官宣的演员阵容中,一张宣传照上的“泷夜”这个名字引起了部分游戏玩家的质疑:为什么“泷夜

“我离婚了”
私房话

“我离婚了”

403 衷曲无闻

图|网络01最近几天,我又通关了一遍《古剑奇谭三》。大结局的时候,姬轩辕和北洛回顾往事,杜康第一次酿出酒,邀请大家尝一尝,虽然拿错了罐子,但所有人还是喝得很高兴。姬轩辕说:“只可惜那一天立下了誓言,说好要一起变成老头子老婆子,活到彼此都看不顺眼的时候,却没能做到。上天若是不生我们,这世间该有多无趣。”莫名被这样一句话触动,毕竟活在一个上了床也没有结果的年代,长情真的太过珍贵了。02“我离婚了”。游戏中的我正准备前往巫之国决战,一个关系不错的朋友给我发了一条微信。她和老公阿铭相识三年,结婚一年半,赶在国庆前

缺爱的女孩别谈恋爱
私房话

缺爱的女孩别谈恋爱

1131 八命先生

前几天聚会喝到最后,朋友问:缺爱的女孩该如何谈恋爱?我说缺爱的话还是先不要考虑谈恋爱了,把自己的幸福寄托于别人身上,本身就不是件多么合情合理的事情。先学会跟自己和解,好好对待自己,明确自己的价值,之后再去接触爱情。否则很容易陷入某段关系里无法自拔。严格意义上,我们几个都是原生家庭不完美的小女孩,只不过大家的恋爱观却相差很多,我跟L姐妹就是两个相对极端的情况。

德牧“恶意伤人”被要求击杀,真相却是……
萌宠

德牧“恶意伤人”被要求击杀,真相却是……

129 八公叔叔

近日的特殊时期下,我们看过了很多令人伤心的故事,同时也看到了很多坚守内心善意的人……在不久前的江西省分宜县,警局接到报警称:“小区有一只凶恶的烈性流浪狗咬人!请赶快派人来杀了它!”事发突然,但若真的是发疯恶犬,的确十分危险。于是在接到报警的当下,警察们就装备完毕即刻前往现场。很快,他们就找到了那只所谓的“伤人恶犬”,是一只德牧。不过与报警电话内所描述的状况不

家庭聚会不想打麻将?众乐乐其实还能这样玩!
游戏

家庭聚会不想打麻将?众乐乐其实还能这样玩!

1369 钛师父

非常时期,走亲访友显然是不现实的,可宅在家里娱乐活动又少,麻将成为家人小聚会最好的选择。不过对于不少游戏宅来说,可能家庭聚会大多数时候就意味着“麻将大会”,也许还得面对头疼的熊孩子们,如果本身就不喜欢玩麻将的话,那就实在是枯燥无比,让人昏昏欲睡。既然如此,为何不自己掌握娱乐项目主动权,好好带把节奏呢?例如搞一个多人游戏派对,一样可以活跃气氛嘛(关键是方便自己