Why the IDE hate?

So I keep hearing from, generally, the more seasoned users of this site that IDE usage is the devil. So why all the hate guys/gals? Yea sure it has a ton of handy features that can be kind of confusing at first, but it's my opinion that using an IDE will always be easier than using just a plain text editor and command prompt. What is so wrong with using an IDE? I don't see an issue here. You learn the language just as well, you still have to know about compiling and linking, etc.
I agree: I don't see IDEs as "evil". I use and IDE when I can; however, an IDE isn't always available where I work.

BTW, I dig your handle!
closed account (zb0S216C)
ResidentBiscuit wrote:
generally, the more seasoned users of this site that IDE usage is the devil

Strip away all the functionality of the IDE (except for the text editor), and the IDE will more or less be the same as a primitive editor, such as Notepad.

IDEs are useful tools, because they offer syntax highlighting, auto-complete, automatic compiling and linking features, etc... An IDE doesn't do anything productive in terms of program optimisations (that's the compilers job), but they do provide features that help the programmer to build their program.

As for the UI, some programmers prefer an interface that's strictly basic, like Notepad.

Overall, the choice between Notepad and Code::Blocks, for example, simply boils down personal preference. I can use Notepad and Code::Blocks with the same outcome; neither affect the final executable.

Wazzak
The requests for IDE recommendations generally come from beginners. As such, the comments on IDEs are about beginners using IDEs. Starting on an IDE presents a mysterious black box with a great many magic settings that a beginner will not understand. They then come back a year later, or two, or even five, and ask why they couldn't fix their "undefined reference" linker error by fiddling with their source code.

you still have to know about compiling and linking

Only when the magic buttons stop working. That could be a long way down the line, buried in several thousand lines of code. The time to learn what the linker and compiler are is at the start, and as a rule of thumb, a beginner with an IDE will not.

There's no hatred for IDEs. There is suggestion that beginners should start with the basics rather than magic buttons.

Edit: Here's a new post that demonstrates this effect brilliantly - http://www.cplusplus.com/forum/beginner/63834/
Last edited on
Ah I see your point here. I thought people were saying no one should use IDEs as opposed to simple text editors. I didn't see any good reason as why not to use an IDE if it's available
but it's my opinion that using an IDE will always be easier than using just a plain text editor and command prompt.


It's my opinion that it's not. I do not think that a beginner generally needs any of those nifty IDE features and would be better off using a plain text editor with syntax highlighting at the beginning.

I personally prefer not to use an IDE for smaller projects, although it does become hard to live without some, especially refactoring related, features later on. I advise beginners not to use IDE's not because I generally have a problem with them, but to prevent people from replying "DevC++" when being asked what compiler they're using.


hanst99 wrote:
It's my opinion that it's not. I do not think that a beginner generally needs any of those nifty IDE features and would be better off using a plain text editor with syntax highlighting at the beginning.


What is wrong with programming in black on white??
Typing? What's wrong with butterflies?

http://xkcd.com/378/
Typing? What's wrong with butterflies?


That might have been the best comic ive seen awhile
i am a beginner and have only used code::blocks. i do not know how to link and compile without it. the two books i purchased to learn c++ assume you already have a compile so they did not cover them. because of this it was my understanding that no one uses notepad and compiles manually.

Moschops, what you wrote has me curious now...and worried at the same time. because i am on a mission to master the language and programming in general, so i want to do it the right way. if you can provide some more information on how to compile, link and produce the files manually it would be appreciated.
'man gcc'
I'd also like to know how to compile, link, etc using notepad and the command window. I have searched around but anything I read on it jumps from writting the code in notepad straight to the bin folder and a .exe. I can't find a step by step guide.

Simply put, I have the MinGW compiler, I have notepad with the basic hello world code in it. Now what!

path\to\mingw32-g++ -c myfile.cpp


Compiles myfile.cpp and puts the output in a .o file (myfile.o).


path\to\mingw32-g++ myfile.o -o myprogram


Links myfile.o and generates myprogram.exe


path\to\mingw32-g++ myfile.cpp -o myprogram


Does the compiling and linking in one step. You might wanna add your MinGW path to your PATH variable so you don't have to enter the full path all the time.


What is wrong with programming in black on white??

Don't know about you, but my eyes hurt when staring at non-highlighted source code for too long. Also, a text editor that doesn't support highlighting probably won't support other things like keeping indention (or even smart indention), matching brackets etc either.

no one uses notepad


I hope so. Notepad is horrible for... anything really. It's very much feature-free.
Topic archived. No new replies allowed.