大数据文摘作品,作者:PeterGleeson,编译:白丁,吴双,ether,魏子敏。
最近,一直以高素质实习生项目闻名的高盛集团发布了一份《高盛调查报告》,针对全球名在高盛的夏季实习生调查,当问到你认为“哪个语言在未来会更重要”时,在被调查的全球名80、90后优秀年轻人中,72%选了Python。
Python所代表的数据科学分析能力和编程能力正成为年轻人乃至整个世界最看好的热门或者说必备技能。而除了Python,数据科学领域还有大把语言可以选择,如何基于自己的需要选择一门最适合自己的编程语言开始学习呢?
本篇文章将详细对比解析数据科学领域最热门的几大“网红”编程语言:R,Python,SQL,Java,Scala,Matlab,JavaScript,Ruby,并从优缺点、适用领域几个方向让你迅速了解自己最需要哪一款。
数据科学结合了高大上的统计、数量分析理论与实打实的编程能力,是一个让人想想就有点小激动的工作领域。面对众多编程语言,胸怀大志的数据科学家们在术业有专攻之前难免会有乱花渐欲迷人眼之感。
尽管不同选择之间没有高低对错,但是有几点是必须要考虑清楚的。你在数据科学家这条路上能走多远取决于很多因素,具体包括:
深度
在高级数据科学的世界中,老调重弹是没有前途的。选定语言后,努力把各种包和模型都吃透。决定你掌握程度的首要因素是你能接触到哪些特定领域的包。
顶级数据科学家必须既是全面编程小能手,也是鼓捣数字神队友。数据科学日常工作的很大一部分都围绕着获取、加工原始数据或“数据清理”,而那些牛逼闪闪的各种机器学习包在这里都毫无用武之地。
数量
商用数据科学的步伐通常是快到飞起,因此出活儿快的好处简直数不清。这也使得技术部门能够悄悄地争取一席之地,而只有靠谱的做法才能让把工时降到最低。
质量
代码效果最大化有时具有举足轻重的意义,尤其是处理大批量关键数据的时候。编译语言在速度上往往远超解释语言;无独有偶,静态类型语言的故障率也远低于动态类型语言。显而易见,质的提升是以量的减少为代价的。
从某种意义上讲,我们可以画出这样一对轴线(广度-深度;数量-质量)。下面列出的每种语言都可以在上述范围内找到自己的位置。
心里有谱之后,我们一起来看看这些数据科学语言中的“网红”。下面的内容仅是本人及朋友、同事在研究和个人使用中总结出的数家之言,绝不是什么标准答案。排序基本上是按照“网红”程度来的,嘿喂狗~
R语言
简介
R语言以老前辈S语言直系后裔的身份,于年闪亮登场,此后一路高歌猛进,从成功走向成功。该项目目前采用的语言包括C、Fortran和R,得到了统计计算R联盟(RFoundationforStatisticalComputing)的支持。
证书
免费哒!
优点
1、开源数据包质量过硬、领域明确、范围广泛。几乎所有你能想到的数量、统计应用都能找到相应的R包,比如神经网络、非线性回归、系统进化、进阶绘图等。
2、基础安装内置的统计功能和方法非常全面。此外,R语言尤其适合处理矩阵代数。
3、核心优势之一就是利用ggplot2等各种R语言库能够实现数据视觉化。
缺点
1、质量。R语言比较慢,这是板上钉钉的。
2、领域特定。R语言在统计和数据科学领域如鱼得水,但是在通用编程上就有些力不从心了。
3、不走寻常路。R语言的一些“小脾气”可能会让擅长其他语言的程序猿阴沟里翻船。举个栗子,采用多赋值运算从1开始索引,非传统数据结构。
小结:本职岗位的尖兵
R语言功能强大,在众多统计和数据可视化应用中表现出众;开源更是带来了大批活跃的贡献者。最近一个时期R语言的走红彰显了它在“本职工作”上的优异表现。
Python语言
年,经GuidovanRossum(吉多·范罗苏姆)推出后,Python就成为了通用语言中的大热门,在数据科学社区中得到了广泛应用。目前使用的主流版本是3.6和2.7。
1、极受欢迎的主流通用编程语言,模型种类多、适用范围广,有众多社区支持。
2、许多在线服务都提供PythonAPI。
3、上手简单。低门槛使其成为菜鸟程序猿的理想“初恋”。
4、Pandas、scikit-learn和Tensorflow等包使Python在高级机器学习应用中也有很强的存在感。
1、型别安全:作为一个动态类型语言,Python时时刻刻求