Code Typing Practice
Type real code in 17 languages with automatic indentation and symbol-accurate scoring.
PythonPython's clean syntax relies on indentation and colons rather than bra...JavaScriptJavaScript is symbol-heavy: arrow functions (=>), template literals (`...TypeScriptTypeScript adds type annotations, generics (<T>) and interfaces on top...JavaJava is verbose: long class names, access modifiers and generics. Fast...CC code is full of pointers (*), addresses (&), braces and semicolons, ...C++C++ adds templates, scope resolution (::), streams (<<) and references...C#C# uses LINQ lambdas (=>), properties, string interpolation ($"") and ...GoGo favours short, simple syntax: := declarations, braces and explicit ...RustRust is dense with ownership symbols (&, &mut), lifetimes ('a), macros...PHPPHP code uses $ for variables, -> for objects and => for arrays, often...RubyRuby reads like English, with blocks ({ |x| }), symbols (:name) and st...SQLSQL is mostly keywords in capitals plus commas, parentheses and quotes...HTMLHTML is all about angle brackets, quotes, equals signs and slashes. Ty...CSSCSS uses braces, colons, semicolons, hyphenated property names and uni...BashShell scripts are full of $, quotes, pipes (|), redirects (> <) and br...SwiftSwift uses optionals (?, !), closures ({ $0 }) and key paths (\.name)....KotlinKotlin features lambdas ({ it }), string templates ($name) and data cl...
Where the programming symbols are
Programming uses keys that everyday typing rarely touches. This table shows the finger for each symbol in this test on a US QWERTY keyboard:
| Symbol | Finger | Shift? |
|---|---|---|
| ! | left pinky | Yes, with the right Shift |
| " | right pinky | Yes, with the left Shift |
| # | left middle | Yes, with the right Shift |
| $ | left index | Yes, with the right Shift |
| % | left index | Yes, with the right Shift |
| & | right index | Yes, with the left Shift |
| ' | right pinky | No |
| ( | right ring | Yes, with the left Shift |
| ) | right pinky | Yes, with the left Shift |
| * | right middle | Yes, with the left Shift |
| + | right pinky | Yes, with the left Shift |
| , | right middle | No |
| - | right pinky | No |
| . | right ring | No |
| / | right pinky | No |
| : | right pinky | Yes, with the left Shift |
| ; | right pinky | No |
| < | right middle | Yes, with the left Shift |
| = | right pinky | No |
| > | right ring | Yes, with the left Shift |
| ? | right pinky | Yes, with the left Shift |
| @ | left ring | Yes, with the right Shift |
| [ | right pinky | No |
| \ | right pinky | No |
| ] | right pinky | No |
| ^ | right index | Yes, with the left Shift |
| _ | right pinky | Yes, with the left Shift |
| ` | left pinky | No |
| { | right pinky | Yes, with the left Shift |
| | | right pinky | Yes, with the left Shift |
| } | right pinky | Yes, with the left Shift |
| ~ | left pinky | Yes, with the right Shift |
Why programmers should practice typing
Code is mostly read and edited, but typing speed still matters: faster, more accurate typing keeps you in flow, makes refactoring less tedious and lowers the cost of writing tests and documentation. The biggest gains come from symbols, because brackets, quotes and operators sit on the edges of the keyboard where the pinkies do the work.
Tips for typing code
- Learn the bracket pairs by feel. ( ) are Shift + 9 and 0; [ ] and { } sit to the right of P.
- Use the opposite Shift for symbols, just like capital letters.
- Let your editor help. Auto-closing brackets and snippets save keystrokes, but practice here without them so the motions are automatic.
- Measure both speed and accuracy. In code, a single wrong character can break the program, so accuracy matters more than raw speed.
How your score is calculated
- WPM (net words per minute) counts only correctly typed characters, divided by five (the standard length of a word, including spaces), divided by the minutes taken. Mistakes you leave in the text do not add to your speed.
- Raw WPM counts every keystroke, right or wrong. A large gap between raw and net WPM means accuracy is holding you back.
- Accuracy is the share of keystrokes that were correct when you typed them. Fixing a mistake with Backspace still counts the original error, which is how most employer tests work too.
- Consistency shows how steady your speed was from second to second. Above 80% means a smooth rhythm; below 60% usually means you pause on certain words or keys.
- Percentile and grade compare your net WPM with the 168,000 typists measured in the largest published typing study (average 51.56 WPM).