I used to use JGrasp. I always liked the fact that it acted just like Notepad but had a button to compile Java and to run programs. It seemed extremely simple. Highlighting keywords and variables in different colors was also a very nice plus. However, there are still features about it that are missing that I wish were there.
The main screen in all its glory.
Now don't get me wrong, this program has come a long way as a compiler. It used to be that you would have to manually set the classpath of Java in your preferences. This is no longer the case as JGrasp automatically finds the JDK (Java Development Kit) for you if you have it on your computer. I remember this being a huge pain and it would deter me from actually writing any programs. So, what do I have problems with?
JGrasp does not show you errors until compile time.
This is a big one for me. Many beginners do not think to code slowly and compile often. Usually they will write write write until they have many lines of code. Then when they first go to compile, they are flooded with error messages. Errors can be very daunting to fix when the code has gotten very large, and it would take me a long time to fix my mistakes at times. Other IDE's (Integrated Development Environment) such as Eclipse show you your errors as you make them, saving a lot of time with error-fixing.
JGrasp does not use packages.
Programs are created package-less. Any class created is stand-alone and does not belong in any sort of bundle. This is very beginner-friendly, but there's one problem with this. No industry works this way! In the professional world everything will have its own package and classes will be organized in their packages. This helps to organize very large programs. Actually, I don't think it can even work with classes that belong in a package (you have to delete the code that tells what package the class is from). While it does help ease the learning process for beginners, it introduces a learning curve when those learning are ready to move on to something better.
Projects? Nope, doesn't use projects.
As I mentioned before, not organizing classes into projects is poor style and something that should be enforced. This isn't as big a deal as packages; you can just separate your class files into different folders, but this program wont care either way, and I can see many people being lazy and just stuffing all their Java files into the same folder. I know I did.
Despite all of its advances, it still compiles programs slowly. A lot of time is wasted compiling, especially when dealing with larger pieces of code. Other IDE's are already compiling on the fly, so there is less time wasted.
Those are the reasons I'm not a fan of JGrasp. You're perfectly welcome to use it of course, as it still works well and does its job. But take it from me, it was somewhat difficult for me to switch from this to a real IDE because of all the features missing. I do provide the download link for the program, so you may try it for yourself and see how you like it.