Q:学校里的大佬学长说他们搞大数据基本是python,java很少,但一个培训机构的老师说大数据的许多框架都是java写的,本人有python的基础,想学大数据的方向,培训机构那边的课是用java的,而且钱已经交了 所以到底学大数据要不要java呢,我要怎么选择?
A:首先我们先区分一下概念。目前国内很多人在说大数据的时候,实际上是把大数据技术和数据科学(含数据分析、数据挖掘、机器学习)混在一起的,许多讨论和争辩其实源于大家说的不是一个事情。
目前高等学校已经有了大数据相关的专业,名字起得也很好,叫《数据科学和大数据技术》,就是把大数据分成两个方向来看待的。数据科学侧重数学抽象和软件工具的使用,对数学和编程要求较高;而大数据技术侧重软件工程实施,对计算机和编程要求较高。虽然两个方向都强调编程,但数据科学的编程是泛编程,可以简单理解为以使用脚本语言或需要编程的软件工具(如Matlab、SAS、R),而大数据技术的讲的编程是计算机通用编程语言(如Java/C/Python),职位也更接近我们所说的程序员或者说“码农”。
Python既是一种面向对象的编程语言又因为其简单、易学、开源、脚本语言范儿的“人设”,是一种既适合数据科学又适合大数技术从业者学习的语言。
如果你想学一门语言,可以从语言的适用性、学习的难易程度、企业主的要求几个方面考虑,从这几个角度看,学习Python都没有什么可挑剔的:
就大数据技术而言,Java在PaaS和SaaS层都有非常多的实践和应用,如果你有Java的基础,可以继续学好Java。如果你没有Java基础,又想往大数据技术方向发展,那么你或许可以考虑把Python作为你的First language。
在数据科学领域,尤其是在深度学习领域,Python是当仁不二的选择,具体可以看相关技术文章,此处不在赘述。
当然,任何语言都不是完美的,如果你把任何一门语言作为一个软件工程师的全部,你显然会喝了别人藏好的“毒”。如果你是一个拥抱变化,未来希望在数据工程和软件工程领域都有发展机遇的话,那么我建议你毫不犹豫的拥抱Python,并不断的尝试新的工具和技术。
作者:数据小咖,此文来自作者在知乎上的一篇答复文章