为什么入门大数据选择Python而不是Java?

转载  更新时间:2018年03月07日 11:15:14   作者:小媛   我要评论

为什么入门大数据选择Python而不是Java?这篇文章就来谈谈学习大数据入门语言的选择,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

马云说:“未来最大的资源就是数据,不参与大数据十年后一定会后悔。”毕竟出自wuli马大大之口,今年二月份我开始了学习大数据的道路,直到现在对大数据的学习脉络和方法也渐渐清晰。今天我们就来谈谈学习大数据入门语言的选择。当然并不只是我个人之见,此外我搜集了各路大神的见解综合起来跟大家做个讨论。

java和python的区别到底在哪里?

官方解释:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Python是一种面向对象的解释型计算机程序设计语言,Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。

java和python,都可以运行于linux操作系统,但很多linux可以原生支持python,java需要自行安装。java和python强于c#的原因大于支持linux,支持osx,支持unix,支持arm。java和python比c++受欢迎的原因在于不需要指针。

不少想学习大数据的零基础学员都知道,学大数据部分课程之前要先学习一种计算机编程语言。大数据开发需要编程语言的基础,因为大数据的开发基于一些常用的高级语言,比如Java和python。不论是大数据生态架构,还是数据挖掘,都需要有高级编程语言的基础。因此,如果想学习大数据开发,还是需要着手学习一门高级语言。

那学习大数据我们到底该选择什么?

咱们再来说下大数据。目前国内很多人在说大数据的时候,实际上是把大数据技术和数据科学(含数据分析、数据挖掘、机器学习)混在一起的,许多讨论和争辩其实源于大家说的不是一个事情。  目前高等学校已经有了大数据相关的专业,名字起得也很好,叫《数据科学和大数据技术》,就是把大数据分成两个方向来看待的。数据科学侧重数学抽象和软件工具的使用,对数学和编程要求较高;而大数据技术侧重软件工程实施,对计算机和编程要求较高。虽然两个方向都强调编程,但数据科学的编程是泛编程,可以简单理解为以使用脚本语言或需要编程的软件工具(如Matlab、SAS、R),而大数据技术的讲的编程是计算机通用编程语言(如Java/C/Python),职位也更接近我们所说的程序员或者说“码农”。

根据我在知乎、简书、CNDS等等论坛上关于两者语言的讨论综合得出以下结论:

java主要用于商业逻辑强的领域,如商城系统,erp,oa,金融,保险等传统数据库事务领域,通过类似ssh框架事务代码,对商业数据库,如oralce,db2,sql server等支持较好,软件工程理念较强,适合软件工程式的多人开发模式。python主要用于web数据分析,科学计算,金融分析,信号分析,图像算法,数学计算,统计分析,算法建模,服务器运维,自动化操作,快速开发理念强,适合快速开发团队或个人敏捷模式。

Python既是一种面向对象的编程语言又因为其简单、易学、开源、脚本语言范儿的“人设”,是一种既适合数据科学又适合大数技术从业者学习的语言。

如果你想学一门语言,可以从语言的适用性、学习的难易程度、企业主的要求几个方面考虑,从这几个角度看,学习Python都没有什么可挑剔的。

从语言的适用性看,Python有个外号叫“胶水语言”,就是说Python可以随意地组合它和其它程序,它可以作为一个中间处理模块的代码把其他代码“粘合”在一个工程里面,从而快速的部署和实施。

除了在大数据和数据科学领域,它在web前端开发等领域也有广泛应用。从学习难易度来看,作为一个为“优雅”而生的语言,Python语法简捷而清晰,对底层做了很好的封装,是一种很容易上手的高级语言。

在一些习惯于底层程序开发的“硬核”程序员眼里,Python简直就是一种“伪代码”。 从企业主来看,随便打开一个大数据开发的招聘JD,你就会发现不少企业招聘大数据开发工程师时,对具体编程语言的要求已经不再严苛,一般情况下你只要熟练掌握Java/C/Python中的其中一个即可以,毕竟软件工程师的的核心能力不是语言本身而是逻辑思考能力,况且现在中间件这么多,各种语言之间的适配和转换也越来越容易,企业需要的是解决问题,而Python was born for it. 就大数据技术而言,Java在PaaS和SaaS层都有非常多的实践和应用,如果你有Java的基础,可以继续学好Java。

如果你没有Java基础,又想往大数据技术方向发展,那么你或许可以考虑把Python作为你的First language。  在数据科学领域,尤其是在深度学习领域,Python是当仁不二的选择。

当然,任何语言都不是完美的,如果你是一个拥抱变化,未来希望在数据工程和软件工程领域都有发展机遇的话,那么我建议你毫不犹豫的拥抱Python,并不断的尝试新的工具和技术。在实际使用的python入门简单,但要学会用python干活,需要再学习python各种库,pyhton的强大在于库,为什么python的库强大,原因是python的库可以用python,c语言,c++等设计,再提供给python使用,所以无论gpu运行,神经网络,智能算法,数据分析,图像处理,科学计算,各式各样的库在等着你用。

而java没有python那么多的开源库,很多库是商业公司内部使用,或发布出来只是一个jar包,看不到原始代码。python虚拟机因为编译性没有java的支持的好(或者说故意这么设计的),一般直接使用源码(linux),或源码简单打个包(如pyexe)。

小媛建议

对于初学者,尤其是没有接触过语言的人想入门大数据,个人觉得先学python,后学java。首先python作为一门脚本语言,很容易入门。编程并不是说掌握一门或几门语言就足够了,重在提高思维能力。而python容易入门,工具多,短短数行代码就可以实现一个强大的功能,增强初学者的信心,另一方面让初学者有一个对编程思维的初步理解。

在这之后再学习java,首先语法很容易入门,再者对编程有一定理解后,才更能体会到类,继承,接口,甚至之后接触各种框架,这些内容对于大型项目带来的优势。

转载声明:本文转载自「程序媛不是程序猿」

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python原始字符串与Unicode字符串操作符用法实例分析

    Python原始字符串与Unicode字符串操作符用法实例分析

    这篇文章主要介绍了Python原始字符串与Unicode字符串操作符用法,结合实例形式分析了Python针对原始字符与Unicode字符的操作符用法,需要的朋友可以参考下
    2017-07-07
  • python基础教程之Filter使用方法

    python基础教程之Filter使用方法

    这篇文章主要介绍了python基础教程之Filter使用方法的相关资料,这里对Python Filter 进行了简单实例详解,需要的朋友可以参考下
    2017-01-01
  • CentOS 6.X系统下升级Python2.6到Python2.7 的方法

    CentOS 6.X系统下升级Python2.6到Python2.7 的方法

    今天到新公司发现用的CentOS 6.X系统,默认安装的Python是2.6版本,可是我的程序引用的部分库需要2.7版本或以上,所以只能升级Python到2.7版本了,现在将升级的步骤分享给大家,有需要的朋友们可以参考借鉴。
    2016-10-10
  • Python中类的初始化特殊方法

    Python中类的初始化特殊方法

    本文给大家介绍一下Python中类才初始化时候的特殊方法,通过实例给大家做了分析,一起来学习下。
    2017-12-12
  • django 删除数据库表后重新同步的方法

    django 删除数据库表后重新同步的方法

    今天小编就为大家分享一篇django 删除数据库表后重新同步的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python中Switch/Case实现的示例代码

    python中Switch/Case实现的示例代码

    本篇文章主要介绍了python中Switch/Case实现的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • python3+PyQt5实现文档打印功能

    python3+PyQt5实现文档打印功能

    这篇文章主要为大家详细介绍了python3+PyQt5实现文档打印功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 解决Pycharm中import时无法识别自己写的程序方法

    解决Pycharm中import时无法识别自己写的程序方法

    今天小编就为大家分享一篇解决Pycharm中import时无法识别自己写的程序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python 模拟登陆的两种实现方法

    Python 模拟登陆的两种实现方法

    这篇文章主要介绍了Python 模拟登陆的两种实现方法的相关资料,这里提供两种方法一个是普通写法写的,另外一个是基于面向对象写的,模拟登录成功后才可能抓取内容,需要的朋友可以参考下
    2017-08-08
  • Python实现一个简单的验证码程序

    Python实现一个简单的验证码程序

    这篇文章主要介绍了Python实现一个简单的验证码程序,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11

最新评论