美国上市公司,专注Java培训22年

Java使用率为什么这么高


Java是不是一门简单易学的、易上手的编程语言?

作为一个超过10年以上工作经验的Java开发者,我觉得应该可以来回答一下。

首先说结论;Java绝对不是最容易学或者最容易上手的语言。

我们稍微观察最近几年开始大规模进入大家实现的几门新兴编程语言,包括Python,包括苹果主推的Swift等等,它们在宣传初期都不约而同的喜欢怼一下Java,并且理由出奇一致:

我们只需要一句话就能写出hello world,但是Java需要定义类,定义方法,在方法内写输出,然后创建类的对象,再调用方法,实现输出。所以你看,我们这门语言多么简洁和高效。

我想这也是很多新人不喜欢Java的原因。但是我们不妨深究一下Java为什么在最初的时候就被设计成这样,顺便也能回答题主的问题。

没错,Java最初的理念是脱胎于C++的。C++最大的成功之处是它是一门面向对象的语言。什么是面向对象?万事万物皆对象。用面向对象的思想能够在最大程度上模拟真实的现实世界。如果我们把“人”看成一个“类”,那么你我他、小张小李、隔壁练腰的老王都是这个类的独立“对象”。

身高肤色腿长就全都是这些“对象”的“属性”,而吃饭睡觉工作等等行为就都是这些“对象”的“方法”——方法用来操控对象的属性,从而使对象做出一定的行为。众多对象的行为相互影响,就能做出更加惊天动地的事情——马爸爸这个“人类”的“对象”,用“说话演讲”这一方法,成功影响了十八罗汉们的“工作”这一方法,并提升了他们的“努力值”属性,最终造就了现在的阿里帝国。

这就和我们玩升级打怪的游戏一样,对吧。

而C++又是来源于C语言的。C语言没有面向对象的概念,是一门纯粹的“面向过程”的编程语言。我相信很多新手对“面向过程”这个概念都不甚了解。实际上在早期,编程的世界全部都是面向过程的,人们用程序语言直接去处理业务逻辑。

你说需要在寄存器里放进去一个变量?好吧,我先看一下寄存器是否还有空间,如果没有的话,要看看哪些不再使用了,可以取出来,腾出空间,再把新变量放进去。这些操作在面向过程的编程思想中,每一次操作都可以只对应一条编程语句或是一小段简单的逻辑块。

如何把大象放进冰箱?打开冰箱门,把大象放进去,关上冰箱门——这就是面向过程的思维方式,更直接了当。

C语言是面向过程的语言,C++提出了面向对象的概念,但是仍然保留了面向过程的设计思想,而Java是纯粹的面向对象语言,没有面向过程的踪影了,它封装了它们,程序员不再那么容易看得到了。

这也是为什么C++和Java在面世之初,被人们称为“高级编程语言”的原因之一。

而前面所提到的一些新兴编程语言,它们所标榜的高效和简洁,其实就是典型的面向过程的编程思想。这也是新手们更容易接受和喜闻乐见的东西——简洁——别忘了推广语言也是需要宣传的,某些时候这真的只是宣传口径而已。

但是你会发现一个很有意思的地方,如果你去苹果官方的Swift网站查看,会发现苹果仍然将这门语言称为面向对象的编程语言,事实上确实它也支持面向对象的编程方式——尽管你能在它的很多官方文档里看到大量的面向过程的编程思想。

想想为什么这些语言一边标榜自己比Java更简洁,又要一边说自己是面向对象语言呢,这不是左右互搏么。

其实是面向对象的方式虽然看起来冗长复杂,但是它更接近人类的自然思维模式,这一点如果不能深刻理解面向对象概念的话,是很难体会的。但是它确实在软件领域能够解决很多更大规模和复杂的事情——数一数有多少互联网巨头在发展之初都是使用更简洁的编程语言,但最后发展到一定的规模后,都不约而同在底层基础架构层面转向了Java吧,他们应该没有串通好或者被Java收买。

其实编程只是软件工程工作过程中的一个环节,而语言又只是编程的工具,没有好坏之分,只有合适不合适。

新人出于本能选择更简单更容易上手的语言是很正常的,但是想要在这一行业内做出成绩来是需要巨大的付出的,但这已经和语言无关了。

免责声明:内容来源于网络,若涉及侵权联系尽快删除!


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • Java设计模式和应用场景?
    Java设计模式和应用场景?
    Java设计模式和应用场景?Java设计模式是软件工程中常用的一套问题解决方案,它们可以帮助开发者提高代码的可读性、可维护性和可扩展性。设计模式通常分为创建型、结构型和行为型三种类型。下面是一些常见的设计模式及其应用场景: 详情>>

    2024-06-24

  • Java主流框架都有哪些?
    Java主流框架都有哪些?
    Java主流框架都有哪些?Java作为一门历史悠久的编程语言,拥有众多成熟且广泛使用的框架,这些框架极大地简化了软件开发过程,提高了开发效率。以下是一些主流的Java框架: 详情>>

    2024-06-24

  • C++和Java哪个更值得学?
    C++和Java哪个更值得学?
    C++和Java哪个更值得学?C++和Java都是非常流行和强大的编程语言,它们在不同的应用领域和环境中都有广泛的使用。选择学习哪种语言更值得,取决于你的个人兴趣、职业目标和项目需求。下面是两者的比较,以帮助你做出决定: 详情>>

    2024-06-24

  • Java前端和后端的区别
    Java前端和后端的区别
    Java前端和后端的区别?Java作为一种广泛使用的编程语言,其在软件开发领域中的应用非常广泛。在Java的生态系统中,前端和后端的区分与大多数编程语言一样,主要基于开发的角色和工作内容的不同。 详情>>

    2024-06-24

  • Java开班时间

    收起