如果学大数据,最好学习哪种编程语言?是Java还是Python或者c++?

haiyicha haiyicha
414
2022-05-11
实际上,Java本来就是从C++衍生出来的, 而且Java语言的对象模型几乎就是C++对象模型的简化版。然而,C++和Java之间仍存在一些显著的差异。 java语言另辟蹊径,充分考虑程序员们为了应对复杂多变的应用开发,降低开发成本,提高代码复用,选择了编程效率优先这条...

实际上,Java本来就是从C++衍生出来的, 而且Java语言的对象模型几乎就是C++对象模型的简化版。然而,C++和Java之间仍存在一些显著的差异。

java语言另辟蹊径,充分考虑程序员们为了应对复杂多变的应用开发,降低开发成本,提高代码复用,选择了编程效率优先这条路。java语言的设计者希望语言可以做到跨平台(write once,run anywhere)。那么如何做到跨平台呢,java的解决方案是:在操作系统和应用程序间加入一层虚拟机,虚拟机负责屏蔽平台差异,而应用程序编译后生成的是字节码(bytecode),虚拟机通过加载字节码执行,这样就能够满足一份程序在不同平台都生成相同规范的字节码从而做到跨平台,此外各大商业公司、开源社区提供了功能强大的库供java程序员使用,效率能不高吗? 为了消除内存分配和内存回收工作量,虚拟机还需要负责内存的分配和回收。

Java是一种优秀的程序设计语言,相对而言,Java更容易学习,并且编程环境更为简单。

1.Java为纯面向对象的语言,能够直接反应现实生活中的对象,容易理解,编程更容易。

2.跨平台,java是解释性语言,编译器会把java代码变成中间代码,然后在JVM上解释执行,由于中间代码和平台无关因此,java语言可以跨平台执行,具有很好的移植性。

3.Java提供了很多内置的类库,简化了开发人员的程序设计工作,缩短了项目的开发时间。例如,Java语言提供了对多线程的支持,提供了对网络通信的支持,最重要的是提供了垃圾回收器,这使得开发人员从对内存的管理中解脱出来。

4.去除了C++语言中难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等,使得程序更加严谨、简洁。

Java 是纯粹的面向对象语言,它因统一的字节码文件和差异化的 JDK 而具有平台无关的特性。

Java 内置丰富的类库,使开发者效率大为提升。它支持 web,广泛应用于各大互联网企业的网站后台,像阿里美团都在使用。

Java 的安全性也很出众,通过沙箱安全模型保证其安全性,能够有效防止代码攻击。

Java 也具备很强的健壮性,比如它是强类型的,支持自动化的垃圾回收器,有完善的异常处理机制和安全检查机制。

一般学大数据首先学的就是java基础,java很多时候虽然复杂,或者是运行有些慢,但是很稳定。

总结:

Java其实也是由C++发展而来,保留了C++的大部分内容,其编程方式类似于C++,但是摒弃了C++的诸多不合理之处,从根本上解决了C++的固有缺陷。使得Java句法更清晰,规模更小,更易学,同时更趋于健壮性,安全性和平台无关性。

我的感觉是大数据用java,人工智能用python。但是编程语言选择不是很重要,性能或许有点不同。语言自身的性能常常是我们在开发复杂架构时决定到底使用哪种语言的一个关键因素,而且这一因素常常被过度夸大。实际上真正重要的是我们如何使用一种语言,正如Linus Torvalds所说,“低水平的程序员总在关心代码,而高水平的程序员则关注数据结构及其关系。”

我的标准是最早系统实现用什么语言,就用什么编程语言学习。

想一想Hadoop MapReduce,它最早用Java编写。HDFS呢?也用Java来编写。连Storm、Kafka和Spark都可以在JVM上运行(使用Clojure和Scala),这意味着Java是这些项目中的“一等公民”。另外还有像Google Cloud Dataflow(现在是Apache Beam)这些新技术,直到最近它们还只支持Java。

使用Java让你可以访问一个庞大的生态系统(包括分析器、调试器、监控工具以及确保企业安全和互操作性的库),以及除此之外的更多内容,大多数内容在过去二十年已久经考验(很遗憾,Java今年迎来21岁,我们都老矣)。

当然现在支持其他语言包的API都有,但是从历史沿革的角度看,我觉得是bigdata用java,AI用python。

欢迎讨论学习路线。

其他相关 RELEVANT MATERIAL
从知行合一的角度来看,绝大多数国人学不好英语是不是一种必然?

从知行合一的角度来看,绝大多数国人学不好英语是不是一种必然?

haiyicha haiyicha
781
2022-05-11
题主说的非常正确。语言最大的作用是交流,如果语言不用来交流,不是每天运用的话,很容易忘记。只是作为一种知识存在的语言是不能长久的。而实际运用的语言能力比学到知识的语言能力更为有用。就像是一些农村老太太,可能他们一天都没有上过学,根本不懂的什么是主语、谓语、宾语。但是他们......
宝宝几个月可以进行早教,早教内容有哪些?

宝宝几个月可以进行早教,早教内容有哪些?

haiyicha haiyicha
236
2022-05-11
宝宝应该是从生出来那一刻开始就在接受早教了吧!只是根据大脑发育的情况接受的东西不同而已,从简到繁,从少到多,却也时刻都在进步。 对孩子的早期教育是从孩子出生那一刻就开始的,不知妈妈是否问的是早教机构那种早教课? 广义地看,早教是孩子从后天环境中获得的任何有意识地对其心......
新人想学Java,但不知道Java可以做什么,有人告知一下吗?

新人想学Java,但不知道Java可以做什么,有人告知一下吗?

haiyicha haiyicha
756
2022-05-11
java主要是干什么呢? 1.可以编写系统,比如最常见办公系统,学校的各种教务系统,都可以使用java来编写。 2.编写游戏,比如比较著名的游戏《我的世界》就是用java编写的。 3.做各种app和网站后台,比如淘宝的后台。 4.要是优秀的,编写个QQ都行。 5.太多了......
学习java可以做什么?

学习java可以做什么?

haiyicha haiyicha
858
2022-05-11
诞生于1991年的Java如今已经成为世界范围内应用最为广泛的编程语言之一。java分为三大组件技术,J2SE,J2EE,J2ME。 JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)就是Java2的标准版,主......
自学java,没有项目经验怎么找工作呢?

自学java,没有项目经验怎么找工作呢?

haiyicha haiyicha
139
2022-05-11
纵观周围很多人: 第一,在中国,学什么并不一定做什么,也就是说择业范围可以无限放宽; 第二,没经验,是每个初学者所面临的问题,大部分人,都是当跟班,跟个师傅,带你进门; 第三,真想从事这一行,没经验入不了行,可以先进入一家技术性公司,哪怕进去端茶倒水都行,混熟了,你才有......
java培训班去哪里好,哪里比较专业?

java培训班去哪里好,哪里比较专业?

haiyicha haiyicha
999
2022-05-11
java是一个发展比较早的编程开发行业,一直以来发展的都比较不错。随着近年来互联网行业的伙伴发展,java也进入了一个新的发展时代,成为了世界级的流行语言之一。java的火爆发展随之而来的就是各种培训机构的成立,目前市面上的java培训班成千上万,各式各样,想要选择一个......
评论 SAY SOMETHING
年度爆文