[toc]
Python:[ˈpaɪθən],Python 已经成为最受欢迎的程序设计语言之一,Python具有丰富的库,开发效率高,代码量低,网站、桌面应用开发、自动化脚本、游戏开发、机器人、人工智能、大数据、云计算等领域都可以用到python语言
下一个十年,Python的“王者”地位还保得住吗?
2020-11-07 下午6:50
作者 Bharath K
译者 Sambodhi
策划 刘燕
甭管唱反调的人怎么唱衰,Python 在下一个十年仍然很重要,并且会与时俱进。
本文最初发表在 Medium 博客上,经原作者 Bharath K 授权,InfoQ 中文站翻译并分享。
Python 是一门了不起的编程语言,它改变了游戏规则,将编程的格局提升到了一个完全不同的层次。Python 的迅速崛起对整个行业来说都是极其有利的,但是当它越来越受欢迎时,却总是受到批评。
最近,我看过一些文章和视频,它们似乎都在表明,Python 的辉煌时代行将终结。
由 Python 引发的批评经常有:“它是一种缓慢的语言”、“全局解释器锁”、“动态类型”,“移动应用程序缺乏支持”等。
所有的批评都正确吗?它们真的重要吗?
在这个十年的剩余时间里,Python 还能如此重要以及保持完整性吗?
今天,我们将对事实进行分析,破除一些误解。
闲话少叙,言归正传!
Python 三大主要槽点,但所有的批评都正确吗?
(一)、Python “非常缓慢”
不可否认的是,与 C、C++、Java 等编程语言相比,Python 的速度的确非常缓慢。那些编程语言之所以速度更快,主要原因之一是,它们是静态类型的,而 Python 是一种动态类型的编程语言。
这些语言是在运行之前就进行编译的,而 Python 是在运行时编译。
Python 还从其他编程语言(而不是本机代码)导入外部库。
简单地说,这些因素是导致 Python 速度缓慢的主要原因,但是这确实是个问题!
这很重要吗?
对于最终用户来说,这几乎没有什么区别。不管程序是以 0.0001 秒还是 0.001 秒的时间运行,都不重要。
此外,如果你的计算速度是一个重要的因素,那么值得注意的是,汇编级语言将比 C、C++ 甚至 Java 都要快得多,但几乎并没有什么人使用它们。
然而,Python 更快的开发速度和整体简单性弥补了它在速度上的不足。
也就是说,可以对 Python 代码进行优化,使其执行速度稍微快一些。即使改善并不显著,但对于大多数情况而言,应该也不会有太大的问题。
(二)、全局解释器锁
Python 全局解释器锁(Global Interpreter Lock,GIL)是 Python 处理进程时使用的一种进程锁。通常,Python 只使用一个线程来执行一组编写的语句。全局解释器锁限制了 Python 开箱即用的并行编程。
这意味着在 Python 中,每次只能有一个线程。对于 Python,单线程进程和多线程进程的性能是相同的。造成这个问题的原因就是全局解释器锁。
这很重要吗?
全局解释器锁是 Python 的一个有争议的特性。它的引入是为了避免内存泄漏和死锁问题。
它对整个计算过程的负面影响大于正面影响。不过,这在一定程度上可以通过 Python 中的多处理来解决这一问题。
多处理可以使你同时运行多个不相关的进程。多处理比多线程更适用于 CPU 密集型任务,也更值得推荐。
(三)、对移动应用开发贡献不足
在移动开发行业中,Java 和其他编程语言占据了主导地位。像 Android Studio 之类的应用程序使用 Java 和 XML 这样的编程语言。
Python 为计算机和服务器端系统提供了各种各样的开发。但遗憾的是,Python 并不适合开发移动应用程序。实际上,Python 甚至被认为对于基于移动设备的应用程序来说是一种较弱的编程语言。
这很重要吗?
智能手机、平板电脑和其他小型设备的普及程度正在上升。Python 在这方面的不足,可能会妨碍它作为一门优秀的编程语言在未来的存在和发展。
不过,事情可能并不会像预期的那样“黯淡”,因为随着 Python 的发展以及对语言和框架的不断更新,它甚至可能会为移动应用程序开发开辟出一个市场。
重要的是要认识到 Python 缺乏亮点。但是,了解这些因素对普通程序员的影响程度也很重要。
现在让我们来看看让 Python 变得强大的因素,以及为什么它未来几年将会如此重要。
为什么 Python 在下一个十年依然如此重要?
(一)、最适合初学者学习的编程语言
对于没有编程经验的初学者来说,Python 是一种很棒的入门编程语言。Python 简单易学。它还有助于对面向对象编程的基本概念的理解。
对于任何人来说,即使是没有编程或编码经验的人,尤其是那些打算在数据科学、人工智能、机器学习等领域进一步发展的人来说,Python 都是最佳的入门方式。
它为所有人提供了一种简单的途径来接触到这门语言。Python 的通用性极强,具有平台独立性。这意味着 Python 也可以导入在其他编程语言中构建的基本模块。
总而言之,Python 是一种很棒的入门编程语言,完全值得学习。它还可以在需要的时候帮助转换到其他语言。
(二)、人气和社区支持
Python 是世界上第二流行的语言,在撰写本文时,仅次于 JavaScript。这种人气似乎不会很快下降。
要深入了解 2020 年及以后 Python 和其他编程语言的流行情况,我强烈推荐阅读我之前写过的一篇文章《2020 年及以后最流行的十种编程语言》(10 Most Popular Programming Languages For 2020 and Beyond)。
Python 还有一个很棒的社区,提供了持续性更新和新版本。一般来说,Python 社区有很多大咖,为了改进 Python,他们不断地进行更新。
为了跟上编程世界的发展,社区成员积极参与新模块的开发,他们不断开发与各种库和框架相关的大量资源。
(三)、在AI / 数据科学领域占主导地位
Python 的专长在于执行可视化任务、探索性数据分析,当然,在机器学习、深度学习、神经网络等方面的人工智能领域也是如此。
可以通过 Python 模块和库访问的各种框架,有助于解决机器学习和深度学习复杂的问题。
“Python 在人工智能和数据科学领域的能力非常出色,几乎无后来者能及”,此时此刻,如果给出这样的评价相信也无可非议。
不过,有一些新兴的编程语言正在崛起,它们也有可能会构成威胁,成为 Python 的强大竞争对手。我将在以后的文章详细讨论这三门潜在的编程语言。
迄今为止,Python 是一门很棒的编程语言,它可以帮助你开始解决复杂的机器学习和深度学习项目的数据科学之旅。
总 结
假如你是一个初学者,在网上听到了这些批评,要是你因此认为 Python 可能不是当今最好的学习语言,那你就错了。
但愿我这篇文章能够传达出这样的一个信息:尽管有些人加入到批评 Python 某些缺点的潮流中来,以求追赶“时髦”,但这并不意味着这种非凡的编程语言的人气或性能将在未来几年内逐渐消失。
Python 仍然很重要,客观上来说,它被视为是初学者学习入门语言的不错选择。
它在人工智能领域的贡献是巨大的,在机器学习、数据可视化和深度学习方面的重要性将在未来数年中持续存在。
Python为什么如此的火,专家提倡小学生就开始学习
2018-04-22 下午12:00
Python越来越火了,Python 这几年的火热,离不开人工智能和机器学习。如果说 2017 年有一门最火“外语”,那一定是 Python。现在,Python 的这把火已经烧到了程序员的圈子外。根据国务院《新一代人工智能发展规划的通知》,可以想见人工智能教育往低幼渗透的例子只会越来越多。小学生学 Python 是培养编程兴趣和思维,为了你自己的百万年薪和发展前景,或许你才是最该学 Python 的人。
一:重大改革Python 将被加入高考科目
2017 年初消息,浙江省信息技术新教材,即将在 2017 级(2017 年 9 月入学)高中新生中开始使用。据了解,与目前的选考(可以理解为高考科目)要求的信息技术教材由 3 本《信息技术基础》、《多媒体技术应用》、《算法与程序设计》3 本组成,涉及软件(应用软件与编程软件)。
浙江省信息技术课程改革方案已经出台,Python 确定进入浙江省信息技术高考,从 2018 年起浙江省信息技术教材编程语言将会从 VB 更换为 Python。也就是说,Python 语言将纳入高考内容之一!编程语言在升学中的比重逐渐加大,将要成为高考提分的一大利器。
编程语言在升学中的比重逐渐加大,其实不止浙江,教育大省北京和山东也确定要把 Python 编程基础纳入信息技术课程和高考的内容体系,Python 语言课程化也将成为孩子学习的一种趋势。
尤其山东省最新出版的小学信息技术六年级教材也加入了 Python 内容,小学生都开始接触 Python 语言了!
估计很多人的疑问是,要不要这么夸张,C、C++、Java、Python 的编程,都是以前大学才开的专业课程,小学生乃至婴幼儿能懂吗?
在小学开设 Python 编程课,更多是培养兴趣和编程思维,培养孩子发现问题、思考问题、解决问题的能力,小到做数学应用题,大到职业生涯规划,都涉及到编程思维。
二:Python的火爆在美国,连幼儿都有 Python 书
回想一下,微软创始人比尔·盖茨 13 岁学习编程,Facebook 创始人扎克伯格 11 岁开始学习编程……时代发展日新月异,小学生学编程早已不是新鲜事。现在,很多北京上海的家长开始给孩子做编程启蒙,各种编程培训机构也如火如荼。在美国,就连婴幼儿也有专门的编程童书。
在亚马逊,你可以轻松买到婴幼儿 Python 编程书,Python 要从娃娃抓起!
在去年美国一次计算机科学教育周开幕日活动中,时任美国总统的奥巴马亲自上阵,给中小学生示范计算机编程。白宫认为,计算机科学普及教育是美国未来几十年保持创新优势的关键举措之一。
未来将是大数据和人工智能爆发的时代,到时将会有大量的数据需要处理,而 Python 对数据的处理,有着得天独厚的优势。我相信在未来,Python 会越来越火。未来是人工智能的时代,更是 Python 的时代,为了让孩子在未来有着基本的编程技能,Python 是孩子必须掌握的语言。
三:Python确认加入全国计算机等级考试
教育部考试中心于 2017 年 10 月 11 日发布了“关于全国计算机等级(NCRE)体系调整”的通知,决定自 2018 年 3 月起,在计算机二级考试加入了“Python 语言程序设计”科目。
按照以往的经验,新加入的考试科目,考试难度一般会比较低。而且相对于传统的C语言等科目,Python 比较简单,对于大学在校生来说,无疑是一个利好的消息。
四:写代码就跟识字一样,人人都需要
Python 势必成为人工智能时代的新宠儿,Python 这门学科也将引入大量的学习者,任何行业的成功人士当属那些先行者,人工智能的浪潮还未席卷,选择 Python 这门学科就是有先见之明。
几乎每个人都应该学习编程,就像几乎每个人都该学习读写一样。所以,学习Python,做数据分析,跟语文、数学、游泳、开车一样,是通用技能,现在打好基础,以后学什么都轻松。
五:大揭秘Python 语言为什么如此火爆?
在ranked.com的排名中,Python是2017年最受欢迎人工智能编程语言(第二是C++,R并未上榜)。
根据Stack Overflow流量统计,2017年6月,Python第一次成为高收入国家Stack Overflow访问量最大的标签,照此发展,到了2018年,Python肯定会成为最受欢迎的标签。
在GitHub 2017年度报告中,Python超越Java成第二受欢迎语言。所有这些“刷榜”,都离不开最近人工智能尤其是机器学习的火热。Python被誉为最好人工智能的语言,因为:
在数据科学和AI中占据主导地位;
拥有优质的文档和丰富的库,对于科学用途的广泛编程任务都很有用;
设计非常好,快速,坚固,可移植,可扩展;
开源,而且拥有一个健康、活跃、支持度高的社区
有一些很棒的公司赞助商,YouTube、谷歌、Yahoo!、NASA都在内部大量地使用Python,尤其是谷歌;Facebook开源PyTorch后也更有利于Python的推广
(如果你只能学习一门语言,除了Python。)
评论
Mostus
不学Python娶不到媳妇--张全蛋
Nike和Adidas
不学python地球会灭亡——地球
JSY78870435
当所有人都在学习这门编程语言时,说明这门技术已经不赚钱了
悠悠地唱着
小学还是先学做人,把德育弄好吧
空巢老汪
中国不适用,孩子英语都还没学,还学个毛编程,除非能开发一款中文的编程系统和语言,且能普遍适用
SoleLove满满
我怎么感觉python火都是这些小广告炒出来的?它适合做研究,但是不适用于偏大的应用,维护太难了,前人栽树,后人得需要分析解剖树。要不会死的透透得!
秋风无絮
进行计算机基础性教育要比教python更加有意义,更加实在,而基础教育才是人才成长的基础! 教育主管部门太浮躁太肤浅,打个比方,他们以为教个鼠标操作或者快餐式的编程就能培养大量的人才,殊不知只能害了一个时代和国家……
双龙快车道
我是不是也应该自学一下吧,哈哈