5 ms·
A lot of comments are saying that Vim will massively increase your productivity, but I think that is completely missing what being a productive programmer is al
by calhoun137 14y ago
A lot of comments are saying that Vim will massively increase your productivity, but I think that is completely missing what being a productive programmer is all about. Just being able to type and edit things quickly isn't even half the battle, it's less than 1% in my opinion.
Productivity in programming is measured from the time you start a project till the time you finish. So much time is often spent trying to find and fix bugs, and being productive is all about writing code in a way that minimizes the amount of bugs that show up, and being able to quickly find and fix them when they do.
Writing code at the optimal level of generality is a major factor, No amount of editor tricks can make up for choosing the wrong level of generality to write your methods. Too much generality and you are wasting time, too little and you have to deal with a bunch of special cases, or else rewrite large portions of code at some point.
It's important to be able to learn things very quickly on the spot when you have no other choice, but it's better to be able to immediately deal with situations without having to incur all of the productively losses that comes with doing that. So much time is saved by being able to get the algorithm's and the numbers right on the first try.
It's also about a psychological battle of how hard you can push yourself without burning out, which is no trivial matter.
Once you are good at all that, then basically it's nice to also be able to pick up an extra few seconds here and there with a keyboard shortcut, an editor trick, or some precision mouse mechanics.
- jiggy2011 14y agoI find it impossible to get anything bang on the first time around. I find that even the best plans and ideas can start to show problems once you get into the guts of the implementation. Being able to input and edit things quickly greatly reduces the friction involved in doing refactorings. If I can do it fast enough, why not just refactor 3 different ways and see which one makes the most sense? Also helps with prototyping, being able to from a conversation to a "did you mean like this?" in 30 mins is helpful.
- calhoun137 14y agoI don't disagree with anything you have said, but I also can't tell if you are disagreeing with anything I wrote in my comment either.
- jiggy2011 14y agoNot sure, just pointing out that I think that writing and editing code faster has more benefits than you might suggest :)