数据领域最强编程语言Python和R要合做了!

策划 & 编辑 | Natalie
组稿 | Natalie,Vincent
AI 前线导读: 是的,你没有看错,数据科学领域从业者最离不开的两大编程语言,当红炸子鸡 Python 和“过气网红”R 真的要展开合做了。近日,URSA 实验室宣布,R 和 Python 正携手合做,旨在让使用不一样编程语言的数据科学家可以更轻松地协做,避免不一样语言开发人员的过多重复工做,这或许会成为今年最雄心勃勃的交叉事件。有网友对此次合做发表评论道:“这个真的蛮历史性时刻的”,不过也有网友调侃“两个最慢的语言正在合做”,你怎么看?

更多优质内容请关注微信公众号“AI 前线”,(ID:ai-front)

Ladies and 乡亲们,争夺数据分析领域最好用编程语言的两大重量级选手:Python 和 R 语言,居然宣布:合!做!了!python

若是你身处数据分析领域,那么你必定遇到过或者据说过这个两难抉择——在进行数据分析时,到底使用哪一种语言更好,R 仍是 Python?程序员

“最好的编程语言”之争旷日持久,数据科学领域也不例外。网上常常出现诸如“我想学习机器学习,我应该用哪一个编程语言”或者“我想快速解决问题,我应该用 R 仍是 Python”等这类问题。尽管这两种编程语言目前都是数据分析社区的佼佼者,可是它们仍然深陷“哪种才是数据科学家的首选编程语言”的争论之中。编程

可是各位,从今日后,大家能够不用再纠结这个问题了。微信

数据科学领域最强编程语言之争

在介绍合做相关事宜以前,咱们照例先回顾一下这两种编程语言的前世此生,以及他们在编程江湖当中的恩怨情仇。网络

前世此生

Ross Ihaka 和 Robert Gentleman 于 1995 年基于 S 语言创造了开源语言 R,目的是专一于提供更好和更人性化的方式作数据分析、统计和图形模型。数据结构

起初 R 主要是在学术和研究中使用,但近来工业界也发现了 R 的好,这使 R 成为在企业中使用的全球发展最快的统计语言之一。机器学习

而 Python 由 Guido van Rossem 建立于 1991 年,主要强调效率和代码的可读性。但愿深刻的数据分析或应用统计技术的程序员是 Python 的主要用户。编程语言

当你越须要在工程环境中工做,你会越喜欢 Python。它是一种灵活的语言,在处理一些新东西上表现很好,而且注重可读性和简单性,学习曲线比较平缓。函数

恩怨情仇

这两种编程语言是怎么结下梁子的?还得从机器学习和数据分析提及。工具

机器学习和数据分析之间的差别有些难以言明,但两者最主要的不一样就在于:比起模型的可解释性,机器学习更增强调预测的准确性;而数据分析则更加看重模型的可解释性以及统计推断。

因而乎 ,因为 Python 更看重预测结果的准确性,它成为了机器学习的一把利器。而 R 做为一种以统计推断为导向的编程语言,在数据分析界也获得普遍应用。

可是,这并非就给这二位定了性,除了各自的领域别的都干不成了。实际上,Python 也能够高效地完成数据分析工做,R 在机器学习中也具备必定的灵活性。它们都拥有至关多的资源库去实现彼此特定的函数功能,好比 Python 就有不少资源库来提升本身统计推断的能力,R 也有不少包能够提高预测的准确率。

因为两者的这些特性,网络上对于 Python 和 R 到底谁强谁弱的争论一直没有定论,就连在学界和业界的使用率也一直你追我赶。

不过,随着近几年人工智能的普及,愈来愈多学校开展了 Python 语言的编程课,转型人工智能的企业也加大了对 Python 语言的投入力度。根据 Stack Overflow 2018 年开发者调研报告显示:Python 的排名有所上升,今年已经超过了 C#,正如它去年超过了 PHP。Python 坚决主张要成为「最快速成长的主流编程语言」,至于 R 语言,则被远远甩在后面。

看似人气差距愈来愈大,有人戏称他们一个当季网红,一个“过气网红”。但也有技术大佬对于这种谁是最佳编程语言的争论感到不满,进而提出了一个想法:为何不让他俩合做呢?

此次合做由谁发起?

技术大佬 Hadley Wickham 和 Wes McKinney 共同促成了此次合做。

Hadley Wickham 是编程语言 R 最重要的开发人员,Wes McKinney 则是编程语言 Python 最重要的开发人员之一。

Wes McKinney 在 2008 年建立了 pandas project,pandas 是一个开源的 BSD 许可的库,为 Python 编程语言提供了高性能、易用的数据结构和数据分析工具(对,就是你在 Python 里超级经常使用的那个 pandas 库)。此外,他还撰写了 Python for Data Analysis 一书,帮助推广 Python 在数据科学领域的应用。他是 Apache Software Foundation 的成员,而且是 Apache Arrow 和 Apache Parquet 的 PMC 成员,曾任 DataPad 的首席执行官和共同创始人。

Hadley Wickham 则是许多在数据科学领域使用最普遍的 R 软件包的建立者,如 ggplot二、dplyr 和其余许多软件包。他写了几本关于 R 语言的书,如 R for Data Science 和 Advanced R。Hadley 是 RStudio 的首席科学家,同时也是 Ursa Labs 关于 R 语言支持和通常 API 设计和可用性的技术顾问。

上个月,McKinney 宣布成立 USRA 实验室——一个致力于改进数据科学工具的创新组织。本次 Python 和 R 的合做就是 USRA 实验室与 Wickham 所在的公司 RStudio 之间的合做项目,RStudio 目前负责维护 R 语言最受欢迎的用户界面。USRA 实验室的主要目标是让使用不一样编程语言的数据科学家可以更轻松地协做,避免不一样语言开发人员的过多重复工做。除了改进 R 和 Python,他们还但愿其工做可以改进其余开源编程语言的用户体验,好比 Java 和 Julia

Python 和 R 均可以避免费使用,而且常常被认为是数据科学领域中的竞争对手。但 Wickham 和 McKinney 都认为 这种竞争是没有必要的。事实上,他们认为经过合做可使这两种编程语言对数百万用户更加有用。

Python 和 R 强强联手

对于在科技公司(如谷歌、Facebook 等)工做的数据科学家、研究人员和数据记者来讲,Python 和 R 都是必不可少的工具。开发者最头痛的问题是,当他们的同事使用另外一种不一样的编程语言时,协做每每难于上青天。URSA 实验室将经过打造适用于全部编程语言的新标准,使与使用其余数据科学语言的人共享数据和代码变得更加容易。开发者们将这一行动称做为对“互操做性”的改进。Wickham 和 McKinney 已经一块儿建立了一个在 Python 和 R 中均可以使用的文件格式。

Wickham 和 McKinney 表示,除了想让协做变得更容易,还有另一个缘由促使他们展开这个合做项目:使用不一样编程语言的开发者老是在重复解决同一个问题,却没能把他们从中学到的经验教训分享给其余人。

Wickham 举了一个例子,在每一种编程语言中,开发人员都要会计算平均值。这对于用户来讲很是简单,不论是在 Python 仍是 R 中都只须要一行代码。可是对于语言的开发人员来讲,找到用一行代码执行计算的最佳方法倒是一个棘手的问题。R 和 Python 的开发人员都倾向于用 C++ 和 C 语言来解决这个问题,这两种语言对于开发人员来讲很好用,但对普通用户来讲却很棘手。Wickham 认为,在理想状况下,若是一种编程语言的开发人员找到了作某事的最佳方法,那么这个方法应该应用于其余全部语言。这也是 USRA 实验室的核心任务。

Wickham 和 McKinney 补充道,这个合做项目除了解决技术问题,也但愿让不一样的编程语言社区和平共处。他们认为使用这些语言的人合做得越多,数据科学领域就能发展得越好。

“我但愿此次合做能结束 R 和 Python 之间毫无心义的争斗,”Wickham 说,“由于这两种语言都很棒。"

参考资料:

http://wesmckinney.com/blog/announcing-ursalabs/

https://qz.com/1270139/r-and-python-are-joining-forces-in-the-most-ambitious-crossover-event-of-the-year-for-programmers/

相关文章
相关标签/搜索