你好,游客 登录
背景:
阅读新闻

Python or Java? 真的没有那么重要

[日期:2019-07-21] 来源:  作者: [字体: ]

大数据开发时,Java、Python,还是Scala,哪门语言会更好呢?

这是很多大数据初学者纠结的一个问题。

说实话,就这3门语言而言,没有更好只有更适合

  • 如果你之前就是Java程序员,那么Java无疑是快速入门的最佳选择;

  • 如果你很在意语言的灵活性和简洁性,那么Scala可能更适合你;

  • 如果你希望能快速上手,那么Python可能更合适;

  • 如果你之前都对这三门语言都没有接触过,那么,从中选择其中的一门即可。

因为,因为,对于大数据开发而言,语言真的、真的不是最重要的

那重要的是什么呢?

重要的是:程序设计方法+平台+业务知识

这个道理很简单:就如同我们每人都会写字一样,但只有少数人,能成为作家

1. 程序设计方法

程序设计方法涵盖的面很广:

例如,我们面对一个复杂问题时,如何将其拆解,以迭代和螺旋的方式来进行开发;

又比如,如何使用面向对象的思想和技术,来简化程序实现;

还有,如何面对复杂的逻辑,如何使用合适的数据结构+算法来简化实现;

此外,面对巨大的计算量时,如何使用并行或分布式处理,来提升程序效率。

以上方法,不管是哪种语言,同样适用。

它们是和具体语言没有绑定的,是位于具体语言之上的。

不管语言如何变,它们是不变的。

2. 平台

这里的平台分两个层次:

一个则上层的业务平台,如大数据处理平台、消息平台、海量数据存储平台等。

以Spark为例,Spark是目前事实上的大数据处理通用平台,它对外提供了Java、Python和Scala接口,不管是哪种语言,都可以调用它的接口。

但是,不管是哪种语言,都必须了解Spark的运行机制、代码运行处理过程、数据处理流程、核心概念和数据结构,这些相对语言而言,是更重要的。

另一个层次,则是业务平台之下的操作系统,在大数据开发领域,Linux占据了重要的位置,那么对于Linux的基本命令、运行机制、性能参数调优这些是需要重点掌握的,它们和具体语言也没有直接关联。

因此,以上平台和具体语言也是没有紧密关联的。也是位于具体语言之上的。

当然,如果要深入平台内部机制,还是需要掌握编写该平台的语言,例如Spark是Scala编写的,如果要读Spark源码,掌握Scala的基本语法是必须的。

但是,从外部使用而言,选择哪种语言不是特定的。

3. 业务知识

业务知识属于更高的层次,它们属于领域知识。

例如,大数据开发面向不同的领域,如金融大数据领域,安全领域,智能处理领域、搜索领域等等,不同的领域,有其特定业务知识。

以金融风控为例,除了金融基础外,还要具备市场、信用风险等专业知识,要熟练掌握各种金融风险模型的原理、使用和调优等等。

虽然在使用中,可能要用到某一门语言,如Python,但语言本身已经不是最重要的了,语言后面的专业知识才是最为关键的。

总之

对于我们初学者而言,千万不要在选择语言上纠结,浪费时间

不管是哪种语言,在掌握其基本使用后,要将精力放置在增长:提升程序设计水平+熟悉平台+增进业务知识上,这些才是一个大数据专业人才的核心竞争力

毕竟,我们要的是能解决具体问题的领域专家,而不是语言专家

艾叔大数据系列

什么样的数据可以称为“大数据”?

大数据开发的通用步骤

新公众号,没法留言,如果你想和艾叔交流的话,可扫码私信,咱们微信见

Ps:艾叔不是高手,也不是牛人,编程的道路上,走了很多弯路,也踩了很多坑,如果你也和艾叔当年一样,欢迎关注公众号

如果你觉得本文有用,分享给需要的人。

你的分享点赞,是对艾叔最大的支持和鼓励

收藏 推荐 打印 | 阅读:
相关新闻