为什么都说java比较容易入门?

说java比较容易入门的人,应该都是正常的人,因为相比之下,java有着不可比拟的优势,对于编程新手来说这个优势,可以让他们更快的用java语言写出他们自己的东西,而且bug不多,并且不容易出现致命的问题;

那么java到底有什么优势呢?说到优势,我们就需要再看看与之相对比的语言看看他的优势到底是什么?

先来说说当下的主流开发语言:

C,C++,JAVA

那么以上这三种都是高级语言了,但是相比之下c是一个高级语言中的低级语言,他就好像183的身高站在了NBA的队员里,单拿出来是挺高但是在这里面就是低的了;

先来看看,C语言的特性吧:

1.有方法,没有类的概念;

2.具有强数据类型的概念;

3.具有强正负号的概念;

4.具有强大小写的概念;

5.指针与内存管理的概念;

6.编译型语言;

那么这个就是一入门就必须要会的东西,因为不会这些东西这个语言不算入门;不会这些东西也不能开发出东西来,还有什么多线程等概念这些不属与入门级别的;也就是说这个语言只是一些基础的语言,没有提供特别多的库方法共开发者使用;

下面在来看看C++的特性:

1.有方法,有类的概念(有类就有多态,继承与封装);

2.具有强数据类型的概念;

3.具有强正负号的概念;

4.具有强大小写的概念;

5.指针与内存管理的概念;

6.编译型语言;

那么c++入门也需要会上面东西,当然他能做的东西开发速度就会比c强一些,因为有类的概念所以,而且提供的类库也比c强很多,所以他相对c来说更像一个正常的人开发出来的东西,但是小编认为c++要比c难一些因为,他相对与c来说需要学的东西只增不减;

最后再来看看java的特性:

1.有方法,有类的概念(有类就有多态,继承与封装);

2.具有强数据类型的概念;

3.具有强正负号的概念;

4.具有强大小写的概念;

5没有指针与内存管理;

6.多了虚拟机的概念;

7.编译型语言;

那么java看看他的优势相对与c或c++是什么呢?一对比就看出来了,没有指针的概念;多了一个虚拟机的概念;那么也就是这两个概念让java彻底的把门槛降低了,为什么?首先来说说指针。

指针的概念:指针是指向计算机内存中的地址的名字,他操作的是内存,学习编程的人都知道指针的难学程度不亚于 高中物理的三场混合应用题;让人头疼不已,而且要命的是用不好很容易出现内存泄漏,野指针,让程序出现各种各样的问题;不要说新手一些工作了几年的人对指针的问题想想头就疼;那么在java中没有了取而代之的是虚拟机,什么事都由虚拟机来做,内存的分配与管理都是他的活;而且有了虚拟机,可以让你的程序之编译一次就可以在不同平台运行,不像前两个需要换平台就要重新编译,对编译器也有一定的要求,而且编译的时候出现的问题也是很郁闷的;

所以正常的说来,Java就是比c与c++要入门一些,而且可以做的事情也很多,但是针无两头利,java也有弊端,就是他的速度运行速度相对c++与c就差一些了,与硬件的要求就相对高一些;总之呀越容易上手的语言运行速度就相对要慢,因为他们都是万变不离其中,到最后寄存器中都是00101010101010,这个东西,像java给人用的是java 中间就要经过 c++,c,汇编,最后到01001010101,所以他的速度要慢;还有更容易上手的语言js他简单到,没有数据类型的概念,没有编译的概念, 写就是说写完就可以直接运行;当然速度也是不快;

好了说了这么多,相信我已经跟朋友解释明白了为什么java好入门的原因了,至于朋友们要学什么语言还是要根据自己的爱好,有的人就是喜欢玩指针觉得很帅,自己写的代码别人看不懂,多酷当然也不是不可,条条大路通罗马,各位看官自己把握吧;

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-09-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

MySQL数据清理的需求分析和改进

昨天帮一个朋友看了MySQL数据清理的问题,感觉比较有意思,具体的实施这位朋友还在做,已经差不多了,我就发出来大家一起参考借鉴下。 为了保证信息的敏感,里面的...

2815
来自专栏云飞学编程

Python的面向过程、面向函数、面向对象的区别浅谈

有人之前私信问我,python编程有面向过程、面向函数、面向对象三种,那么他们区别在哪呢?这个问题,让我想起我在学习编程的时候,我的老师给我举的例子。分享给大家...

872
来自专栏积累沉淀

storm概述

1.Storm是什么,应用场景有哪些?        2.Storm有什么特点?        3.spout发出的消息后续可能会触发产生成...

1919
来自专栏云计算

微服务的模式 - 同步与异步

微服务是一种架构范例。在这种架构中,多个小型独立组件协同工作,从而构成一个系统。尽管它的操作复杂性较高,但这种范式已经被迅速采用。这是因为它有助于...

5352

两个有用的数据概念

多年来我一直在反复考虑各种技术解决方案,并且在选择和构建管理数据的技术解决方案时发现它们很有用。它们帮助我构建,并从技术解决方案中向我提供我需要的信息。

1430
来自专栏idba

数据库系统中的“黑天鹅”

一 前言 纳西姆.尼古拉斯.塔勒布的经典著作《黑天鹅》中对“黑天鹅现象”的定义是

773
来自专栏后端技术探索

如何解决秒杀的性能问题和超卖的讨论

最近业务试水电商,接了一个秒杀的活。之前经常看到淘宝的同行们讨论秒杀,讨论电商,这次终于轮到我们自己理论结合实际一次了。

771
来自专栏aCloudDeveloper

virtio 简介

我的微信公众号 aCloudDeveloper 专注于云计算技术,互联网技术,生活感悟,打造干货分享平台,每周至少一更,欢迎小伙伴们多多关注! 什么是 vir...

3692
来自专栏喔家ArchiSelf

IoT设备的自我测试

东西坏了,事情也出了差错。 简单的说就是 XX发生了。 不管用什么词,事实上我们都生活在一个不完美的世界里。 在嵌入式系统中,有很多失败的可能。 在简单的系统中...

793
来自专栏JAVA高级架构

分布式架构--基本思想汇总

541

扫码关注云+社区