Followers 0

# Is it bad to use an IDE when you're just starting out with programming in Java?

## 20 posts in this topic

The book I am thinking about buying to learn how to program in Java advises the reader to avoid using any IDE such as NetBeans or Eclipse. Instead, it recommends the use of a simple code editor such as TextPad or Notepad++. It says IDEs, while they make programming easier and more efficient, don't allow the beginning programmer to learn as much. Do you agree with this?

http://www.barnesandnoble.com/w/ivor-hortons-beginning-java-ivor-horton/1102164532?ean=9780470404140

2

##### Share on other sites

I agree that an IDE can make things seem more complicated than they are/should be, but with the right guidance an IDE is fine.

If you take some time to read about the different parts of Eclipse or Netbeans, and how their UI's are laid out, you'll be fine, perhaps even better off than without using an IDE.

It won't be long before you'll encounter an error, or before you'll want to add a break to a line, enbaling you to step through every statement in your code - and that's much more complicated without an IDE, IMO.

The things you need to focus on from the beginning, regardless what IDE you'll be using, is (1) The code view (that main area that you can type into) like mainstream text editors, it allows a tab for every open source file.

(2) The project explorer (that bit showing your project, the contained packages and the source files as a tree structure)

(3) Basic project settings, where you can add some jars to extend your project with. This will be more important later on, but it's essential for setting up a project in the first go.

The rest will in my experience both as a TA and a developer come gradually.

Of course, for the very first steps it may be easier for some to go without an IDE, like Nercury says. Check Oracle's first lesson on the topic. But again, I wouldn't call it a gamebreaker if you start with an IDE.

2

##### Share on other sites

An IDE is not for learning stuff, it is to increase your efficiency once a text editor limit it. Getting into an IDE is not really trivial, especially eclipse etc. are not trivial at all. Therefor I would always sugguest to start with a simple text editor which supports syntax highlighting, much like Notepad++. Come on, it is just

javac test.java
java -cp . test


to compile and run a simple test java class.

Once you feel, that you have a good hold of the language and you think that a text editor is a clumpsy way to develop, you should consider using an IDE.

PS: this is java, not C++. Developing your first "Hello World" in java is really simple without using an IDE. An IDE is just a tool, which will not make a better developer out of you (thought a faster one).

Edited by Ashaman73
0

##### Share on other sites

I feel it is garbage. An IDE in modern programming is nearly as influential as
the language itself. Why spend so much time fighting your non-IDE? I find it hard to believe you learn better/faster with so much overhead.

You ever used Eclipse? Between learning Java and learning Eclipse... I think Java is the easier task.
2

##### Share on other sites

When I started Java learning I had to do my first 5 learning Programs without an IDE, just Notepad++ and Command Line.

After that I got Eclipse for SE developers and started using Eclipse.

I really think doing your first setps without IDE won't hurt you but getting better and understand whats going on in the background you will need a good IDE and a debugger.

0

##### Share on other sites

PS: this is java, not C++. Developing your first "Hello World" in java is really simple without using an IDE. An IDE is just a tool, which will not make a better developer out of you (thought a faster one).

While I agree with the middle sentence, I find the others curious.

I recommend people get started with C and C++ without an IDE. The compile/build process is really integral to how and why those languages do things in a certain way, and it's important to understand it piece by piece instead of just hoping for the right things to magically happen. With Java, you can start the same way and I guess that would give you a little bit of extra perspective, but not anything critical. Might as well start with the IDE.

And IDEs are particularly helpful with Java. It is a long-winded language with limited expressiveness and all the functionality is buried in gigantic libraries. IDE autocompletion and integrated help can help cut down time wasted browsing a reference, and leave more time for learning. Easy access to a visual debugger also smooths over a good amount of learning bumps, particularly if you are self-learning and have no one to help you with tricky bugs.
2

##### Share on other sites

If you don't use an IDE for Java programming you're not making use of one its most positive traits: Its very well documented.

In Eclipse, the distance between you and all of Java's standard libraries its literally just a shortcut, ctrl+spacebar. Hovering over any standard classes grants you access to all of its documentation. You get very nice highlights about what's wrong on your code, easy automatic imports, class outlines, refactoring tools, and a big, BIG etc.

You don't even need to learn all of the IDE to get going. Just use what you need and you'll be fine.

I mean, you could have Oracle's site open in a browser and looking for the doc there but really, its not necessary. Javadoc is nicely integrated in Eclipse, and you'll learn better from official docs (and the sources) rather than Googling around features that someone might or might not know exactly how they work.

2

##### Share on other sites

I feel it is garbage. An IDE in modern programming is nearly as influential as
the language itself. Why spend so much time fighting your non-IDE? I find it hard to believe you learn better/faster with so much overhead.

You ever used Eclipse? Between learning Java and learning Eclipse... I think Java is the easier task.

Eclipse isn't an IDE, it's an operating system. :P
0

##### Share on other sites

I feel it is garbage. An IDE in modern programming is nearly as influential as
the language itself. Why spend so much time fighting your non-IDE? I find it hard to believe you learn better/faster with so much overhead.

You ever used Eclipse? Between learning Java and learning Eclipse... I think Java is the easier task.

Eclipse isn't an IDE, it's an operating system.

Eclipse is Emacs?!

0

##### Share on other sites

If all you do is write hello world in your text editor, ok you have memorized:

System.out.println("Hello World");

But for the rest of your life, eclipse will now be finishing your sentences, so maybe it's more important to learn the keyboard shortcuts for intellisense than to learn your APIs!

0

##### Share on other sites

When I started my degree I didnt use an IDE for the first year, it really helps you understand the finer details if you ask me.

And in response to everybody else’s advice basically saying use an IDE, because it helps you avoid fundamental mistakes. That’s the whole point of learning to make those mistakes; IDE baby sits you way to hard and actually has a negative effect on you as a beginner.

Edited by jellyfishchris
0

##### Share on other sites

Use an IDE.

Do not use eclipse. While it is the most versatile IDE, it's also very uncomfortable.

Use Netbeans or IntelliJ first.

Do not touch eclipse for Java unless you are developing for Android.

Your first steps in programming should not  be resolving class-paths & compiling.

Your first steps should be: Writing simple code and running it with the push of a button.

You do not even have to understand all the code you write.

System.out.println("") should be implemented and understood before you understand what a class is. (Although the word class will appear in your first program).

One of the nice things in programming is that you don't have to understand everything that is happening in order to do something useful & fun. You can always dive deeper later. Learning the fundamentals before the fun stuff is the worst mistake a beginner can make.

Java is high-level programming. Have some fun, then dive deeper for the fundamentals.

Your first goal is to make stuff happen (get motivation).

Only your second goal should be to make and fix mistakes.

Edited by SillyCow
0

##### Share on other sites

When I started my degree I didnt use an IDE for the first year, it really helps you understand the finer details if you ask me.

And in response to everybody else’s advice basically saying use an IDE, because it helps you avoid fundamental mistakes. That’s the whole point of learning to make those mistakes; IDE baby sits you way to hard and actually has a negative effect on you as a beginner.

I've seen this argument before - that using an IDE prevents you from learning the API, etc - and it's completely bogus. There's much more to an IDE than autocompletion: project management, integrated debugging, to name just two. Autocompletion is just icing on the cake and in any event you still need to know the first few letters of the method you wish to call.

Deliberately choosing a harder approach when an easier one exists (and just because it's harder, not necessarily better) does not make one a better programmer. In fact I'd be incluned to argue that it's the exact opposite of what programmers should be doing with their code, so why do it with their tools?
1

##### Share on other sites

I don't really understand people recommending not using an IDE. And I don't get what's complicated about Eclipse at all... I mean, really? We are doing such complicated software, and you find Eclipse difficult? That's beyond me. You don't really need that much out of it - plus it's the only Java IDE I know of that properly implements incremental build, which is a time-saver on non-trivial projects.

Java is one of the easiest languages, with very good books, very strong footing in academia, excellent IDEs and descent libraries. What you need is create new project -> edit -> run. It can't be simpler, honestly.

And writing Java code without IDE? For one of the most verbose languages? Seriously? That's probably the worst advice I've heard in a while...

1

##### Share on other sites
It's not that eclipse is complicated (though it is), it's that it was designed by Martians - nothing is at all intuitive about it (at least when I looked at it a few years back).
0

##### Share on other sites

On the one hand, learning while using an IDE is useful, as it will do a lot for you, and eventually, you're going to be using it a lot anyways.

On the other, when you're learning something new, having to learn to use some other potentially complex program at the same time, could be more confusing.

Another thing to keep in mind, is that the above mentioned book, and another with the same suggestion (Head First Java 2nd ed), and many other beginner books, deal with such simplified examples, that there is no real benefit to using an IDE.  The compilation errors are the same you'll see in an IDE, and line numbers and positions are often supplied, so finding the offending spot is still easy.

Lastly, learning without an IDE can give you a better idea of how things work...  In Java, there's not much to the command line (as someone pointed out earlier)... In C++, it can still be that easy, but as an anecdotal point, there are many senior Visual C++ developers that have no idea how to use a make file, or compile outside the IDE.

In short, learning to use the tools outside the IDE will, in the long term, help you become a better developer.

-Alamar

0

##### Share on other sites
I just joined rather then continue to lurk because of this topic...
While I will most certainly agree that it is extremely important to understand the process behind what you are doing line by line, eventually to the point where you can simply read code and follow the execution, I believe that one of the best ways to learn is through a debugger.

Basically, if I am teaching someone in any language, I will show them their normal "Hello World" program to make certain everything is configured properly, and then run through a little bit with the debugger.

Of course, when I was "learning" Java in college (already had self-taught most of what we learned), what was more important was the concepts behind it. We started in Eclipse, and had all of our exams with pen and paper.

WROTE ALL OF THE CODE FOR EXAMS BY HAND ON PAPER THROUGHOUT COLLEGE, AND USED IDE'S THE ENTIRE TIME (other than for Linux scripts later).

Sorry for all caps, but I figured that was the most important part of my speech. Basically, remember that the IDE is a tool, and it will serve you well. Depend upon it entirely, and you will be lost at a later date.

Eclipse is fairly easy to use, I don't know why people are saying otherwise. There is a big green circle with an arrow to launch your program, or you can right click the project in package explorer and run it, or debug it, from there as well.

The rest of it you learn as needed with the help of the internet or simply exploring to see what happens.

I really don't see how manually compiling really helps you learn more about the language in general, at least with simple beginner programs.

As you reach more complicated programs/languages, it can help a lot.

Also, when you get a bit farther along, never forget to look around a bit to see if what you want to make has already been done.

Serapth, I couldn't disagree with your comment more, Yrjö P. is right on the money.
1

## Create an account

Register a new account