大数据用什么编程语言
如果学大数据,最好学习哪种编程语言?是java还是python或者c++?
我的感觉是大数据用Java,人工智能用Python。但是编程语言选择不是很重要,性能或许有点不同。语言自身的性能常常是我们在开发复杂架构时决定到底使用哪种语言的一个关键因素,而且这一因素常常被过度夸大。实际上真正重要的是我们如何使用一种语言,正如Linus Torvalds所说,“低水平的程序员总在关心代码,而高水平的程序员则关注数据结构及其关系。”
想一想Hadoop MapReduce,它最早用J***a编写。HDFS呢?也用J***a来编写。连Storm、Kafka和Spark都可以在JVM上运行(使用Clojure和Scala),这意味着J***a是这些项目中的“一等公民”。另外还有像Google Cloud Dataflow(现在是Apache Beam)这些新技术,直到最近它们还只支持J***a。
使用J***a让你可以访问一个庞大的生态系统(包括分析器、调试器、监控工具以及确保企业安全和互操作性的库),以及除此之外的更多内容,大多数内容在过去二十年已久经考验(很遗憾,J***a今年迎来21岁,我们都老矣)。
当然现在支持其他语言包的API都有,但是从历史沿革的角度看,我觉得是bigdata用j***a,AI用python。
欢迎讨论学习路线。
实际上,J***a本来就是从C++衍生出来的, 而且J***a语言的对象模型几乎就是C++对象模型的简化版。然而,C++和J***a之间仍存在一些显著的差异。
j***a语言另辟蹊径,充分考虑程序员们为了应对复杂多变的应用开发,降低开发成本,提高代码复用,选择了编程效率优先这条路。j***a语言的设计者希望语言可以做到跨平台(write once,run anywhere)。那么如何做到跨平台呢,j***a的解决方案是:在操作系统和应用程序间加入一层虚拟机,虚拟机负责屏蔽平台差异,而应用程序编译后生成的是字节码(bytecode),虚拟机通过加载字节码执行,这样就能够满足一份程序在不同平台都生成相同规范的字节码从而做到跨平台,此外各大商业公司、开源社区提供了功能强大的库供j***a程序员使用,效率能不高吗? 为了消除内存分配和内存回收工作量,虚拟机还需要负责内存的分配和回收。
J***a是一种优秀的程序设计语言,相对而言,J***a更容易学习,并且编程环境更为简单。
1.J***a为纯面向对象的语言,能够直接反应现实生活中的对象,容易理解,编程更容易。
2.跨平台,j***a是解释性语言,编译器会把j***a代码变成中间代码,然后在JVM上解释执行,由于中间代码和平台无关因此,j***a语言可以跨平台执行,具有很好的移植性。
3.J***a提供了很多内置的类库,简化了开发人员的程序设计工作,缩短了项目的开发时间。例如,J***a语言提供了对多线程的支持,提供了对网络通信的支持,最重要的是提供了垃圾回收器,这使得开发人员从对内存的[_a***_]中解脱出来。
4.去除了C++语言中难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等,使得程序更加严谨、简洁。
J***a 是纯粹的面向对象语言,它因统一的字节码文件和差异化的 JDK 而具有平台无关的特性。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/16017.html