Touch-typing for programmers

  • Thread starter Thread starter paulb203
  • Start date Start date
AI Thread Summary
The discussion highlights the importance of touch typing for programmers, with less than 20% of individuals reportedly proficient in this skill. Touch typing enhances speed and accuracy, which can lead to increased efficiency in coding tasks. Many programmers rely on programming environments that offer autocompletion, which can reduce the need for high typing speeds. However, the ability to type quickly may encourage programmers to rewrite and test code more frequently. Overall, while touch typing is beneficial, its necessity varies based on individual programming practices and environments.
paulb203
Messages
196
Reaction score
75
TL;DR Summary
Is touch-typing important for programmers?
What percentage of programmers have learned to touch type? Have you?
Do you think it's important, not just for programming, but for more-than-casual computer users generally?
ChatGPT didn't have much on it ("Research indicates that less than 20% of people can touch type fluently, with many relying on the hunt-and-peck method for typing .").
'Hunt-and-peck method' made me smile.
It added, "For programmers, touch typing is a valuable skill that can enhance speed, accuracy, and focus. While not all programmers may be proficient touch typists, developing this skill can lead to increased efficiency and reduced errors in coding tasks"
 
  • Informative
  • Like
Likes Yael129 and symbolipoint
Technology news on Phys.org
I learned touch typing in an optional course in school at age 13-14 and have used it ever since. When using an editor/IDE both touch typing and a set of effective keyboard shortcuts allows for much easier work flow without having to move your hand to the mouse all the time, and I know several of my younger coworkers prefer the same. Some even use editors like vim with great effect.

However, there is one trick many touch typist seems to forget (myself included at times) and that is that when typing longer strings of text, reading what you type while typing it can slow you down a lot or introduce mistakes (a bit like hearing your own speech with a slight delay makes it near impossible to speak fluently) so the trick is to just think what you want to type (or read it elsewhere if you are copying something printed, less relevant today) and then proof read it afterwards. This trick may not work well in all programming languages, but I find it works very well with natural language.
 
I was never taught, but just realised I had spent enough time at a keyboard that I could do it. I'm probably not as fast or efficient as someone properly trained but I'm a lot faster than average. (We actually did a typing test at work because someone wondered if it might be worth teaching us nerds to type. Naturally we all started comparing scores. I was one of the most accurate and in the top quartile for speed.)

One of my office mates had a mental buffer that he loaded the next half dozen words into, so he tended to turn his head and start talking to you while his hands carried on typing. That was odd to watch!
 
  • Agree
  • Like
Likes paulb203 and Greg Bernhardt
Touch typing is important for "power typing", but most programming is not like that. Most programming is done using a programming environment that "autocompletes" what is being typed, suggests alternative function/variable names, program structure, etc.
 
Last edited:
Being able to type reasonably fast helps. For programming, most of the time a programmer is essentially composing, writing code or comments without reading, but touch typing classes involve reading text as part of the learning process. Getting past around 35 wpm generally involves being able to read ahead while typing, mentally buffering text being read while typing. Using a metronome that slowly speeds up helped me the most, since it started off slow enough that I was reading ahead while waiting for the next tick. I went from around 35 wpm to 65 wpm on a manual typewriter in one high school semester due to the usage of a metronome by the teacher, who could type around 110 wpm (this requires being able to quickly change sheets of paper in a 5 minute test).

It's my opinion that a programmer that can type quickly is more willing to re-write code and | or to test multiple algorithms to improve the code than someone that would take much longer to do the re-write, discouraging them from doing the re-write.
 
Last edited:
  • Like
Likes PeterDonis and paulb203
I have been programming for 30 years. I never learned to touch type. I am terrible at it.

It would be a big help. Every few years, I try to teach myself.
 
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.

Some readers might be able to either imagine or have done this: Pick variables, design graphical flow diagram, manually write (or translate) the code on paper with pencil; and then write the code on computer with the keybaord. Knowing the arrangement of keys on the keyboard is very very helpful.
 
DaveC426913 said:
I have been programming for 30 years. I never learned to touch type. I am terrible at it.

It would be a big help. Every few years, I try to teach myself.
Courses/classes were available very commonly; maybe still are. Only need about six weeks of study and practice about fifty to 70 minutes per day .
You could one day be glad to not rely on hunt & peck.
 
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.

We would then compose a full deck with control cards and a snumb card which had the job number on it. There would also be an ident card with name and charge number information so your department could be billed for your use of computer services.

Job information was placed on magnetic tape for later processing by IT billing services, and a bill would be sent to your department, thus completing the cycle.

Initially, your program likely wouldn't compile due to a keypunch error (unlikely) or a programming syntax violation (very common). Sometimes, the keypunchers were curious and very smart, and they would fix obvious errors for you, especially if they liked your work; i.e., your coding sheet was very clean and easy to read.

Code:
$       snumb     12345
$       ident chg12345,alibaba,open-sesame,street
$       option fortran **to be explained**

$       fortran

** source for fortran program **

$       execute
$       limits 4,8K,,10K

** data for fortran program **

$       tape 08,....tape attributes - number, owner, read/write...
$       endjob

Later, programmers' use of timesharing terminals began to replace keypunch services, enabling the launch of batch files for execution after hours.

That's when hunt-and-peck typing evolved into more nuanced multiple-finger typing rhythms, as standard programming commands and statements became ingrained in your pecking, and you just knew how to type them.

I seldom look at my keyboard as I type now, and I'm not using any established typing method, but can type pretty quickly.
 
Last edited:
  • Like
  • Wow
Likes paulb203, FactChecker and symbolipoint
  • #10
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.
Oh, the good old days.
Before we could program, we had to pass a test on proper printing on coding sheets so that the keypunch people could read everything correctly. To distinguish a 0 from an O the zero must have a dot in the center and the capital O must have a curly tail at the upper right. And to distinguish an l (lower case el) from an I (capital eye) the capital I must have a hat and feet. Etc.
The keypunch people would type it twice so that any typeo would be caught as a mis-compare. The result was perfect.
 
  • #11
Our coding sheets, while alphanumeric, were limited to uppercase letters.

Some syntactical characters were missing from the mix.

Fortran:
      DO 10 I = 1, 10
      IF (A(I) .EQ. 0) GOTO 100

As we migrated to timesharing and video terminals, we transitioned from BCD character coding to ASCII coding, with extended ASCII featuring many quirky characters for drawing. Using terminals meant we no longer needed coding sheets, and the zero slash convention became more of a personal choice.

Later, those ASCII extensions became more standardized in the microcomputer age.

And now we have Unicode, encompassing a wide range of alphabets and continually expanding to include new ones.
 
  • #12
Aren't programmers human in other respects where touch typing would be advantageous? I would imagine that they need to write sentences, paragraphs, and more. Don't programmers document their work? Lacking that don't they send emails? Or post on internet forums?

My wife has told me about younger colleagues looking at her in amazement as she typed without looking at her keyboard, as if it were a magic trick. But there's a flip side: she can't do the high speed two-thumbed typing on her phone but instead hunts and pecks with a single finger. I'll bet there are no classes to teach phone typing.
 
  • Like
Likes symbolipoint, paulb203 and berkeman
  • #13
JT Smith said:
Aren't programmers human in other respects where touch typing would be advantageous? I would imagine that they need to write sentences, paragraphs, and more. Don't programmers document their work? Lacking that don't they send emails? Or post on internet forums?
Of course. But the programming environment is different from power typing. It makes a lot of suggestions about program syntax, function selections, and program structure that makes a programmer constantly select things with the mouse. That interrupts the hand positions constantly.
 
  • Wow
  • Like
Likes symbolipoint and paulb203
  • #14
JT Smith said:
But there's a flip side: she can't do the high speed two-thumbed typing on her phone but instead hunts and pecks with a single finger. I'll bet there are no classes to teach phone typing.
Yup. No matter how careful I am, I alaways miss the space bar, sovmyvtextsvalwaysclookclikecthis.
 
  • #15
Yes, I wrote documentation for my batch programming projects and gave to the secretary to type up into a manual. 80-column cards in BCD character set mode were limited to uppercase only.

One of my government projects (aka a personal project - frowned upon but often overlooked if they were few and far between) involved getting a Tai Chi manuscript typed up using all uppercase lettering. My friend's grandfather, who was a student of Yang Cheng Fu in China in the 1920s, graciously offered to translate his small 80-page Tai Chi manual into English for me when he learned of my interest in the art. I entered it onto coding sheets, and the keypunchers had a blast typing it in and asking questions about it. It was a welcome break from inputting the more dreary business data. The document was all in uppercase but I was able to print out multiple copies using the line printer or on microfiche for the fun of it. I still have it around somewhere.

Later, with the advent of the terminal and the ability to type lowercase letters. I was able to type my documentation. Later still, I developed a simple markdown-like language to enter the documentation at the beginning of my source code.

At the time, if someone changed the code, they should also update the document embedded in the commentary. When it was time to present a manual, I would run a script to extract the document into a runoff text markup language, an early precursor to IBM's SCRIPT/GML (HTML is a later example without all the bells and whistles of GML).

C:
#include <stdio.h>

/** hello: writes a greeting to the screen
*
** syntax: hello (your name)
*
*       The hello command will print "hello (your name)" to the screen followed by some
*       blank lines.
*
** error codes:
*
*      none
*
**/

int main(int argc, char *argv[]) {
    if (argc < 2) {
        printf("Usage: %s <YourName>\n", argv[0]);
        return 1;
    }

    printf("Hello, %s!\n", argv[1]);

    // Print 3 blank lines
    printf("\n\n\n");

    return 0;
}

The "/*" began a C-style comment, and the "**" implied a heading line. The commentary might also have "-" for bulleted text or the "/" on a line to denote a page break, and that was the extent of the embedded markup language.
 
  • #16
I have something simpler now with my new iPad which is a half inch longer in landscape mode. I keep tapping the wrong letters when I forget to really stretch my fingers. Typing "b", I get "v", or typing "j", I get "k" and typing "space" I get "m".
 
  • #17
FactChecker said:
Of course. But the programming environment is different from power typing. It makes a lot of suggestions about program syntax, function selections, and program structure that makes a programmer constantly select things with the mouse. That interrupts the hand positions constantly.

I understand that about programming tools. But what about documentation? Do most programmers not bother aside from perhaps a few cryptic words in-line? And what about written communication to managers, marketing people, coworkers, or customers? Do most programmers just write code and that's it?

I don't really know what "power typing" means. Is that like when you wrote your post?
 
  • Wow
  • Like
Likes symbolipoint and paulb203
  • #18
jedishrfu said:
Yes, I wrote documentation for my batch programming projects and gave to the secretary to type up into a manual. 80-column cards in BCD character set mode were limited to uppercase only.
1747585361610.webp

1747585306076.webp
 
  • Haha
Likes jedishrfu and paulb203
  • #19
paulb203 said:
TL;DR Summary: Is touch-typing important for programmers?

What percentage of programmers have learned to touch type? Have you?
Do you think it's important, not just for programming, but for more-than-casual computer users generally?
ChatGPT didn't have much on it ("Research indicates that less than 20% of people can touch type fluently, with many relying on the hunt-and-peck method for typing .").
'Hunt-and-peck method' made me smile.
It added, "For programmers, touch typing is a valuable skill that can enhance speed, accuracy, and focus. While not all programmers may be proficient touch typists, developing this skill can lead to increased efficiency and reduced errors in coding tasks"
The only thing I learned in grade school that was of great value, was taking Typing in high school. There I learned to touch type. If there is a keyboard involved, touch typing is invaluable. What is interesting, after you learn the keys, you start learning words. Then you type words instead of keys. I'm 72 and for the past couple decades I have forgotten where the keys are on occasion, so I pick a word I type that has the key and find it that way(!)

What is infuriating for a Touch Typist is using a keyboard in a dark room. All keyboards have bumps on the F and J keys - this is the base position for your index fingers. You have to find these keys to position your hands over the proper keys.

But this is where it gets infuriating: illuminated keyboards! If you illuminate the keys, you still have not revealed the F & J keys! In fact, for a Touch Typist, all you need to illuminate are the F & J.

FYI regarding TTing: You are taught to type the keys with even rhythm. And the hardest thing to type is encrypted words - in other words, random characters. I knew a guy that typed "code" in the military and was insane at the keyboard. What happens is you learn all the key pairs, and then depending how good your brain is, you learn all triples. "Code" will bring you to your knees. (Programming code is easy - it's just like text.)
 
  • #20
JT Smith said:
I understand that about programming tools. But what about documentation? Do most programmers not bother aside from perhaps a few cryptic words in-line?
Good question. Keeping documentation up to date by hand is difficult in a large program. A dozen years ago, tools like Doxygen allowed a programmer to format comments in code that could be used to automatically generate reasonably good, detailed, and up to date, documentation. I don't know what is available now.
JT Smith said:
And what about written communication to managers, marketing people, coworkers, or customers? Do most programmers just write code and that's it?
Good point. Depending on a programmer's position in an organization, he would do more or less of that. I would prefer to distinguish those tasks from the act of "programming".
JT Smith said:
I don't really know what "power typing" means. Is that like when you wrote your post?
What I mean by "power typing" is when a person sits down to mechanically type out a large volume of text, with minimal other distractions.

I wonder how much typing will be replaced by voice-to-text programs in the near future.
 
  • #21
Cardinal Gramm said:
What is interesting, after you learn the keys, you start learning words. Then you type words instead of keys.

That's true. I find that I type in little bursts; groups of letters if not whole words roll off my fingers. Like the "ers" in fingers -- that's just one very quick automatic motion. Woe to those who have to peck each letter!


Cardinal Gramm said:
You are taught to type the keys with even rhythm.

A relic from the days of typewriters that could physically jam. That was the whole reason behind the QWERTY keyboard. It was an attempt to slow down certain common letter combinations. There's an alternate keyboard, DVORAK I think it's called, that supposedly makes typing easier. But relearning the keyboard wasn't ever going to be popular so it never gained critical mass.
 
  • Informative
  • Like
Likes symbolipoint and paulb203
  • #22
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.

We would then compose a full deck with control cards and a snumb card which had the job number on it. There would also be an ident card with name and charge number information so your department could be billed for your use of computer services.

Job information was placed on magnetic tape for later processing by IT billing services, and a bill would be sent to your department, thus completing the cycle.

Initially, your program likely wouldn't compile due to a keypunch error (unlikely) or a programming syntax violation (very common). Sometimes, the keypunchers were curious and very smart, and they would fix obvious errors for you, especially if they liked your work; i.e., your coding sheet was very clean and easy to read.

Code:
$       snumb     12345
$       ident chg12345,alibaba,open-sesame,street
$       option fortran **to be explained**

$       fortran

** source for fortran program **

$       execute
$       limits 4,8K,,10K

** data for fortran program **

$       tape 08,....tape attributes - number, owner, read/write...
$       endjob

Later, programmers' use of timesharing terminals began to replace keypunch services, enabling the launch of batch files for execution after hours.

That's when hunt-and-peck typing evolved into more nuanced multiple-finger typing rhythms, as standard programming commands and statements became ingrained in your pecking, and you just knew how to type them.

I seldom look at my keyboard as I type now, and I'm not using any established typing method, but can type pretty quickly.
When did you start out?
 
  • #24
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.

That is horribly slow. I started out in high school, 1967, and the students keyed in their programs themselves using punched cards on an IBM 1130 mini-computer. We used IBM 029 card punchers. During that time, the students could go to the IBM data center on Saturdays to get some time on the lower end IBM 360s. I also went a CDC data center for time on a CDC 3150 (that data center also had a CDC 6600). Everyone I saw at those data centers and colleges, students and professional programmers, keyed in their programs themselves. For important source files kept on punch cards, high speed card punchers were used to punch sequence numbers on to decks of cards. Punched cards were cheap, so it was common to copy | sequence a new deck of cards after a few edits or on a regular basis.

At my first job in 1973, we used paper tape instead of punched cards, and again all of the programmers keyed in their own programs, or batch edit commands to update source files that were kept on removable 14 inch 5 MB hard disks kept in a 15 inch thin case, that we used similar to how floppy disks were later used. To preserve source files and other important text files, backups were done to a high speed paper tape punch that was used to punch Mylar tape, good for over 30 years.
 
  • #25
Thats a bit tricky to answer. Heres my boring response.

- 1967 or 1968 my uncle showed me the GE timesharing service accessed via a model 10 teletype. It seemed so amazing. The command prompt was “ready” and i think the execution prompt was “working” although i may conflating that with Star Trek. I recall playing tictactoe and gunner iv games. The computer felt truly magical in what it could do.

Later my computer interactions were much more mundane. However, ChatGPT once again gives that same magical feeling only more so now like the star trek computers.

- 1969-1970 I was in a GE sponsored explorer post where we learned Fortran from Mario V Farina a noted early author of computer books.

Our programs were all written on coding sheets for keypunch services but later we were allowed to use the programmers keypunch machines for quick fixes. It was slow going one class per week on fridays and one run per week getting output the following week.

My enthusiasm and coming in a little early tripled my runs because one oost mentor wiuld rush my jobs thru the system. I could watch him him from the viewing area go in and submit the job, instruct the operator to fast track it and get output immediately invariably id have a compiler error to fix and get two more chances.

Later when I worked there i was beholden to him for his help and would drop everything to craft a program he needed. He was the shift supervisor for all the GE computers.

- In 1970 i started college and checked the computer lab and decided not to go that route. I quickly saw how much you had to compete to get on a keypunch machine. I was a commuting student who had to catch the bus home and couldn’t wait around so I never took any CS courses focusing instead on my physics and math.
- i started work at GE in April 1974 as an IO clerk for the GE 635 / Honeywell 6000 computer center hired because i was the first explorer scout to come looking for a job proving their sponsorship worked. I was interviewed and hired in a day. They even gave me someones resume so i could use it as a model to write my own and boom i was hired.
- did some programming using punched cards, got a productivity award and was transferred to a contract programing group where we did inhouse projects for other GE depts using COBOL and FORTRAN-Y on coding sheets. I did mostly COBOL for a spell and fortran on the side. COBOL was very verbose as languages go. Forgetting a period after a directive could result in a cascading list of errors. One time i think i counted 400 all tracked back to a missing period in the environment division statement.

But COBOL programs doing similar tasks to a fortran program would average about 10x cheaper runtime costs mainly due to fortran always converting data read to a binary float or integer vs COBOL only converting numbers if they was actually used.
- 1976 the programming group got a teletype model 10 to share among 16 programmers most of whom still used coding sheets and card decks.
- i used the terminal more than most especially when i joined the QA group and started doing system tests to check GE mods to GCOS and to Honeywell GCOS updates using TEX a scripting language based on a command line editor. I really liked TEX.
- my last project was to port a GEISCO fortran program to fortran-y. The program was an early version of a pc to mainframe file transfer utility with an accurate % and screen based entry over serial lines before TCP/IP became the standard.

One notable thing was I used TEX to do my conversions so that all changes would be consistent in the new code. At that time, i used the televideo terminal and a screen based text editor i wrote because using a line editor on code was quite tedious. The interesting thing was session costs were based on character count meaning my screen editor screen refresh and update sent about ten times more characters across the line making a $5 session become a $50 session in GE funny money. We were a cost based site where year end profits were returned to the other GE depts.

Sadly my successor threw out that approach and decided to bash his way through and the project failed.

- 1984 moved to IBM and transitioned to PC DOS programming using Lattice C and later Turbo C. I skipped MS C because Turbo C had a nice screen-based code debugger.
 
  • #26
paulb203 said:
TL;DR Summary: Is touch-typing important for programmers?

What percentage of programmers have learned to touch type? Have you?
Do you think it's important, not just for programming, but for more-than-casual computer users generally?
ChatGPT didn't have much on it ("Research indicates that less than 20% of people can touch type fluently, with many relying on the hunt-and-peck method for typing .").
'Hunt-and-peck method' made me smile.
It added, "For programmers, touch typing is a valuable skill that can enhance speed, accuracy, and focus. While not all programmers may be proficient touch typists, developing this skill can lead to increased efficiency and reduced errors in coding tasks"
I learned touch typing in freshman year of college. I feel it was an advantage to me. Though two-finger typists can be pretty fast and much of time you are just sitting there thinking so I don't know how much difference it really made.

There's no theory to it, it's just practice until it becomes automatic so school doesn't matter except as motivation. I have also learned to play the piano, which was much harder.
 
Last edited:
  • #27
FactChecker said:
Touch typing is important for "power typing", but most programming is not like that. Most programming is done using a programming environment that "autocompletes" what is being typed, suggests alternative function/variable names, program structure, etc.
Ugh, I hate that. I can't see what I'm doing as it gets covered up by all those popups. But maybe I'm just old school.
 
  • Like
Likes FactChecker
  • #28
DaveC426913 said:
Yup. No matter how careful I am, I alaways miss the space bar, sovmyvtextsvalwaysclookclikecthis.
That's gross, dude.
 
  • #29
JT Smith said:
But what about documentation? Do most programmers not bother aside from perhaps a few cryptic words in-line?

I once asked Steve Stone (that was his real name but he was also stoned all the time) why he didn't document his code. He said wrong documentation was worse than nothing, most programmers wouldn't bother to change the documentation to reflect changes to the code, so things were better without it. He never read the stuff so why should he write it?
 
  • #30
Hornbein said:
I once asked Steve Stone (that was his real name but he was also stoned all the time) why he didn't document his code. He said wrong documentation was worse than nothing, most programmers wouldn't bother to change the documentation to reflect changes to the code, so things were better without it. He never read the stuff so why should he write it?

Honestly, that seems like a pretty lame excuse.

It takes time and effort, mainly time, to document and to maintain documentation. It's an investment in the future, kind of like buying insurance. The time spent now to document versus the time spent later trying to understand cryptic code.

As someone who has struggled to understand code that was undocumented, poorly documented, or where the documentation had not been updated I can say with certainty that it has added many hours of effort as compared to working with well documented code.

And that includes code that I myself wrote, decided not to bother documenting because it seemed so obvious, only to discover a year or two later that I had no idea WTF the code that I myself wrote was doing!
 
  • #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.
 
  • #32
Most of the projects ive been on have massive code bases developed over decades and theres 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 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?
 
  • #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.
 
  • #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.
 
  • #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 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 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

Back
Top