The Impact of a Missed Letter on Linux Since 1969

Set Script Home as “Starred” to receive article updates immediatelyThe Impact of a Missed Letter on Linux Since 1969

Source | Virtual Machine (ID: vmachine)

You may be curious about some system calls in Linux, such as creat instead of create and umount instead of unmount.

On page 204 of the book UNIX Programming Environment by Brian Kernighan and Rob Pike, the following footnote appears:

Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: “I’d spell creat with an e.”

The general meaning is: Ken Thompson was asked what changes he would make if he rewrote UNIX, and his answer was, “I would add an ‘e’ after creat.”

Ken Thompson likely preferred to come up with short names for commands. However, he may not have realized that the complete word “create” is only 6 characters long.

Yet, this naming convention, which was entirely due to Ken Thompson’s personal taste, has been retained since 1969. The name creat has been preserved in subsequent Unix and Unix-like systems (including Linux) to ensure code compatibility. Many old programs were written using creat, and changing the name would cause these programs to malfunction.

There are actually similar questions:

Why is it umount instead of unmount?

This is not just a matter of Ken Thompson’s taste; there is a historical reason behind it.

The Impact of a Missed Letter on Linux Since 1969

PDP-7 Minicomputer

In 1969, Ken Thompson and Dennis Ritchie developed the first version of Unix on the PDP-7 minicomputer at Bell Labs. The first version of Unix (initially called UNICS, later changed to UNIX) was primarily written in assembly language.

The assembler and linker of the first version of Unix had a symbol name length limit of 8 bytes (i.e., identifiers were allowed to be a maximum of 8 characters long).

The C language was not perfected by Dennis Ritchie until 1971-1973, and Unix was rewritten on the PDP-11 (i.e., Unix Version 2), making it the first operating system written in C.

The Impact of a Missed Letter on Linux Since 1969

PDP-11 Minicomputer

Early Unix and the C language were influenced by the limitations of the PDP-7, favoring short names. The spelling umount instead of unmount was due to considerations of “space saving” rather than just the symbol length limit.

Later, it was retained for backward compatibility. Linux has inherited these traditions to some extent.

Interestingly, these “issues” have also become part of the Unix philosophy—providing mechanisms rather than policies, allowing different tools to evolve in different ways rather than imposing a unified standard. This diversity is both a strength of Unix and one of the reasons for the steep learning curve for newcomers.


  Recommended Reading:

  1. Bill Gates: This is the coolest code I have ever written! Developed by 3 people in 2 months, it became a huge success and led to Microsoft!
  2. Only after becoming a leader did I realize what it means to work effectively; what you did was just busywork.
  3. New mobile regulations will be implemented: battery energy efficiency labels must be affixed + must last at least 7 years!
  4. AI has become a sensation! A 60-second clip of Tom and Jerry produced in one take without editing has attracted millions of views online.

  5. Can programmers not rely on maintaining old projects to get through the midlife crisis?

Leave a Comment