为什么都说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 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

GB2312转换成UTF-8与utf_8转换成GB2312

1911
来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2369
来自专栏跟着阿笨一起玩NET

C# 通过HttpWebRequest在后台对WebService进行调用

http://www.cnblogs.com/macroxu-1982/archive/2009/12/23/1630415.html

2792
来自专栏菩提树下的杨过

MSDN官方的ASP.Net异步页面的经典示例代码

示例1.演示异步获取一个网址的内容,处理后显示在OutPut这一Label上 using System; using System.Web; using S...

1995
来自专栏跟着阿笨一起玩NET

C#巧用Excel模版变成把Table打印出来

转载:http://blog.csdn.net/gwblue/article/details/38865525

1222
来自专栏飞扬的花生

日志帮助类

 1.代码 using System; using System.Collections.Generic; using System.Linq; using S...

1919
来自专栏我和未来有约会

silverlight向服务器post数据类

using System; using System.Net; using System.Windows; using System.Windows.Co...

1975
来自专栏跟着阿笨一起玩NET

去除DataTable中重复字段

               DataTable tbl = new DataTable();                 tbl.Columns.Add(...

741
来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

23710
来自专栏谈补锅

记录C#常用的代码片段

using Newtonsoft.Json; using Newtonsoft.Json.Linq;

942

扫码关注云+社区