我在刚开始学习 java 那会,会纠结这样的一个问题,我该用什么来写 java 程序呢?那时候看的视频教程和书籍,刚开始都是用记事本来演示以下这个经典的程序代码:
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!");
}
}
那时候我就在想,难道当前写 java 就用记事本了,这显然不太迷信啊,而后看看前面的视频教程或者书籍,都提到了一个叫做 eclipse 的集成开发工具。
我想这才是开发 java 程序的正规军吧,而后本人百度搜了一下 eclipse,因为本人过后对集成开发环境真的没有什么概念,不晓得到底是个啥,总感觉它性能很弱小,我过后从百度得悉,它是个这:
说实话,当初的我看了这些仍然感觉懵,感觉对它还是有点含糊,可能当初很多人说到集成开发环境都晓得是个啥,然而对于过后的我来说,因为自身接触到的编程常识就比拟少,所以对于一些专业名词,的确有点含糊。
那么,这个集成开发环境到底是个啥呢?上面我就艰深的给大家说一下集成开发环境到底是个啥?
咱们平时其实很少说 集成开发环境,咱们个别会说IDE。
完了,IDE 是个啥,在这里我要说下,在编程开发中的很多概念名词其实都是来源于它的英文首字母缩写,举几个简略的例子:
JDK:是 Java Development Kit 首字母简称。
JRE:是 Java Runtime Environment 首字母简称。
对于 JDK 和 JRE 咱们在上一篇文章中就具体的介绍过了。你看,这些都是英文单词的首字母的缩写,也就是一个简称,所以 IDE 也是如此,集成开发环境的英文全称是:Integrated Development Environment。
留神啦,首字母缩写就是 IDE,所以说 IDE 其实就是集成开发环境。
ps:当初公认的开发 java 的支流 IDE 是 IDEA,有些人会被这个弄迷糊,IDE 和 IDEA 只差一个字母啊,IDEA 其实全称是 IntelliJ IDEA,它是一款商业化(就是须要付费能力应用残缺的性能版本)的 java 集成开发环境,大家平时很少说全名,间接就叫 IDEA 了。
那么集成开发环境有啥用呢?说简略点,集成开发工具就是个软件,是用来帮忙你开发程序的,应用它你能够更快的开发程序,因为它提供了很多的性能,比方如果咱们不应用 IDE,而是应用记事本本人写一个 java 源代码,那么咱们须要手动输出以下指令来编译运行它:
javac HelloWorld.java
java HelloWorld
要晓得,如果咱们应用 IDE 的话,咱们只须要点击一个按钮,这个 IDE 就会主动帮咱们实现这些指令。
当然,除此之外,IDE 提供的性能还有很多,会让你的开发效率大大晋升,总的来说,编程开发,最终肯定是要应用 IDE 的。
那么,为啥我刚开始看的那么多的视频教程和书籍,刚开始的代码演示都是应用记事本而不是应用 IDE 呢?
我当初这么纳闷,想必也有其余搭档有这样的纳闷,既然 IDE 那么弱小,为啥不间接应用 IDE 呢?还要应用记事本。
其实,这就关涉出了一个问题,始终存在争执的问题:
老手编程,是该用 IDE 还是记事本呢?
对于这个问题,早在咱们之前,就有很多人在争执了,有人反对应用 IDE,有人反对应用记事本编程,对了,这里是有个前提的,在刚开始学习编程的时候,而不是过了入门阶段了,如果过了入门阶段,比方要做一些残缺的我的项目之类的,那是必须上手 IDE 的。
那么,是该用 IDE 还记事本呢?
《疯狂 java 讲义》一书中对这个问题,有这样的形容:
对于 java 语言的初学者而言,这里给出一个忠告:不要应用任何 IDE 工具来学习 java 编程,在 Windows 平台上能够抉择“记事本”程序。
作者的意思很明确,对于 java 初学者而言,不倡议应用 IDE,应用自带的记事本即可,作者还举了这样一个例子:
已经看到一个在某培训机构曾经学习了 2 个月的学生,连 extends 这个关键字都拼不进去,不禁令人哑然,这就是依赖 IDE 工具的结果。
所以作者倡议 java 初学者,千万不要对 IDE 工具产生依赖,否则就会呈现上述的状况。
可能有些小白不晓得咋回事,为啥会这样呢?应用 IDE 怎么会造成这样的状况呢?我这里简略给小白解释一下。
对于 IDE 来说,它有个重要的性能就是代码提醒和补全,说的直白点就是你写代码的时候,比方你想输出 extends,然而你只有输出 ext 就能够给出提醒,就像这样:
你看,你并不需要残缺的输出 extends 就能够获取这个关键字,那么对 java 初学者而言,因为自身对 java 的一些关键字就不相熟,再加上如果你对英语单词不敏感的话,脱离了 IDE 的主动提醒,让你去手写,很有可能写错或者写不进去。
那么如果是应用记事本呢?因为记事本的性能很繁多,没有什么主动提醒,都须要你一个字母一个字母的写,所以如果你写错了,那么程序编译是会出错的,这样你就晓得你对哪个单词不相熟,你就会分外留神它,从而加深对它的印象,再加上常常残缺的去写它,那么一回生二回熟,你也就不会遗记了。
所以这就成了那些不反对初学的时候应用 IDE 的一个起因之一,那么除此之外,不反对初学就应用 IDE 的一个起因就是 IDE 因为功能强大,封装了很多性能,因而让初学者看不到一些执行细节,就比方之前举的那个例子。
如果不应用 IDE,那么你就要手动输出 javac 和 java 指令来编译执行 java 程序,那么应用 IDE 的话,一个按钮就搞定了,这样带来的一个问题就是,初学者基本不晓得点击了按钮之后干了什么,而应用记事本的话,起码初学者晓得 java 程序的执行是因为输出了 javac 和 java 指令造成的。
所以,应用 IDE 会让初学者对一些底层执行感到纳闷,不利于他们的学习。
那么,那些反对应用 IDE 的就说了,应用记事本编程并不能帮忙你了解编译原理和操作系统原理,看上去只能是让你对一些罕用单词写法记得更加牢固,因为你须要本人完完整整的把单词都写一遍,然而这些相比拟你失去的工夫和效率基本不值一提,因而这种做法是不值得的。
更狠的则提问:“既然有了记事本,为啥还要创造 IDE 呢?”
那么,到底是用记事本还是 IDE 呢?可能你马上也要纠结了,接下来我简略说下我的认识:
首先,那些不反对初学者应用 IDE 的大抵因为如下起因:
1、IDE 会暗藏一些实现细节,对老手不敌对
2、造成老手对 IDE 的依赖,导致根底不扎实,可能最简略的一些关键字都写不进去
3、反正就是不利于老手的学习。
而那些反对应用 IDE 的大抵是因为如下的起因:
1、应用记事本也并不能让老手理解底层实现
2、应用记事本效率低下,弊大于利
3、应用 IDE 能够进步学习效率
其实吧,说到底,咱们的留神点应该是语言自身,也就是要把重点放在 java 这门语言上,工具始终只是工具,如果你对语言自身把握的很透彻,应用什么工具就不会对你造成那么大的困扰了,因而,首先要留神的就是分清重点,你要学的是语言而不是工具。
那么在学习语言的根底上有个好工具那也是精益求精的事件啊,** 所以我这里给出我具体的认识:
**
1、刚刚接触 java 阶段,这个时候应用记事本,最起码要在下面写进去一个 java 的经典程序,而后应用 javac 和 java 命令去编译和执行,你要晓得一个 java 源代码是怎么变成字节码的,又是怎么执行的,应用的 jdk 中的哪些工具,这个是你肯定要晓得的,而且必须要会本人操作。
2、学了一段时间之后,就能够不应用记事本了,这里也临时不举荐应用 eclipse 或者 idea,这个时候能够应用折中一些的工具,就目前来说 VSCode 是个十分不错的工具,举荐应用 VSCode,VSCode 也是有代码提醒的,为了帮忙老手锤炼对 java 一些常见代码的相熟度,大家能够把主动提醒的性能敞开掉,其实我感觉没有必要关掉,你只须要记住,刚开始阶段,大部分的代码你都要本人试着去敲,即便有提醒,也不要间接一步到位,本人要把单词写残缺,因为有提醒,也能够对照本人写的是否正确。
3、到了前期学习,比方学完根底了,能够做一些简略的我的项目了,举荐应用 IDEA,做 java 的,就目前来说,当前还是要把 IDEA 作为次要生产力工具的。
说了这么多,其实情理也很简略,作为初学者,肯定会有很多不相熟和不懂得中央,所以在学习的时候,咱们要有急躁,不可浮躁,更加不能偷懒耍滑,要多写写代码,造就本人的手感,要牢记,后期肯定要好高鹜远的打牢根底,只有这样,前面的路才会走得顺畅。
好啦,以上就是我的一些认识,对于此,你有什么样的认识或者倡议呢?欢送留言交换!
须要学习材料的能够私我,或者评论区扣 1!