Live data from Hacker News

Typing Practice for Programmers

speedcoder.net

71–80 of 172 posts

Re: Typing Practice for Programmers

#71
Of course typing is not the bottleneck to any mildly interesting programming effort. If you're doing repetitive stuff, you should have your editor do it for you.

But the thing is that typing fast and accurately feels wonderful. Conversely, it's incredibly frustrating to be constrained by a different layout or hardware.

I can be reasonably fast/accurate on my preferred keyboard, but I can't touch type very well and I envy the fluidity when I watch someone do it.

I have tried a few times to learn it, but the process is infuriating. I'd love to find something a bit more tolerable.

Re: Typing Practice for Programmers

#72
post #14

This highlighted my dependency on IntelliSense - which is a bit worrying! Although mixing IDEs would be counter-productive?

I wouldn't say it is. For the past couple of years i've been using heavy IDEs (jetbrains stuff) for very verbose languages like java, and lightweight ones for more concise languages like js or haskell. Learning multiple IDE-s can sound stupid, but i feel that it helps me a lot.

Re: Typing Practice for Programmers

#73
post #16

In my opinion there's no better practice than playing Typing of the Dead. If losing in a game irks you even a little you'll definitely improve your typing speed by playing if your current speed is slow. https://www.youtube.com/watch?v=jslf5hJMtvs

ZType is also really fun (and it runs in the browser)

http://zty.pe/

Re: Typing Practice for Programmers

#74

Of course typing is not the bottleneck to any mildly interesting programming effort. If you're doing repetitive stuff, you should have your editor do it for you. But the thing is that typing fast and accurately feels wonderful. Conversely, it's incredibly frustrating to be constrained by a different layout or hardware. I can be reasonably fast/accurate on my preferred keyboard, but I can't touch type very well and I…

> Of course typing is not the bottleneck to any mildly interesting programming effort.

I would agree with that to some degree, but I think typing faster can help the thought process, in the sense that you can write down your ideas faster, so that you can free them from your memory and keep moving forward with your thoughts.

Re: Typing Practice for Programmers

#76
post #35

Earlier quoted context omitted.

For me, it's not the fast part that's useful as much as the ability to type braces, square brackets, underscores, = signs, left/right arrowheads without having to look down to locate the key.

Why? Has that historically-on your team-proved detrimental? I'm interested to hear the anecdote on this one if that's the case.

Yes, it's detrimental because it's distracting. It interrupts my concentration when I make typing mistakes, or can't get the code written down fast enough. I want to write it down fast, because I can only hold so much in my head, and the faster I can write down an idea, the faster I can move on to the next one. Once everything is down, it's much easier for me to look at the whole, and edit it (refactor, etc.).

Re: Typing Practice for Programmers

#77

Earlier quoted context omitted.

There's a story of Donald Knuth and the programming contest: “In the early days of Silicon Valley, there was an annual programming contest on Memorial Day. When Donald Knuth (the world’s greatest programmer) entered, they gave him an old batch computer to work on. He had to carry punch cards back and forth. The others, great programmers of the time like Alan Kay, John McCarthy; got the ‘modern’ time-sharing systems.…

Programming is more like modelling clay rather than carving stone. You can, and you should, always slowly reshape your creation until you are satisfied with the result. If you are carving stone there is no way that you can change it without destroying everything and starting again. You may be faster just using a lot of time thinking before writing the code, but you will never see the real essence that is revealed onl…

Eh, I'm not sure you got the point of the story. Good argument, though.

Re: Typing Practice for Programmers

#78

Of course typing is not the bottleneck to any mildly interesting programming effort. If you're doing repetitive stuff, you should have your editor do it for you. But the thing is that typing fast and accurately feels wonderful. Conversely, it's incredibly frustrating to be constrained by a different layout or hardware. I can be reasonably fast/accurate on my preferred keyboard, but I can't touch type very well and I…

> Of course typing is not the bottleneck to any mildly interesting programming effort. I would agree with that to some degree, but I think typing faster can help the thought process, in the sense that you can write down your ideas faster, so that you can free them from your memory and keep moving forward with your thoughts.

Agreed - people in this thread are too down on typing skill. It's not the only thing, but it is important.

Think -> decide that you need to extract a method -> using the keyboard, and your editor, do that -> think again.

The step w/ the keyboard will involve your custom editor environment, and typing. If you get it done, you can shorten the cycle from Think -> Decide -> Act -> Think, and get into a smoother workflow. If your keyboard and tools need your active thought on how to succeed, you get derailed in that Act step, and have to restart your thinking about the real problem.

Re: Typing Practice for Programmers

#79
post #22

Earlier quoted context omitted.

It's not about the typing speed, it's about levels of abstraction. You want the basics to be automated so you can think about important things. Could someone like Steph Curry or Kobe Bryant be an effective basketball player if dribbling the ball took conscious effort? Probably not. Code is typed. Typing it slowly slows you down. Just like a slow compiler does or a slow IDE or even a slow computer with spotty internet…

Slow IDE, slow compilation, spotty Internet force you to wait and captures your attention. Slow typing doesn't capture your attention, if you touch-type. Your hands are typing while you go on thinking. If you get to the point where typing is the bottleneck you are not thinking enough and you should be working on some more difficult problem instead.

> you should be working on some more difficult problem instead

Building simple things that solve real problems pays really really well.

Post reply on HN