Relying on an IDE for development may make you a bad programmer.?
The truth is that a good IDE makes you vastly more productive than a bad one or none at all. Projects are off the ground faster thanks to helpful scaffolding. Coding moves faster thanks to intelligent autocompletes and IDE refactoring tools. Integrated unit testing helps your application be more maintainable. Built in deployment tools, web servers, code analysis, and compile time bundling streamlines the workflow. It also standardizes the developer experience which benefits both the programmer and the business. Programmers working with the same tools work together better. Businesses benefit from greater continuity between their staff and new hires.
That’s just the tip of the iceberg, and on top of all that Visual Studio might be the best IDE available... and happens to be free for the express versions which are fully functional (though lacking some nice but unneeded components). True you might not be considered as “l33t” as the guy who can write solitaire in bash using Emacs, but I have a hunch that the reason many developers hate on IDEs is that there isn’t a good one available for their language. Much of that stems from scripting languages since it’s tough for an IDE to be very helpful with interpreted languages. Just because someone would rather use notepad++ to write PHP doesn’t mean they couldn’t benefit from an IDE, it’s more about stubbornness.
The other big reason people say it’s a negative to rely on an IDE is that it makes you lazy with the language. If you don’t need to remember the syntax and method calls because intellisense is always there to remind you, you’ll likely have a hard time writing a program without the IDE down the line. This is a valid point, and one I definitely relate to. In my opinion though, being a good developer isn’t about memorizing the language specific calls, it’s about knowing the available ways to solve a problem and solving it using the best technique or tools as you can. Using an IDE can help bring your mental focus up a level so that you can work on what’s really important, the solution, rather than think about what the function call is to reverse sort a hash table. in short, IDE is reducing the skills set of a lazy developer -- www.sunitkanyan.in