ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

为什么每个语言都要和Java作比较?一文带你搞懂!

2021-05-27 16:57:19  阅读:141  来源: 互联网

标签:Java 一文 编程语言 编程 面向对象 面向 搞懂 语言


在这里插入图片描述

【此文章转自乐字节】

对编程有兴趣或者是有一定了解的同学都知道,编程语言界会有各种各样的比较,但是播妞发现,各大编程语言都喜欢和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,就算用更容易学会的编程语言找到工作,也能用Java给自己的加分。

注:每周福利均会更新,更多福利等你领取,更多技巧,欢迎在评论区一起交流!

+君羊前面三位606,中间三位846,后面三位127,进君羊暗号T123,领取Python ,web前端开发,Python爬虫,Python数据分析,人工智能,Java项目,Java基础等精品学习课程。带你从零基础系统性的学好Python,Java,web前端!做一名牛逼的程序员!

END
祝大家学的愉快,学的神速。
有帮助的话,各位小伙伴可以点个赞收藏支持下啦!❤️
也欢迎关煮lili,一个在变秃,但能带你变强的程序员~
今天先说这么多,我是乐字节哩哩,一个有趣的灵魂!下期见!

最后给大家推荐几个B站超详细的Java、大数据、python等自学课

从Java零基础到项目实战哦【b站BV: BV1CB4y1A7sk】

十大企业级项目自学课【b站:BV14K411F7HJ】

超棒的前后端分离项目【b站:BV1zf4y1p7wC】

大数据全套完整版【b站:BV1aK4y197TP】

python小白入门到精通完整版【b站:BV1Sp4y1W77E】

将bv号,复制去b站即可

标签:Java,一文,编程语言,编程,面向对象,面向,搞懂,语言
来源: https://blog.csdn.net/weixin_53173799/article/details/117332273

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有