An IDE (Integrated Development Environment) is a single program that wraps
everything you need to program with. An IDE usually consists of a code editor,
debugger, and a compiler. A good IDE can make you more productive. Without a IDE
you would be stuck writing all of your apps in notepad and compiling via command
line – which is not bad for learning how to program. A good IDE has syntax
highlighting which makes the code easier to read and error highlighting which
makes finding that missing semi colon easier. Here is a list of three IDEs that
work well for me.

NetBeans
--------

NetBeans is the most productive IDE for large java projects. NetBeans is great
at detecting errors in your code. You can also have multiple projects open in
the same window which is great for anyone who is constantly flipping between
projects – even if they are in different coding languages. This is a must have
program for everyone looking to develop Java. This program also supports PHP,
JavaScript and C/C++.

![NetBeans IDE](media/2a20326e77c3f67aa3753401ba4bc612.png)

Eclipse
-------

Eclipse is a very popular programming IDE; however, it is harder to use than
NetBeans. The largest benefit of Eclipse is that it has tons of templates for
you to use. Eclipse also has a better GUI creation tool than NetBeans has.

![Eclipse](media/f5cb2682e219549cb07acd1d01c2ccb1.png)

JCreator
--------

I want to warn you that this is a old IDE. You hate yourself if you decide to
use this program. The only reason I am putting this on my list is because I
think it is great for teaching people how to program – it’s what my high school
used. Unlike Eclipse and NetBeans, it gives you very little help when writing
your code. There is no autocompletes or dropdowns when you are accessing members
of an object. This does not even give you red highlights when you have a syntax
error. What it instead shows you is the errors that you would receive in the
command line when you compile this project. This is great for AP Computer
Science students who have to memorize/learn what certain errors mean.

![JCreator](media/c1e712bdead908ebd72921ec2d1cbd5e.png)

Intellij
--------

\*Update 2018

I have converted to a full time Intellij user since writing this article in
2015. This program is simply fantastic in every aspect – expect ram usage. If
you have never heard of Intellij or any of the other JetBrains products I would
highly recommend you check them out. The main reason I switched was because
Intellij could scale nicely to 4k and NetBeans did not. The user experience
overall feels nice.

![Intellij](media/2a96900bae1e8946a1df243d8318e69f.png)
