When you start a new project what do you reach for first? A simple text editor, vi, emacs, notepad? Or do you go for a full blown IDE that helps you speed development, is tightly integrated with your language of choice and has additional tools for rapid development?
Text Editor
What about learning a new language or those programmers just getting started? Your favorite text editor is by far the better option in this case. When learning a new language or development for a new platform a developer should focus on the language at hand. Syntax and file layout conventions are much easier to remember using a text editor that doesn’t auto-complete. Additionally an IDE generally hides a lot of the build process. Knowing how to build a program on the command line from source is invaluable information. What happens when your IDE project becomes corrupted or you inherit a project that is not in “perfect” condition and won’t open in your IDE? If you don’t understand how to build an application outside the IDE, you’re in for a lot of headaches and likely one or more long nights of debugging.
IDE
Like a lot of developers, I opt for the full featured IDE. Once you have your head wrapped around the features of an IDE there is little room to argue a tightly integrated IDE is the fastest way to code. The process that I’ve adopted for picking up a new language is to write a short program using only a text editor and building the program using whatever command line tools are available. Once I’ve got a good handle on how the language works and how to build a program without an IDE I then move to an IDE, assuming one is available.
What are your thoughts? Are you an IDE or Text Editor developer?