Earlier quoted context omitted.
People who say typing is not their bottleneck are saying they are not I/O bound but CPU bound. Makes me think what other things you need to improve before you notice your typing can't keep up? But that's kind of backwards. You will never know until you can type fast and freely, liberating your brain to actually think about the problem and code and not finding keys on the keyboard. Besides not everything you do is ori…
I thought this was a given? I am absolutely CPU bound and I don't know a single developer who isn't. Do any of you actually code (efficiently) at your maximum typing speed? At the risk of painting with a wide brush, I am currently under the impression that any developer who sits down and cranks out code non-stop at their maximum typing rate is either : a) cranking out a complete mess that will require extensive refac…
Typing Practice for Programmers
211–220 of 224 posts
Re: Typing Practice for Programmers
#212Earlier quoted context omitted.
People who say typing is not their bottleneck are saying they are not I/O bound but CPU bound. Makes me think what other things you need to improve before you notice your typing can't keep up? But that's kind of backwards. You will never know until you can type fast and freely, liberating your brain to actually think about the problem and code and not finding keys on the keyboard. Besides not everything you do is ori…
I thought this was a given? I am absolutely CPU bound and I don't know a single developer who isn't. Do any of you actually code (efficiently) at your maximum typing speed? At the risk of painting with a wide brush, I am currently under the impression that any developer who sits down and cranks out code non-stop at their maximum typing rate is either : a) cranking out a complete mess that will require extensive refac…
Also, I live in the shell and typing 200 char long one liners to do something useful and if you are a fast typist very quick too. It's great for generating on the fly reports, searches etc. This is the kind of thing that would take a slow typist a lot of time. Most of slow typists I know don't bother with these things because it takes too long. As a consequence they also get rusty with their shell foo, or never get good at it to begin with.
Re: Typing Practice for Programmers
#213Any plans on adding Common Lisp? Do you just need someone to point you to some decent code?
Re: Typing Practice for Programmers
#214Edit: It appears that this is part of the "auto-indent" mechanism (which is intuitive for indentation). How about accepting multiple newlines, or whitespace at the beginning of a line, but not requiring it?
Re: Typing Practice for Programmers
#215Re: Typing Practice for Programmers
#216This is really well done. Surprisingly well done. Way better done than average. I'll tell you how I'd like to use it. This may seem odd, but I'd like to be able to upload code that I'm interested in learning, and then type over it just like in these lessons - but not to speed up my typing, but rather for learning. Writing is a unique channel for learning new things. (Reading is too, of course, but everyone knows that…
Thanks. I will give your idea some thought. A related offshoot I've considered is allowing companies to upload private code for employee onboarding. New programmers to the company can type through common code, get a feel for the libraries, coding standards, etc.
Hey a few pieces of constructive criticism, I only did the Python lesson so I may have a skewed view though:
- your tool somehow collapses double newlines? in the example, after the import statements came a class definition, which are (as suggested in PEP8) separated by a blank line so I pressed Enter twice. But your program expected me to already type the 'c' of 'class' :(
- it skips comments. and not only comments, but also docstrings! docstrings are not just "comments that happen to be documentation" but actually proper python code and part of the program, they are not ignored like comments, but can be introspected. When I'm programming Python, I'm also typing docstrings.
- the example I got had me starting out by importing a whole load of modules that were particular to that project. for Python practice it would make more sense to practice typing imports of the standard library, or popular frameworks.
- You should try to figure out some way to incorporate the particular keyboard shortcuts, autocompletion and other typical code-editor features, because learning to use those properly gives enormous advances in efficiency. Does your program at least do auto-indenting? For other features it is more difficult since they are so different across editors.
Re: Typing Practice for Programmers
#217I don't understand programmer's obsession with typing efficiency. We're not typists. Typing is a tiny fraction of the time I spend programming. Most of the time I'm thinking, or talking to another developer about a problem. I could have the fastest typing skills and most efficient editor and not even be marginally more productive.
Obsessing over typing efficiency doesn't make much sense, but being able to reasonably quickly with a high level of accuracy type makes a huge difference. By being able to touch-type at ~30 words a minute (making a rough guess here, I have no data to back up where the speed actually lies) means that you can quickly and easily get the bit of typing necessary over with and get back to thinking, planning and studying fo…
As far as you wondering what use typing speed is to a programmer:
1) if you can type faster, it takes less effort to fix cosmetic mistakes and you do so more often. you must have noticed as well when looking over the shoulder of a slow typer they seem to make more errors? or maybe it just seems more tedious because you're waiting on it. you must have also seen that a really skilled typist can make an error and have it corrected before you hardly notice it (which is because they feel their fingers slipped).
2) in a similar sense, if you type faster, it takes less effort to quickly try something out. just type it out, maybe not even immediately test it, because as you see it on the screen you can more easily reason about it and make corrections before you do. if you type slower, you're more likely to get stuck halfway writing a block of code because you're thinking "wait this isn't right" and start doing proto premature optimization (well, that's my problem, I start thinking about what is the best/most concise/pythonic/readable way to write this code halfway, before I even got the rough structure down. I find it's almost always better to first write down something that works).
3) if you type faster you spend less time writing comments on HN and can get back to programming sooner.
Re: Typing Practice for Programmers
#218Earlier quoted context omitted.
People who say typing is not their bottleneck are saying they are not I/O bound but CPU bound. Makes me think what other things you need to improve before you notice your typing can't keep up? But that's kind of backwards. You will never know until you can type fast and freely, liberating your brain to actually think about the problem and code and not finding keys on the keyboard. Besides not everything you do is ori…
I thought this was a given? I am absolutely CPU bound and I don't know a single developer who isn't. Do any of you actually code (efficiently) at your maximum typing speed? At the risk of painting with a wide brush, I am currently under the impression that any developer who sits down and cranks out code non-stop at their maximum typing rate is either : a) cranking out a complete mess that will require extensive refac…
Well then. Time for me to get busy on one of those touch-type-training applications, that's nearly 2x what I just did.
Indeed at that speed you're sufficiently CPU bound to make that claim.
But can you crack a 2048 bit RSA code in your head within a minute while .. you know? Plus, in the later scene when he was doing the real job, he wasn't just typing at 115wpm, he was simultaneously dancing around at at least 145bpm. So there's always room for improvement.
Re: Typing Practice for Programmers
#219Well done on the NoScript front. It's rare to see a site on HN that requires JS and falls back to a nice explanation of why it needs JS (Instead of just stating the fact, or worse, displaying a white page).
I'm glad someone noticed! I hope you whitelisted typing.io in noscript:)
(even for those who think noscript browsing is not with the times any more, it's still good practice to give a decent error message / explanation instead of breaking or blanking)
Re: Typing Practice for Programmers
#220Earlier quoted context omitted.
I was taught in typing class that its better to skip errors and then come back and correct them when you are done. Not that I follow that advice especially often, but I wonder if it would be more helpful to do that. I didn't like during the demo that I was forced to correct the problem before continuing.
Take it from someone who averages 140 WPM and peaks at 160-170 WPM. Don't skip errors and return to them later. Do delete whole words (alt-backspace) and re-type them from the beginning. When you get really fast, almost all typing errors are transposition errors. By the time they register you are already several characters, even words, ahead. Trying to correct them character by character will throw you off.