铁打的Java最终还是败给了Python!


AI 前线导读: 近年来,Python 的热度持续上涨,在 PYPL 最新发布的 7 月编程语言指数榜中,Python 流行指数再次上涨 5.5%,不只霸牢热门编程语言榜首之位,而且逐渐与 Java 拉开了差距。然而就在形势一片大好之际,Python 之父 Guido van Rossum 却宣布永久退出 Python 社区决策层。Guido van Rossum 在创建 Python 之初,并没有想到它会变得如此受欢迎,正如我们也想象不到,创始人离开社区决策层之后,可能会给 Python 的未来带来什么样的变数。

Python 彻底超越 Java,成为最热门编程语言

根据 PYPL 近日发布的 7 月编程语言指数榜,Python 保持上涨趋势,本月流行指数再次上涨 5.5%,以 23.59% 的份额甩开 Java 排名第一,并逐渐与 Java 拉开差距。

PYPL 全称是 PopularitY of Programming Language Index,这一流行度指标是基于 Google 上搜索相应编程语言教程的频率来创建的:编程语言教程的搜索越多,该语言就越受欢迎。原始数据来自 Google Trends。

其实,在今年 4 月份的时候,Python 刚以 5.2%的巨幅增长超过 JavaScript 爬升到 PYPL 指数榜的第二位,成为了受欢迎程度增长最快的编程语言。当时 Java 的流行度虽然日渐下降,但仍然是最受欢迎的语言。

万万没想到,5 月份,Python 再次以 5.5% 的巨幅增长超越 Java,荣登榜首之位,如今又一次以 5.5% 的增长逐步与 Java 拉开差距。

使用简单、上手快,优质的文档和丰富库,再加上活跃的开源社区,都是 Python 崛起的重要原因,而人工智能尤其是机器学习的发展更是功不可没。其实,无论在哪个榜单中 Python 都保持着非同寻常的增长速度:

HackerRank 2018 年开发技能报告,当下最受欢迎的编程语言,Python 稳居前三;
在 ranked.com 的排名中,Python 是 2017-2018 年最受欢迎的人工智能编程语言(C++ 排名第二,R 未上榜)
GitHub 2017 年度报告中,Python 超越 Java 成为第二受欢迎的编程语言。
如今,Python 可以认为是 AI 时代的头牌编程语言,但当初 Guido van Rossum 创建 Python 时,并没有料想到现在的光景。

Python 的崛起

1989 年 12 月,荷兰计算机科学家 Guido van Rossum 为自己设定了一个圣诞节项目。因为不满于其他编程语言存在的缺点,他想自己开发一门语言。他的原则很简单,首先,它应该易于阅读,每个代码块都使用缩进的空格包围,每行不会很长,也不使用花括号。其次,用户可以创建自己的专用模块包,然后其他人可以基于这些包开发新的程序。第三,他想要一个“简短、独特且略带神秘”的名字。因为他是英国喜剧团体 Monty Python 的粉丝,于是就把这门语言叫作 Python,而软件包仓库被称为 Cheese Shop。

差不多 30 年之后,van Rossum 说,“我当时肯定没有想过这门语言会如此受欢迎”。在过去的 12 个月里,美国人使用谷歌搜索 Python 的次数远远超过搜索金·卡戴珊。自 2010 年以来,Python 的搜索率增加了三倍,而其他编程语言的搜索率则持平甚至下降。

Stack Overflow 的数据显示,Python 的受欢迎程度不仅在专业开发人员当中有所增加——其中近 40%的人在使用它,还有 25%的人打算使用它——而且在普通民众当中也很流行。Codecademy 是一个拥有 4500 万用户的编程语言学习网站,该网站表示,到目前为止,网站增长量最大的需求来自那些希望学习 Python 的人。众所周知,Python 社区已经为 Cheese Shop 增加了超过 145,000 个软件包,涵盖了从天文学到游戏开发等各个方面的内容。

虽然这种现象令 van Rossum 感到兴奋,但作为“仁慈的生活独裁者”,他发现有必要对目前的形势进行监督,但这对他来说沉重不堪。他担心自己会成为别人的崇拜者。他说,“这种名誉让我感到不舒服,有时我觉得我所说或所做的一切都被放大了”。7 月 12 日,他辞职了,让 Python 社区进行自我管理。

这位时髦的统计学家惊艳了所有人

Python 并不完美。相比之下,其他编程语言具有更高的处理效率和专业能力。

C 和 C++ 让用户可以更好地控制在计算机处理器内发生的事情,Java 非常适合用于构建大型的复杂应用程序,JavaScript 是 Web 应用程序的首选语言。无数人在为各自推崇的语言进化贡献着自己的力量。Python 简单的语法降低了学习门槛,而且便于分享,以及庞大的第三方软件包让它成为一门优秀的通用语言。它的广大用户群和应用范围足以说明它的多才多艺。中央情报局将它用于******,Pixar 用它来制作电影,谷歌用它来抓取网页,Spotify 用它来推荐歌曲。

Cheese Shop 中有一些极具诱惑力的软件包可用于人工智能(AI)领域。用户可以用它们来创建神经网络,模仿大脑内部的连接,从大量数据中识别出模式。van Rossum 表示,Python 已成为人工智能研究人员的首选语言,他们为此开发了大量软件包。

然而,并非所有的 Python 用户都如此雄心勃勃。Codecademy 的老板 Zach Sims 认为,他的网站的很多用户希望可以获得对“非技术”工作有帮助的技能。例如,营销人员可以使用 Python 创建统计模型,大学讲师可以使用 Python 检验成绩分布是否合理。(即使是《经济学人》的记者通常也会使用 Python 开发程序从网上抓取数据。)

对于长期使用电子表格的专业人士来说,Python 就显得更有价值了,花旗银行(Citigroup)甚至为实习分析师推出了 Python 速成课程。就业网站 eFinancialCareers 的一份报告显示,在 2015 年第一季度和 2018 年之间,与 Python 相关的岗位增加了近四倍。

但这并非没有风险。贝恩咨询公司(Bain&Company)合伙人 Cesar Brea 警告说,在交易中最可怕的事情是“有人学会了一种工具,却不知道背后的原理”。如果没有适当的监督,那些使用 AI 开发库的新手可能会耍花招。波士顿咨询集团合伙人 Bernd Ziegler 表示,他的公司会将此类分析任务交由他的数据团队处理。

Rossum 的万能机器人

解决非专业人员问题的一个方法是适当地向他们教授语言的奥秘。Python 在 2014 年已经是美国大学最受欢迎的入门语言,但它的教学通常仅限于那些研究科学、技术、工程和数学的人。一种更激进的建议是向所有人甚至是小学生提供计算机科学课程,以此来吸引年轻人。Code.org 的老板 Hadi Partovi 指出,现在有 40%的美国学校提供此类课程,高于 2013 年的 10%。大约三分之二的 10 到 12 岁的学生都拥有 code.org 网站的账号。也许是对充满自动化工作的未来感到不安,90%的美国父母希望自己的孩子学习计算机科学。

Python 的增长还将持续多久,没有人能说得准。过去也有占主导地位的计算机语言,现在却只能躲在暗处黯然伤神。20 世纪 60 年代,Fortran 曾风靡世界。作为初学者的教学语言,Basic 和 Pascal 都有过光辉的时刻。Partovi 本人也极力推崇将 JavaScript 作为 Code.org 核心课程大纲中的编程语言,因为它现在仍然是 Web 的标准选择。

任何计算机语言都不可能是真正通用的,专业化仍然很重要。尽管如此,在漫长的圣诞假期,van Rossum 做了一件令人难忘的事情。他不是救世主,但却是一个非常聪明的孩子。

喜欢小编轻轻点个关注吧!

原文地址:http://blog.51cto.com/13952975/2314682

时间: 2024-09-30 00:25:01

铁打的Java最终还是败给了Python!的相关文章

软交所--Java最终胜出的技术优势

软件服务开发,存在着很多开发工具,那就谈谈Java最终胜出的技术优势: 1.0资本 与Java本身相比Java API更是一笔可贵的免费财富.你想使用Socket操作网络?API中有;你想连接到SQL数据库?API中有;你想给应用程序一个漂亮的用户界面?API中有;你想要处理数字图形.播放音乐.解析字符串或创建数字签名?API中全都有.Sun免费提供了用来开发Java应用程序的一切,你不必付任何的版税. 2.在学术界获得了强有力的支持 由于免费.跨平台.Java语言本身技术先进,在高校中,Jav

爱上 Java 的10 大理由,Python 弱爆了!

Java和JVM已经存在了很长一段时间了,基于这个事实,一些程序员开始将很多事情视为理所当然.今天我们就来说一说"Java之所以能够成为并将继续是软件项目领先平台"的十大理由. 1.高性能JVM Java最初的开发目的"一次编写到处运行",并由虚拟机提供运行平台.点击这里查看JVM内存模型详解.没有JVM,Java就必须遵循Ruby和Python的步伐--在痛苦中进一步提高其便携性.随着物联网的出现,一个强大的虚拟机变得越来越重要. 2.核心API 最让人喜欢的就是

JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?

JAVA.C.C++.Python这四种编程语言,前三种玩的比较多,python做为兴趣爱好或者玩脚本的时候弄过,编程语言在使用的时候主要还是适合不合适,单片机使用的场景属于功能简单,成本相对较低,现在也有高配版的单片机,本来单片机是不带系统的,非要硬扯到带系统的,从成本上考量就不是那回事了,成本主要包括两个方面有硬件成本,还有研发难度的成本这都是需要考虑的事情. 在学习C/C++或者想要学习C/C++可以加入我们的学习交流QQ群: 954607083,领取学习资料 单片机开发语言C语言和汇编,

铁打的手机,流水的屏

智能手机刚出来的时候,设计师们花了不少心思去折腾一下外观,从塑料到金属+玻璃,再到各种绚丽颜色地搭配,几个元素的排列组合,支撑了UI设计师们近10年的饭碗,他们曾推出风靡世界的绝对经典,比如iPhone4的外观设计,简直也是没谁了,优雅的双面玻璃设计.不锈钢包边和机身按钮设计,直到今天还有大量的果粉通过地下渠道寻找iPhone4,它刚刚面世之时,带给业界的震撼难以言表,只消看一眼,就能感觉到有一股清风从脚底而来,把整个身体都整通透了,后来的iPhone5s土豪金,iPhone6Plus的大屏幕都

流水的算法,铁打的损失函数/MLE

机器学习算法可以说是不少的,如果死记硬背的话,只能当时记得推导过程和步骤,过一段时间就又想不起来了,只能依稀记得一些影子.所以,应该找到算法的一些通用的方法来理解算法的思路以及推导过程. 我认为,最大似然估计和损失函数,就是机器学习算法的通用框架,是掌握机器学习算法的钥匙. 以下,用实际算法来证实这两把钥匙的威力. 1.Linear Regression.可以转化为求 损失函数最小,来求解参数θ. 之后用梯度下降法来实际求解θ.除了梯度下降这一个工具外,还有拟牛顿法,拉格朗日乘子法重要工具. 2

铁打的企业流水的职工,精益生产怎样实行?

招人难.员工流失率高正变成社会发展和公司日渐头疼的人力难题,此外,精益生产在我国各制造行业也正如雨后春笋迅猛发展,很多的公司观念到根据执行精益生产降低库存量.减少周期时间.控制成本的必要性与迫切性.殊不知,中国公司在执行精益生产并享有精益生产产生的经济效益时,却经常面临职工高离职率下怎样运用精益生产的窘境. 从精益生产发源和精益生产发展趋势的过程看来,精益生产全部的核心理念和方式大部分全是应用场景职工相对稳定基本上的,不论是精益生产运用较为普遍的日本或英国,都不曾真实应对过我国现阶段这般突显的职

最终版的Web(Python实现)

天啦,要考试了,要期末考试了,今天把最终版的Python搭建Web代码先写这里记下了.详细的过程先不写了. 这次是在前面的基础上重写 HTTPServer 与 BaseHTTPRequestHandler,主要利用 python 提供 的 socket 进行编程,从而实现消息的接收与相应:然后再接着引入多线程,分别处理来自客户端的请求:最后实现根据客户端传递的参数动态生成页面的功能. 主要步骤如下: 一. .重写 HTTPServer 与 BaseHTTPRequestHandlerPython

Java的不定长参数和Python的不定长参数对比

一:起因 (0)不定长参数,也叫可变的参数,就是再调用函数之前,并不确定到底需要传递多少个参数 (1)Java中的不定长参数用String... args / int... args等三个点来表示:Python中用*args元组来表示 / **args字典(map)来表示  (2)不定参数有两个规定:第一,方法的参数列表中最多只有一个不定长度的参数:第二,就是不定长度的数组的位置必须是最后一个参数.不然不能通过编译. 二:实例对比 (1)Python的不定长参数 第一种方法--以一个*开始的参数

C、C++、Java、JavaScript、PHP、Python、Ruby 这些语言分别主要用来开发什么?

pansz,欢迎评论 此贴纯科普用,以下仅仅说主要用途,其他用途限于篇幅关系省略之,不要钻牛角尖. C:系统底层,驱动程序,嵌入式底层,基础服务程序.C++:上层服务程序,应用API,大型3D游戏.Java:服务端应用程序,以及客户端应用程序.JS:在浏览器中运行的程序.PHP:Web服务器端用于生成网页的程序.Python:任意的无图形界面应用程序,以服务器端应用程序为主.Ruby:主要用于 RoR 框架,在其他领域使用较少. Xi Yang,盯…………………… C:配合汇编一起写操作系统:系