Hacker News new | past | comments | ask | show | jobs | submit login

Is typing really such a big issue for programmers? I don't know about everyone else, but typing is perhaps 0.5-1% of my programming time. Is this different for other people?



Like everything else in life, everyone has their own style. I'm with you - typing is not an area that I worry about efficiency. I whiteboard high level designs, think things out in my head, go for a walk and think out the code, and finally sit down and type it out in a fairly short time. Later, when updating and debugging, navigating via keyboard gets more important, but still not a critical path for me.

But I do know other people who really do just type immediately when they start to code. They use the keyboard and screen as part of their thought process. For them, perhaps it makes a bigger difference.


Back of napkin math bring this at ~25 lines of code per day. Looking quickly at our Git history, this seems well below the average LoC/day me and my co-workers produce but our software is still in early stages and there's lots to do. Perhaps you are maintaining a more mature project?


It's a sizable issue for me. I write every piece of code several times: once to get a sense of the problem space, once to prepare it for review, once to incorporate feedback review and once to adapt it once a new customer has as similar need, an tweaking my code for a couple hours saves him a couple of days. The technical ability to type fast is critical, thus having good tools is critical. Several areas: typing comfort, code search, autocomplete, code refactoring, plus high signal / noise language.


I wonder about this every time the subject of editors comes up. There's a perception of efficiency for sure, but I wonder how much actual efficiency is gained in most cases. I just don't spend a lot of time on actual typing when programming, vs thinking about the code or testing or debugging or sifting through documentation. Plus I'm not on the same machine all the time, so lots of customization requires extra effort every time I have to jump on a freshly installed system.


A lot of people don't use vim because of its efficiency; they use it because it helps avoiding distraction and it's less tiring.


I did the whole keyboard must be perfect thing a few years back. I realised I had wasted more time researching and testing keyboards they I could ever save during the left of my working life heh.

Now a nice keyboard is something you want to have but as long as it has some key travel I am good to go. I don't like mushy keys too much though.


.5 to 1% of your programming time actually typing is an exaggeration right?

That would be ~5 minutes of an 8 hour day typing. 8 hours each day to plan 5 minutes of typing seems... well, something is wrong and I have trouble seeing a sizable project getting done like that.

I probably spend 2-3+ a day typing (for various reasons.. not all programming). And yes, typing is very big issue for me.


That's probably about right. I mean, it depends how you count. I spend a lot of time at my computer, but if you only count the time spent actually physically pressing buttons that result in code then I guess that could be down to 5 minutes. The rest is spent looking at existing code, wondering how this particular thing should be wrangled together etc. I mean, I've spent a semester writing about 2k lines of code so things go slow. Then again it's a compiler for my own language, which together with me not being a great student probably means this is abnormally slow.


I don't know why you'd only count button presses that result in code. I think I spend way more time on the keyboard than not. A large amount of my time is pressing buttons to debug or understand code: Find class, Find string, Go to implementation, Find usages, Step into, Step over. And those are sometimes the repetitive keystrokes that lead to the most fatigue/stress.


Actually measure yourself and get back to us.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: