|
I do most of my development in Eclipse or VS, because frankly my time is worth more than screwing around with Vim for more than basic text editing. Funnily enough, I only break out the debugger when something's really nasty--maybe once a week, for half an hour or so. I certainly don't practice debugger-driven development, and I don't know anyone who does. Personal problem, not a tooling problem. "Not thinking about how the code looks"--personal and cultural problem, not that of the tools; whether I'm in Vim or Coda or VS2010, I run a guideline at 100 characters (because 80 character lines is dumb in the age of the smallest dev monitor being 1280 pixels wide) and wrap to it. Never heard a complaint from anyone I work with. Build complexity--here, you have something of a point, but MSBuild or Maven or whatever isn't appreciably different than tooling with makefiles (except that MSBuild probably has better documentation and there's some semblance of a standard way to do things). Source control? I use Hg and Git, seamlessly, from within VS2010 or Eclipse. Not a problem at all. Collaboration? I've used VSTS for it before, but I just hang a Chrome window in my second monitor and keep Redmine (at home--Bugzilla, at work) and an IRC channel open. None of this is appreciably easier in the Land of the Holy Terminal--it's just different. I've used both heavily IDE-driven stuff and the stone knives and bearskins that vi-land suggests, and my practices do not fundamental change from one to the other--because I understand what I am doing and how and why to do it. Changing your environment doesn't help you become a better programmer unless you understand why you did what you did and have developed the discipline to not do it regardless of tooling. Your problem existed between keyboard and chair, and it doesn't sound like you've fixed it--just hid it away. |
I see it where I teach, the students that come in are most comfortable with windows + VS and they are productive in this environment. However, after just one course in C programming using vim, the students have a much greater appreciation of the process of producing software. They gain an understanding of compiling and linking, Makefiles and automated builds. (I'm not sure all of them like vim + make, but they see where VS is automating stuff for them and I think this is a valuable thing to learn).
Do you need this understanding to be a productive programmer? Of course not and indeed learning it is a bit of a timesink compared to getting your features finished.
Eventually like most things it is horses for courses (it doesn't make sense to me to develop C# code using vim as you have the worlds best(tm) IDE to help you), but personally I feel that IDEs have become too much of a crutch, they help so much that you can be productive without knowing what you are doing and, this maybe elitist, I feel this harms the industry a little.
Good programmers will always be good programmers, bad programmers can hide with an IDE, they have to learn what they are doing when dropped into vim + make (or other lo-fi tools of choice).