Some computer terms have an unusual origin. Many words refer to long-forgotten technologies. In this article, we will blow away the dust of time from some of the terms we use every day.
Most of the article is taken from Wikipedia, but finding explanations is not so easy if you don’t know what to look for.
Modern significance: meaningless conversation about trivial issues.
The term " bike-shedding " (the effect of a bicycle shed) or " bike-shedding " arose as a metaphor for the law of triviality. Danish developer Poul-Henning Kamp, a member of the Berkeley Software Distribution community, popularized the phrase in 1999 on the FreeBSD mailing list. The term then spread throughout the software development industry.
Initially, the term was introduced as a consequence of the more general "Parkinson's law." The author dramatizes the "law of triviality" by the example of discussions in the atomic reactor committee, contrasting them with discussions of a bicycle canopy ( bike-shed ): "The time spent discussing any agenda item is inversely proportional to the size of the budget." An ordinary person is not able to realize how expensive and complicated an atomic reactor is. Therefore, it is assumed that those who work on it understand the full extent. On the other hand, anyone can imagine a cheap and easy bike shed. And the planning of its construction can lead to endless discussions, because each participant will want to demonstrate their contribution to the common cause.
Template Code (Boilerplate)
Modern meaning: a piece of code copied over and over, either unchanged or almost without it.
Initially, the term Boiler plate described steel bent into cylinders for the manufacture of water heaters. Then it began to be used in the media for a banal or non-original text. Also called metal printing forms with pre-prepared text, for example, with advertisements or syndicated columns, which were transmitted to small local newspapers. By analogy, the printed forms themselves also began to be called boilerplates . One of the major suppliers of such forms was Western Newspaper Union. She offered newspapers with little geographical coverage "print-ready stories containing national or international news." These “stories” could contain advertisements placed next to plain text.
Installation for bending steel billets for water heaters.
A man holds a curved plate. Various companies offered such forms to small newspapers.
Modern meaning: defective piece of code or equipment.
The origin is unknown! Contrary to popular belief, the term appeared before Grace Hopper discovered an insect in the Mark II computer. Engineers have used this word at least since the 1870s. That is, a “bug” arose long before computers and software.For example, his used by Thomas Edison in his notes.
Carriage Return and Line Feed
Modern meaning: move the cursor to the beginning of the next line.
Both terms are from typewriters.
The carriage holds a sheet of paper and moves from left to right, changing the print position as you press the buttons. Carriage Return — The operation of moving the carriage to its original position from the left edge of the paper.
However, simply returning the carriage to the left is not enough to start a new line. After all, the carriage will remain on the same line, just go to its beginning. Therefore, you also need to translate the line: the sheet of paper inside the typewriter scrolls up one line.
Both operations (carriage return and line feed) were usually performed simultaneously when the carriage return lever was pressed.
A mechanical typewriter. To the left is the carriage return lever.
- On Unix systems (Linux and macOS), the CDMY0CDMY command is responsible for line breaks (ASCII characters: LF) or newlines.
- In CP/M, DOS, and Windows, the CDMY1CDMY command is used, where CDMY2CDMY is the carriage return and CDMY3CDMY is the line feed (CR + LF).
And this video shows the basic mechanics of carriage return and line feed:
Symbol Command (⌘)
Modern meaning: a meta key on Apple computers that allows you to create additional keyboard shortcuts.
Quote from Wikipedia:
The ⌘ symbol appeared in the late stages of the Macintosh project. The development team first applied the old Apple key, but Steve Jobs did not like the fact that the "apples" filled the Mac menu next to the Command key. In his opinion, this was an excessive use of the logo. Jobs decided to use a different character. Graphic designer Susan Kare took up the development just a few days before the deadline. Looking through the collection of characters, she came across a sign similar to clover. It is often used in northern countries to indicate cultural sites and attractions (it is an official road sign for attracting tourists in Denmark, Finland, Iceland, Norway and Sweden. Swedish Mac users often call this key Fornminne (an ancient monument), and Danish users call it Seværdighedstegn). When Susan showed the symbol to the other team members, everyone approved of him. So it was accepted in 1984 to indicate the Command key. Susan claims that she was later informed that this symbol was used in Scandinavia due to the similarity with the plan of the square castle with corner towers.
Norwegian road sign Severdighet.
Borgholm Castle, which could become the basis for the symbol.
- Wikipedia: Command Key
- Cult of Mac: What Are The Mac's Command ⌘ And Option ⌥ Symbols Supposed To Represent?
Core Dump, Core Dump
Modern meaning: taking a snapshot of the state of a (crashed) program by storing all of its memory for later analysis.
The term came from magnetic core memory - early technology for storing information in an array of ferrite magnetized rings. It has not been applied for a long time, but we use the term every day.
Memory with an array of 32 x 32 ferrite cores, storing 1024 bits (128 bytes) of data. The first dumps were printed on paper, which is quite reasonable given the small size of bytes.
Modern meaning: a visual icon (for example, a flickering vertical line) on the display indicating the position (say, for data entry). Source .
Cursor in Latin - runner. This word was called a transparent carriage on a slide rule - slider, slider. The thinner line was drawn on the slider to select the desired position on the ruler. Later, the term “cursor” migrated to computers.
An advertisement for the IBM 604 Electronic Calculating Punch, released in December 1951. The device itself began to be produced in 1948. It was alleged that the computer could replace 150 engineers with slide rules. You can see the transparent cursor - the slider - on the ruler in the middle of the picture.
Modern value: a user interface that allows you to quickly evaluate the status of the system.
Initially, the word dashboard was used to name a wooden panel in front of the wagon, which protected the coachman from dirt flying from under the horses' hooves.
With the start of the automotive industry, dashboard ‘began to be called a panel in front of the driver. It was logical to place all the necessary indicators here, so that it would be convenient for the driver to look at them. Gradually, the term became more associated with dashboards than with protection.
Wagon dashboard dashboard.
Modern significance: a network security system that creates a barrier between a trusted internal network and an untrusted external network, such as the Internet.
Fire walls - firewalls - were mainly used in town houses, but they were also found in individual houses. They were intended to prevent the spread of fire and smoke in the event of a fire. In computer technology, the term "firewall" has been used since the 1980s.
A fire wall dividing the building into two separate residential parts.
Modern significance: the type of computer programs that provide low-level equipment management and are closely associated with it.
Ascher Opler used the term firmware in the 1967th article for the magazine Datamation.Initially, firmware was separated from hardware (the processor itself) and software (the usual instructions executed by the processor). Firmware existed on the border between hardware and software, hence the name firmware . The original article is available here .
Modern meaning: universal stubs for variable names.
The term probably comes from the military abbreviation FUBAR . It is decrypted in different ways, but most often as FUBAR: "f *** ed up beyond all recognition" ( "Complete confusion").
In programming, the word foo was first used around 1960 in the Massachusetts Technological Railway Modeling Club. They created complex systems in which places emergency switches were used. With their help, it was possible to correct situations if something undesirable happened - for example, when a train at full speed approached an obstacle on the road.
As I understand it, the authors had real emergency shutdown buttons, which, for lack of a better name, were signed by foo . Perhaps, by analogy with the military FUBAR to indicate situations when everything is very, very bad.
Emergency switch (button) that must be pressed to prevent accidental operation. Perhaps the buttons in the club of model-railroad workers were signed as foo.
Modern significance: a self-employed person who is not bound by long-term labor obligations.
For the first time, Walter Scott used the term in his story Aivengo . She influenced the legend of Robin Hood.
Aivengo Comic Book Cover
In the tale, the Lord invites King Richard to his army of mercenaries, “free lances”:
I offered Richard the service of my Free Lances, and he refused them - I will lead them to Hull, seize on shipping, and embark for Flanders; thanks to the bustling times, a man of action will always find employment.
I offered Richard the services of my free squad, but he refused. I will take my people to Hull, put on ships and leave with them to Flanders. In troubled times, a military man can find business everywhere.
Thus, a “free lancer” is a mercenary howling for the one who pays the most. Free means not working for free, but having the freedom to choose an employer (in English free can mean "free" or "free").
Log, Log (Log/Logfile)
Modern meaning: a file to which events of a computer program or system are recorded.
The sailors used the lag to measure the speed of the ship. The tool was a flat wooden block ( log in English can mean "log"), tied to a long rope. Knots were imposed on the rope at regular intervals. Lag behind the ship for a certain period of time by some distance, and the sailors counted the number of imposed nodes.This was the speed of the ship, measured in knots.
Speed calculation was important for navigation, so it was recorded in a logbook, which in English was called log book . Other information was also brought in there - weather conditions, coastal landmarks, etc. All this allowed to more accurately determine the location of the ship. Later, they began to add to logbooks - log, log - and other information related to the ship. For example, port charges or depletion of stocks too fast.
Sailors use a lag to measure the speed of a ship. Source .
The device lag. Source .
Page from the logbook of the British ship Winchelsea. In the second column, the speed in knots calculated using the lag. Source .
Modern meaning: a piece of code that can be used to fix or improve a computer program.
At the dawn of computer science, if you made a mistake in the program, you had to fix the punched tape or punched card by sticking patches on the holes made.
Punch tape with patches that cover some holes.
Current Importance: A way to check the availability and duration of a response from a computer over a network.
Ping is a terminal program created by Mike Muuss in 1983. It was included in all versions of UNIX, Windows, and macOS. The author named it because “ is the sound of a sonar, in which the principle of echolocation is embodied. [.] ping uses the timed IP/ICMP packets ECHO_REQUEST and ECHO_REPLY to calculate the "distance" to the target machine ". I recommend reading the entire text .
Modern meaning: an interface (often textual) for interacting with a computer system.
The author of the term, Louis Pouzin, did not explain the origin of the word in his essay The Origins of the Shell . However, it can be traced back to the predecessor of Unix, the Multics system. Here's what her dictionary says:
The command line is passed [to the shell] for execution by the listener .
In The New Hacker's Dictionary (also known as Jargon File ) Eric Raymond ( Eric S. Raymond ) says like that :
Historical background: Obviously, the shell in Multics (footnote 1) was named so because it was a shell (footnote 3);
Footnote 3 says:
A wireframe program manually created or generated by another program (for example, a parser generator). Provides the necessary spells to configure some tasks and the flow of control over them (the term driver ( driver ) is used as a synonym). It is assumed that the user will enter some code so that the system performs the necessary actions.This approach is accepted in the world of AI and Microsoft Windows, and this confuses Unix hackers.
Unfortunately, the book does not provide evidence of this claim.
I like the (probably historically incorrect) nut analogy: the shell is the outer shell that protects the kernel.
Modern significance: an efficient way of allocating memory, reusing previously allocated fragments.
This method was invented by John Bonwick ( John Bonwick ) in 1994. Since then, it has been used, for example, in Memcached and the Linux kernel.
The cache for an object of a certain type or size consists of several previously allocated memory sections (slabs). Each slab consists of fragments of a fixed size, suitable for some objects. ( Wikipedia )
The term slab (plate, bar, large piece) came about thanks to Bonwick's friend, Tommy. Here's what Bonwick told on the Oracle blog:
We watched TV together, and the Kellogg ad started, which read “Can you pinch an inch?” (Can you pull off even an inch?).
The bottom line is that when you are overweight, you can pull off more than an inch of fat on your waist, and a plate of cornflakes will help you get rid of it.
Tommy, who weighed about 113 kg, without blinking, reached for his stomach and answered the ad slogan: “Damn, I can grab the slab!”
A decade later, Bonwick remembered this when he was looking for a word to describe the allocation of large areas of memory.
And here is the very advertisement:
Modern meaning: Unsolicited emails, such as letters, forum and chat messages.
The term refers us to the 1969 television show of the British comedy group Monty Python. According to the plot, in one cafe, Spam (a brand of canned ham) was added to almost every dish. So the authors spoiled the widespread distribution of this and other imported meat products in post-war Britain. Then there were still food cards in the country, and so they restored their agriculture.
Modern meaning: a graphical interface element that allows you to choose from a predefined set of mutually exclusive options.
The “radio buttons” had mechanical analog progenitors that were used in radios. Later they were used in tape and cassette recorders, in audio players (remember Walkman). And even later - in VCRs and camcorders.
Old car radio and radio buttons in CSS. Only one option can be selected at any given time.
Uppercase and lowercase
Modern meaning: the difference between uppercase and lowercase letters on the keyboard.
In those days, when the text for printing was typed manually, single lead imprint letters were used. Words and sentences were collected from them. Uppercase and lowercase letters were stored in different boxes to speed up the painstaking typing process.
Box for typographic set. Source .
Modern meaning: HTTP code meaning "File not found."
There is a story that the origin of this number is connected with the server room, where the central WWW database was located. Admins had to manually find the requested files and send them over the network. If the file was missing, the admins wrote a message: “Room 404: file not found.”
Most likely, this is a myth, and the number for the code was chosen based on FTP codes.
Programming languages and abbreviations
The etymology of the names of programming languages and many abbreviations deserves a separate article. But I decided to briefly talk about some of them.
The language was created by Björn Stroustrup based on the C language. Its name is a programming pun intended by Rick Mascitti, a colleague of Straustrup. “++” means the post-increment operator found in many C-like languages. It increases the value of the variable by 1. This is a hint that C++ is the spiritual "heir" of S.
C Sharp, C #
C-like language, like C++. His name alludes to C++ 'incremental' improvements: the # sign looks like four pluses. That is, C # == (C++) ++. In addition, the title is inspired by musical notation, in which # means that the note needs to be played half a tone higher.
Note C # (C sharp).
The acronym PNG stands for Portable Network Graphics . The format arose in response to the fact that in 1994 at CompuServe, support for the GIF format was lined with licensing fees. A working group led by hacker Thomas Boutell created.png, a patent-free replacement for GIF. Therefore, I prefer the unofficial format name: PNG's Not GIF . Here's a great article about PNG history.
You need to know the past to understand the present.
- Carl Sagan (1980)
I hope you enjoyed this selection.
- Awesome Computer History : A list of computer history documents, documents, and folklore stories maintained by Thomas Watson.
- Wikipedia: List of computer term etymologies : a list of articles about the origin of terms used in computer science.
- The Etymology of Programming by Brittany Storoz - JSConf EU 2018 : This video talks about the origin of some programming terms. Please note that the bug story is probably erroneous, as mentioned above.
- Terms from the world of typewriters used today in IT.
- Folklore - The Original Macintosh : jokes about the development of Macintosh and its creators.