Touch-typing for programmers

  • Thread starter Thread starter paulb203
  • Start date Start date
Click For Summary
SUMMARY

Touch typing is a crucial skill for programmers, enhancing speed, accuracy, and overall efficiency in coding tasks. Research indicates that less than 20% of individuals can touch type fluently, with many resorting to the hunt-and-peck method. The discussion highlights that while touch typing is beneficial, especially in programming environments that offer autocomplete features, it requires practice and mental buffering to achieve higher speeds. Techniques such as using a metronome during practice can significantly improve typing speed, as demonstrated by participants who increased their words per minute (wpm) from 35 to 65.

PREREQUISITES
  • Understanding of touch typing fundamentals
  • Familiarity with programming environments that support autocomplete features
  • Basic knowledge of keyboard layouts and typing techniques
  • Experience with typing practice tools or software
NEXT STEPS
  • Explore typing practice software like Typing.com or Keybr.com
  • Learn about the use of metronomes in typing practice
  • Research the benefits of keyboard shortcuts in IDEs like Visual Studio Code
  • Investigate advanced touch typing courses or classes available online
USEFUL FOR

This discussion is beneficial for programmers, software developers, and anyone looking to improve their typing efficiency and accuracy in coding and documentation tasks.

  • #31
Yeah, I don't want to know how the code is doing it. What I want to know is what you are trying to do.
 
Technology news on Phys.org
  • #32
Most of the projects ive been on have massive code bases developed over decades and there's never any good documentation beyond the comments someone chose to include in the code.

You have to get used to recognizing code patterns, peoples coding styles and the names used for classes, methods and variables.

On one project, i needed to use a class that had a name with a suffix of Calculator. The task was to expand it use into a 2D array of calculations. It was a fairly complex class with little documentation so i assumed it carried some state information and made multiple instances. It worked well in testing on one platform but failed on another with out of memory.

I got scolded by the programmer managing the larger platform for not realizing it had no state. There was nothing in the code to help into using it and i had to make a value judgement to meet a short deadline.

This is where naming is important. True the class calculated something but it had no state information in contrast to real-world calculators which do. I do recall asking him that very question and getting an impression that it held some state but oh well teamates are sometimes like the geeks in the wargames movie.

Live and learn.
 
  • #33
I have this spreadsheet I made about a year ago where I was trying to model something, oxygen consumption by a material within a sealed container. And it has these formulas embedded in the spreadsheet columns, referencing each other. You know, f7-d7*exp(-$h$2*c7), etc, etc. I had made no notes about it and it was driving me crazy trying to figure out what it was doing, what I had made.

I finally deleted it and started over.
 
  • #34
symbolipoint said:
If keyboard is arranged the way or nearly the way the old manual typewriters were several decades ago, then very obviously, if "touch typing" to be the same as how "typing" was taught back then, then learning to type that way is an ADVANTAGE, regardless if writing computer language code or anything else.
With the exception of some keyboard arrangements (such as Dvorak) that became somewhat popular 20 or 30 years ago, computer keyboards are laid out similarly to the arrangement found on typewriters. This style is known as QWERTY, so called because these letters appear on the left side above the home row.

BTW, what I quoted above is a very long and somewhat cumbersome sentence.
Hornbein said:
I learned touch typing in freshman year of college.
I took a typing class in high school back in the early 60s. When I was in the Army, after basic training, my AIT (advanced individual training) was as a clerk-typist, so I spent most of 8 weeks using typewriters. I eventually got up to 60 wpm. I didn't realize it at the time, but that skill was very advantageous for the computer programming I've done in the past 50+ years.
 
  • #35
Mark44 said:
I took a typing class in high school back in the early 60s.
I took it in high school as well. I think that I was the only guy there. It definitely has come in handy over the years.
 
  • Like
  • Agree
Likes   Reactions: berkeman and Mark44
  • #36
I knew a coworker who taught us Fortran and COBOL programming at GE who had been a court stenographer in a previous career. It was interesting to see him work on the now-classic Western Electric Model 32 Teletype with paper tape feed.

He sat bolt upright in the chair, his hands in a ready position. The instant a response came back from the computer, he typed in another command just as quickly, if not faster.

The model 32 responded at a rate of 10 characters per second:

Telex_machine_ASR-32.webp


As a side note, we had a very fast keypunch operator. One time, a keypunch salesman came to our site to promote the latest model machine, which he claimed would never have a pause or jam.

Our keypuncher got on the machine and instantly hit her stride. There was a pause as she quickly reached the character buffer limit. He was flabbergasted.

She was typing at a rate over 10-12 cps, which the machine could not handle, even with a keystroke buffer.
 
Last edited:
  • #37
jedishrfu said:
She was typing over the 140 cps rate
Typo? Or cps isn't characters per second?
 
  • Like
Likes   Reactions: jedishrfu
  • #38
berkeman said:
Typo? Or cps isn't characters per second?
Thanks @berkeman, I fixed the rate. It should have been 10-12 cps. The 140 was a WPM rate that I conflated in my post.

The machine limit of an IBM 029 keypunch machine was 10-12 cps. Its buffer was designed to allow the operator to type continuously without having to stop and wait for the machine.

She was able to go beyond it consistently and would have to wait for the machine, thus confounding the salesman.
 
  • Like
Likes   Reactions: berkeman
  • #39
I learned touch-typing in High School.
"Fingers on the home keys" isn't the best starting point when coding in most computer languages - especially for the right hand.
Most of the time, my index fingers are over the "F" and "L" rather than "F" and "J". And when there is a lot of numbers, it's roughly the "R" and "I".

The QWERTY keyboard is widely used - even in countries such as Japan. And if you ever attempted to type on a Japanese typewriter, the reason would become very clear.
 
  • #40
jedishrfu said:
When I started out programming, there were no keyboards to type on. We used coding sheets to enter our code and then submitted them to keypunch services for conversion into a card deck.
In the early 70's, I used both the coding sheets and the keypunch machines. In college, it was a batch programming on an IBM 1620. So, write it up, transcribe it to a coding sheet, check it, wait for a keypunch, type it up and check as you typed, read through the card deck to discard bad cards, and finally, if any cards were still bad, repunch them. Since you could only get 2 or 3 compiles in per day, it was important to get it right on every try. But with so many opportunities to recheck, at one point I was able to go 3 months without a programming error ever making it to the computer.
 
  • Like
Likes   Reactions: jedishrfu
  • #41
One thing about touch typing on a typewriter that has gone away is the discipline to get it right. Hitting the backspace key is so much easier than getting out the little bottle of "white out" or crumpling up the whole page in frustration. There were typewriters that had a white correction tape built in so you could do a kind of backspace but for the most part you just had to be good. You had to. With computers my error rate is astronomical but my overall throughput is better. It used to be even better still with my old IBM keyboard. Now I have an Apple keyboard. What a piece of junk it is!
 
  • Informative
Likes   Reactions: symbolipoint
  • #42
In terms of commenting/documenting code, good code is often self-documenting. Functions, variables and objects should be named in such a clear way, that it is obvious to most readers what is happening and what each part is doing. When something unclear or unorthodox needs to be done by the original programmer, then it is helpful to see a comment on why they decided to do it that way. I have seen plenty of code where a function is defined and it is double f(double x) { ... }, not very helpful, and no I don't want to read long lines of comments, when you could have just named things better.


For touch typing, no harm in having the skill. But one of the main problems with code, is that most coders just dive straight into writing the code, eager to solve the problem. Then spend ages refactoring, or re-writing completely, because they rushed in. Then spend another bunch of time writing unit tests, then realise actually they should have written it in a different way altogether. So typing isn't the key time-saver imo
 
  • Like
Likes   Reactions: symbolipoint
  • #43
jackjack205,
still touch-typing is very useful. One less aspect of stress. Fingers have an automated way of finding most of the keys and characters.
 
  • #44
I thought fast touch typing is only required in computer science if one plans to be a black hat hacker. In an anime, I saw this hacker girl was also able to type with her foot also.
 

Similar threads

  • · Replies 40 ·
2
Replies
40
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 14 ·
Replies
14
Views
6K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 37 ·
2
Replies
37
Views
3K
  • · Replies 11 ·
Replies
11
Views
3K
Replies
3
Views
3K
  • · Replies 24 ·
Replies
24
Views
2K
  • · Replies 5 ·
Replies
5
Views
4K
Replies
10
Views
5K