Reg Braithwaite says Um, I have a question! His question is, in summary, “What the heck do programmers mean when they say they are more or less productive under a given circumstance?”
He makes very good points:
- We have a real bear of a time measuring the productivity of individual programmers in any quantitative manner.
- We can measure results of complete projects, including everybody involved even peripherally in bringing those projects to a conclusion, as holistic units — but the moment we break those units up into people, all our metrics fall apart.
- Programmers talk about how productive they are (or aren’t, as the case may be) under different circumstances all the time.
Reg comments on Joel Spolsky’s statements about being in “the zone”, also known as hack mode, which is of course incredibly important to programmer productivity, but I think he focuses on that particular aspect a little too much. Yes, even context-switching between keyboard and mouse in Visual Studio is in some respects detrimental to maintaining the state of flow of which Joel speaks, but there are other productivity reasons some of us prefer Vim over VS, too.
The answer seems simple to me: It’s easy — completely, incredibly, unavoidably easy — for anyone with a significant amount of experience programming to measure individual programmer productivity. The problem isn’t that we can’t measure it. The problem, however, is two-fold:
- We can only measure that productivity against the same programmer’s productivity under other circumstances.
- We can only measure it from the inside, because productivity looks different for each programmer — and each of us is only familiar enough with exactly one programmer (ourselves) to be able to recognize the clear indicators.
Oh, sure, a big enough difference in productivity may make it clear to someone on the outside, but I don’t think we’re really worrying about being able to measure the difference in productivity between an actively programming Reg Braithwaite and a Reg Braithwaite in a persistent vegetative state after a refrigerator fell out of a third story window and landed on him walking down the sidewalk outside.
I know for a fact that I’m far more productive writing articles with Vim than I am with Notepad or OpenOffice.org. I have no idea how well you’d do under those different circumstances, in part because there are simply too many other factors involved, and many of them are inside your own head — so I’d have to take your word for it if you told me you were more productive using echo and redirects at the shell (or just think you were pulling my leg).
I could definitely give you some reasons why Vim works for me, though — and why I would therefore think it might work for you. I just have to accept the fact that I might be wrong about that latter part.