You can know how to use a terminal on a headless server, write your C code in VIM or EMACS, and compile your code with GCC, and be totally content and remove any overhead, but as long as you understand these tools I don't see any harm in using a program that links your libraries and throws you right onto the starting line with the click of a button. You can only write the same 20 lines of code and manually set paths so often before you're writing your own templates and doing the same thing the IDE would do for you anyway. It's typically natural to start programming in an IDE, but those who rely on it, rather than choose to use it, and never eventually venture down to the command line to build their program from scratch are only seeing half of the picture and will never fully grasp the basic concepts of what they're doing.