News for hackers. Stuff that matters.
Re:How to Be a Programmer: A Short, Comprehensive, and Perso... by danso on Wednesday February 25, 2015 @02:35AM (#9105714)
> Learn to touch-type. This is an intermediate skill because writing code is so hard that the speed at which you can type is irrelevant and can't put much of a dent in the time it takes to write code, no matter how good you are. However, by the time you are an intermediate programmer you will probably spend a lot of time writing natural language to your colleagues and others. This is a fun test of your commitment; it takes dedicated time that is not much fun to learn something like that. Legend has it that when Michael Tiemann[2] was at MCC people would stand outside his door to listen to the hum generated by his keystrokes which were so rapid as to be indistinguishable.

I know that this piece wasn't written that long ago (2003)...but thinking back on those days of programming, I believe that so much has changed in information availability and operating systems that while fast touch-typing is still just an intermediate benefit, being able to memorize shortcuts and execute them by touch is of enormous benefit.

What I mean is that while Google was good in 2003, now I can type in an error message and basically be assured that the relevant Stack Overflow question will come up. Or maybe not, so I pop up a couple of Google searches, tabbing between windows as I type in my query. As those load up, I Alt-tab to my terminal window to re-run the problematic command, or at least examine it for typos. By then, at least one of my Google queries will have finished, so I Alt-Tab to my browser, click one of the search results, then Alt-Tab to the other Google query, click on one of its results. By this point, the Google search results that I skimmed over, or perhaps from the OneBox/Direct Answer, has given me an idea to what my problem was. So while waiting for the actual pages linked from Google to load up, I alt-tab back into Terminal to see if any of those hints apply. If not, Alt-Tab to the browser, etc. etc.

Today I was teaching a student how to work with Twitter data from the command-line...and because Bash is not ideal for doing math or for parsing multi-line data...it took me a few tries of tabbing into a Bash reference manual, and many taps of the Up/History key, and Ctrl-A/Ctrl-E to navigate the prompt line, to come up with the command to calculate someone's rate of Tweets (after hitting the API with a command-line program)...to the student, it must have looked like a constant stream of actual coding to get to the answer, when in fact, it was just a flurry of stupid mistakes and fixes in a span of a few seconds.

In the past, when a book was still often the best reference, or a very long webpage explanation...being able to quickly navigate the operating system may have not been such a big deal, as you were better served by just stopping your coding work to just read. Now (just as with all aspects of life and society), there seems to be a greater need to quickly navigate and filter information. I guess it's a sort of multi-tasking...which may not always be ideal, but it is much less ideal if you're multi-tasking and using your mouse to get around.

Re:How to Be a Programmer: A Short, Comprehensive, and Perso... by mstechfreak2 on Friday February 27, 2015 @02:22AM (#9117615)
I can suggest you a free educational service for those who want to learn to touch type, which helped me a lot http://www.typingstudy.com :-)