IDEs are bad for you. It's much better to simply use a real programmer's editor that you can craft into being what you need. In fact, I can usually take vim plus cscope, exuberant ctags, and ack and demolish any code base you throw at me. Similar with emacs and other power editors.
IDEs are usually useful if you're stuck using them to build GUIs or use specialized build tools they require.
Please dear wizard, here's a list of requirements for a fellow programmer that he can currently do with Visual Studio and wants to do the same with vim:
- find in files (in vim, not in bash)
- replace in files
- rename symbol (uh-oh...)
- quick open file in project (visual assist feature)
- list of files in project (not in directory)
- build system (something easy to use, not that make bullshit)
- go to declaration/definition ( sometimes I get a list of 30 matches from ctags, so I would like something that actually works )
- view call hierarchy (callers, callees)
- code completion (something that works and is easy to use, like in visual assist)
- watches
- breakpoints in disassembly
- step into disassembly
- memory view while debugging
- edit & continue
- memory (data) breakpoints
We're talking about large C/C++ codebases, obviously. You might get 50% of the features above after tinkering for a few days/weeks/months with your vim with (probably) much worse usability, when you could have used Visual C++ from the get-go and enjoyed a "real programmer's editor", as you put it.
This bullshit religion you are introducing only hurts potential programmers because instead of focusing on getting their job done they have to reinvent the wheel every time they have to write a line of code. I'm not saying it's a bad thing for a young mind to experience the horror of having to debug a 500.000 LOC codebase with a stone-age debugger, just for the kicks ("that's how your old man was programming back in the day, son"), but when you have to meet deadlines and release something going vim-only can quickly become a liability.
Sadly in Linux you don't have the luxury of Visual Studio and I've tried doing portable C/C++ in Windows (with cygwin and various make programs). It just doesn't work right.
But I agree with overall sentiment. We shouldn't try to make programming hard. It is hard already.
I do all of this with just vim and some tools, and I do it with any language, any text, anywhere on any machine in and OS without having to buy anything from anyone and I can change how all of it works any time.
How can IDE be bad for me? It's like saying a hammer is bad for me (Sure it is if I don't use it responsibly or correctly). And on C front I'd agree. There are no really good IDEs for C/C++ and the way they work/are used wouldn't benefit much from an IDE.
If you are more productive in IDE over text, what is the benefit of using text editor?
IDEs are usually useful if you're stuck using them to build GUIs or use specialized build tools they require.