Earendil said:
Most colleges start with an IDE. At my college I've found (as a student and TA) that beginning students have more trouble with the code than they do with an IDE. The majority of students have no previous programming experience or console experience, for them it is far easier to understand the concept of an IDE, and than forget it, than it is to understand the console.
~Earendil
~Tyler
I can't quote on most "colleges" using IDEs. Perhaps if that College is not part of a University.
My personal experience is becoming out of date since my first College level programming classes were with a pascal interpreter on an IBM mainframe. Ah, Pacal, now there's a language to teach you fundimental programming with out all that memory management muck. ;-)
The last time I took programming though, in a Math and Computer Science program, we were still using command line compiling.
I know IDEs are popular and if you get a job at a big company you'll probably use one BUT the problem is, which one will you use? There are tracts I've heard of that use MS Visual Basic as the learning envioronment. What good is that going to do you on a Mac or working on a large C program on a Unix environment.
Here's the real problem that you've admitted yet you ignore. There is overhead learning a text editor and learning GCC compile time params.
Any given IDE has hundreds of features too. The problem is, I can't take MS VB IDE knowledge and directly transport that to XCode or some Linux C project.
A newb can get up to speed and generate impressive *looking* projects quicker if they are using frameworks in a fully decked out IDE (that's Integrated Development Environment for those just starting). Like I said, I hardly ever program anymore but I can still build a web browser in OS X XCode. That doesn't make me a competent programmer though and it certainly won't help me too much when I try to make a web browser in Microsoft's IDE. It certainly won't help me if I need to write one from scratch or if I need to debug a problem I find in Konquer in Linux.
Here's the bottom line in my opinion.
You have overhead learning a text editor but there isn't all that much. You can use Vi all the time knowing only a dozen shortcuts. You can use Pico knowing Zero and just getting by with the text menu.
Compare that to the initial complexity of a major IDE and that's nothing. Sure, if you know how to code and you know your language well, the IDE makes your life much easier. That's why they exist.
Unfortunately, I think learning your first steps on an IDE is probably a mistake since it removes you from what is happening under-the-hood. Any good CS program will have you working out of an IDE at some point though most trade schools will likely never let you work outside of the structure of one.
This is all just my humble opinion of course but lets use the ever popular car analogy.
On any new car you can hook up a diagnostic computer and it will tell you what is wrong. You can make very rapid progress in an auto-mechanics class if they make you plug the cars in.
That doesn't help you so much when you get a car that doesn't have a computer system though. You'll still occasionally need to know, fundimentally, how a car engine operates to understand why it's not running. The fact is, every car engine still runs on spark, air, and fuel.
I think it's better, in any area, to learn the fundimentals first. learn how the compiler works.. the one that your IDE is calling under the hood. Then you can really see how your computer and your language, and your compiler really work.
again, jmho.
I am, after all, a failed programmer. That's why I'm the IT manager for a University Division (and a pretty good Universtiy at that).
ffakr