Hi,

I'm going to begin school for CS in a couple of months, and am trying to get started with some of the material on my own. I need to learn some Java; I've done a bit of C++ in the past. The prof sent me an email saying at school we would compile our code on Unix, but at home we could use anything we want for writing/testing code.

I downloaded some stuff from the Sun website, but it seems the process is somewhat obtuse: type in notepad, open a command prompt, bla bla bla. I remember doing C++ on visual studio--there was none of that -- just wonderfully friendly colors, nice help topics, and big buttons that basically said "make the thing happen (without having a clue what's actually going on)." So I downloaded Netbeans, which is pretty cool -- similar to what I was used to.

However, I wonder if this will actually allow me to learn the things I need to learn. What does it actually mean to "learn Java?" Write some code and push the button? Or is it more? Something tells me it's much, much more. Will an IDE like Netbeans stunt my growth? Will corners be cut that actually ought to be inspected?

Thanks in advance for any thoughts...

I started learning java using netbeans, I now use eclipse prolifically. I haven't found it to be a hinderance. Whatever apps I create I test on different platforms anyway.

Java and GUIs is definitely different from the way visual studio sell it. You'll learn that if you don't use a GUI builder such as netbeans etc.

an IDE at this stage is the worst thing to use.
Rather you should get to know the tools you have, editor and command line compiler and runtime.
If you're incapable of getting to grips with those, it's not too late yet to change your chosen profession. And you'd better do that as you're going to fail utterly there if you can't even learn to use some commandline tools from the documentation provided with them.

an IDE at this stage is the worst thing to use.
Rather you should get to know the tools you have, editor and command line compiler and runtime.
If you're incapable of getting to grips with those, it's not too late yet to change your chosen profession. And you'd better do that as you're going to fail utterly there if you can't even learn to use some commandline tools from the documentation provided with them.

Thats kinda harsh...
I got fine using netbeans when i first learned, it will show you errors and possible corrections. If you already know how to use notpad and cmd prompt then it cant hurt. In fact it helps, when you type it will show you possible methods and variables (like in visual studio).
Netbeans is ok but its big and slow on a slow computer. If thats the case then check out bluej, it wont show you methods and stuff but it makes life easier. I have used jbuilder but i prefer netbeans more and im not sure about elipse.

If you're incapable of getting to grips with those, it's not too late yet to change your chosen profession. And you'd better do that as you're going to fail utterly there if you can't even learn to use some commandline tools from the documentation provided with them.

Whoa there, tiger...

I see the point of what you're saying, but REALLY...
Ever consider a career in motivational speaking? lol

Anyways, thanks a lot for the responses, guys. I see that it's important to learn, but there's a LOT of important stuff to learn. I was sort of trying to prioritize at the beginning.

If by motivational speaking you mean pussyfooting and obscuring the truth so as not to hurt tender feelings, I've considered it and rejected the idea out of hand :)

Yes, there's a lot to learn. Start by learning the basics though, don't make the (common) mistake of immediately jumping into the deep end and trying to build a full blown midsized or larger application.
Start small, simple things to test out different language constructs.
Once you get a feel for the syntax and language constructs (which though some may look similar to C++ have a tendency to work just differently enough to put you off guard if you lack experience) you can go think of bigger things. But keep going slowly.

You will find that many experienced programmers will create small standalone programs to test out and experiment with things they intent to use in larger programs.
Makes it a lot easier to get to grips with a concept, and less time lost if you find out it doesn't work in a 20 line application than a 2000 line one ;)

This article has been dead for over six months. Start a new discussion instead.