Jump to content

  • Log In with Google      Sign In   
  • Create Account

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


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
20 replies to this topic

#1 TropicMonkey   Members   -  Reputation: 117

Like
2Likes
Like

Posted 26 March 2013 - 12:14 AM

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? 

 

Book link:

 

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



Sponsor:

#2 stein102   Members   -  Reputation: 485

Like
3Likes
Like

Posted 26 March 2013 - 12:18 AM

I feel like trying to learn programming without an IDE would be really frustrating if you didn't know what you were doing. An IDE will not only tell you that you have an error, but it will tell you WHERE the error is. As a beginner, you don't really know what you're looking for when it comes to debugging and it would make it a lot more of a pain than it has to be.

 

Just my opinion.



#3 Nercury   Crossbones+   -  Reputation: 774

Like
7Likes
Like

Posted 26 March 2013 - 01:01 AM

Compile your first few classes without IDE just to learn what is going on "under the hood". Then move on to IDE.



#4 SuperVGA   Members   -  Reputation: 1118

Like
2Likes
Like

Posted 26 March 2013 - 01:07 AM

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.



#5 Ashaman73   Crossbones+   -  Reputation: 7991

Like
0Likes
Like

Posted 26 March 2013 - 01:29 AM

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, 26 March 2013 - 01:36 AM.


#6 Telastyn   Crossbones+   -  Reputation: 3730

Like
4Likes
Like

Posted 26 March 2013 - 05:47 AM

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.

#7 Serapth   Crossbones+   -  Reputation: 5756

Like
2Likes
Like

Posted 26 March 2013 - 06:05 AM

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.

#8 Olaf Van Schlacht   Members   -  Reputation: 766

Like
0Likes
Like

Posted 26 March 2013 - 06:09 AM

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.


printf("Hello Signature");


#9 mhagain   Crossbones+   -  Reputation: 8278

Like
4Likes
Like

Posted 26 March 2013 - 07:24 AM

IMO this advice is nonsense.  An IDE is a useful tool, and for a beginner can help you avoid fundamental mistakes that may otherwise stop you in your tracks.


It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#10 Yrjö P.   Crossbones+   -  Reputation: 1412

Like
2Likes
Like

Posted 26 March 2013 - 09:27 AM

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.

#11 TheChubu   Crossbones+   -  Reputation: 4766

Like
2Likes
Like

Posted 26 March 2013 - 09:31 AM

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.


"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#12 Telastyn   Crossbones+   -  Reputation: 3730

Like
0Likes
Like

Posted 26 March 2013 - 10:17 AM

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

#13 Alpha_ProgDes   Crossbones+   -  Reputation: 4692

Like
0Likes
Like

Posted 26 March 2013 - 10:19 AM

 

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. tongue.png

 

Eclipse is Emacs?!


Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#14 minibutmany   Members   -  Reputation: 1679

Like
0Likes
Like

Posted 26 March 2013 - 03:41 PM

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!


Stay gold, Pony Boy.

#15 jellyfishchris   Members   -  Reputation: 300

Like
0Likes
Like

Posted 26 March 2013 - 04:21 PM

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, 26 March 2013 - 04:23 PM.


#16 SillyCow   Members   -  Reputation: 899

Like
0Likes
Like

Posted 26 March 2013 - 05:02 PM

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. smile.png


Edited by SillyCow, 26 March 2013 - 05:05 PM.

My new android game : Enemies of the Crown

My previous android game : Killer Bees


#17 mhagain   Crossbones+   -  Reputation: 8278

Like
1Likes
Like

Posted 27 March 2013 - 05:21 AM

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?

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#18 dilyan_rusev   Members   -  Reputation: 1068

Like
1Likes
Like

Posted 27 March 2013 - 05:30 AM

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...



#19 Telastyn   Crossbones+   -  Reputation: 3730

Like
0Likes
Like

Posted 27 March 2013 - 05:47 AM

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).

#20 Alamar   Members   -  Reputation: 256

Like
0Likes
Like

Posted 27 March 2013 - 11:21 AM

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






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS