I posted to reddit, asking if other programmers learned the craft via copy work:
Lots of self-selecting confirmation bias + survivorship bias.
E.g. those that survived (and are on reddit and comment on questions) used this method, those that didn’t, didn’t.
I guess I really want to hear stories of people that don’t learn this way.
The copy-and-pasters (code copypastas? the horror!).
What is “copywork with code” called?
Anyway, this got me thinking, “what’s this called?”
We know in fiction and copywriting we call it “copywork”.
Via Gemini v2 Flash (Gv2F?)
Copywork is the practice of copying a text by hand.
What do we call “copywork for programming?”
I asked our llm friends, with a focus on the the 1980s and 1990s (and earlier) when copying code from magazines was a big deal. In many cases, the only way to play games.
Claude (with light editing/formatting):
- “Type-in programs” was the most common and widely used term, referring to the practice of manually typing program listings from magazines into your computer
- “Program listings” or “code listings” were the standard terms for the actual printed code in magazines like COMPUTE!, Creative Computing, and Byte
- “Key-in programs” was another variant term used by some publications and computer users during this era
- “Source listings” was a more technical term sometimes used, especially in more professionally-oriented computer magazines
- “Keyboard software” was an occasional term used to describe these programs that users had to manually input
- “Listing of the month” or “Program of the month” were regular features in many computer magazines where they’d publish one significant program to type in
- “BASIC listings” was a specific term often used since many of these programs were written in BASIC, the dominant programming language for home computers at the time
- “Public domain software listings” was sometimes used when magazines published freely distributable programs that readers could type in
- “Magazine programs” became a colloquial term among computer hobbyists referring to any software published in print form that required manual entry
Of course: Type-in programs.
Definition via Gemini:
Type-In Programs were computer source code printed in magazines or books that users would manually type into their computers.
This is the standard term.
From wiki:
A type-in program or type-in listing was computer source code printed in a home computer magazine or book. It was meant to be entered via the keyboard by the reader and then saved to cassette tape or floppy disk. The result was a usable game, utility, or application program.
This is not quite a pedagogical tool.
It’s a method of distribution, because it was cheaper to print the code on paper than to ship a tape/floppy/etc.
Deepseek:
- Type-In Programs: This was one of the most common terms used to describe the activity of typing in code listings from magazines.
- Listings: The actual code provided in magazines was often referred to simply as “listings.”
- Type-Ins: Another term for the programs that readers would type into their computers.
- Type-In Software: Refers to the software that was created by typing in the code from magazines.
- Type-In Games: Specifically, games that were provided as code listings for readers to type in and play.
- Type-In Utilities: Programs that served practical purposes, such as business or math utilities, provided as code listings.
- Type-In Applications: Broader term for any application software provided in this format.
- Type-In Code: The actual lines of code that readers would input into their computers.
- Type-In Projects: Sometimes referred to as projects, especially if they were more complex or involved multiple parts.
- Type-In Listings: Another way to refer to the printed code listings in magazines.
- Type-In Programs from Magazines: Emphasizing the source of the code listings.
- Type-In Computing: A broader term that could encompass the entire activity and culture around typing in programs from magazines.
Oh man, stuck on the “type-in” theme there buddy.
GPT4o Bro:
In the 1980s, when magazines provided code listings for readers to copy and try, this practice and the listings themselves were known by several names, including:
- Type-in Programs
- Type-in Listings
- Magazine Listings
- Printed Listings
- Listing Programs
- Program Listings
- Code Listings
- DIY Software
- User-Contributed Programs
- Homebrew Code
- Listing Games (for games specifically)
- Copy & Type Software
- Type & Run
- Key-in Programs
- Listing Software
- Type-it-yourself Programs
These listings appeared in magazines like Compute!, BYTE, Creative Computing, Your Computer, Input, RUN Magazine, and many others. Readers would manually enter the code (often in BASIC or machine language) to run games, utilities, or educational programs on their home computers.
Nice.
I like names that capture the details of the activity, e.g. “Type & Run” and “Printed Listings” and “Key-in Programs”.
Candidate Modern Names?
What are some modern names we can use inspired by all of these?
Chatting with our friends, like:
- Hand-Typed Code
- Code By Hand
- Code-Along Programs
- Keyboard Coding
- Code Copywork
I like names with alteration, or similar. Keyboard Coding is really nice.
Maybe Keyboard Codework, Copy Codework, etc.
Who Is Still Doing This?
Are there people doing this kind of thing in the modern world with modern languages?
I found codeguppy has a PDF called “Draw with Code” that has printable pages of (codeguppy-specific) JavaScript for kids to draw pictures.
Found via:
Here’s an example:
All credit to them, this is cool!
It’s presented as a “deck”:
This is sick!
They may have more stuff like this on their site, but I can’t find it. It’s a complex site and resists my quick-scan skills.
Now imagine a thick hard cover book of one-page pedagogically-tuned Python code listings on standard algorithms.
Clean. Simple. Modern. Fun!?