We all know that if a man can be called the father of something, there must be something special about him. This is especially true of the father of Unix. He is known for at least a few achievements

First, he invented the Unix operating system, which, in a nutshell, has influenced every operating system since. So much so that it affects the way all subsequent programmers work. Although we know in hindsight that this is a very important invention, it was born in the beginning, just some accident, why say so? Just listen to me slowly

Bell LABS, where Ken was working, was supposed to develop the Multics system, but bell LABS pulled out. Ken had more time to spare. It was mid-summer, and his wife and children had gone home. As a result, he got an unexpected solitude vacation. It just so happened that Bell LABS had an unused PDP-7 machine. Ken had been working on a game called “Space Travel” in his spare time when he was developing Multics at Bell LABS, but now the mainframe was gone and there was only a clunky PDP-7. Ken tried to port “Space Travel”, which he had written similarly, but it didn’t work at all. So Ken decided to implement a system on his own, and immediately implemented it. This was the earliest version of the Unix operating system as we will later know it. Later, Ken found that the game could not be played even after the kernel of the system was written. Due to the limitation of the memory of the old computer, the file system of the game would be stuck for half a day every time. It was just like the delay when you play the game, which greatly affected the experience. Ken did some research and saw that the main problem was consuming too much memory when operating files. So he implemented the file system in a week, followed by an editor, compiler and so on in a month

Ken finished the operating system with the game and came to Bell LABS. His colleagues were not interested in his game, but they were very interested in his operating system. Later, people found that his system was very easy to use, so they gradually used it at Bell LABS. Unix was the first to be discovered by academics and has influenced almost all subsequent operating systems. The most well-known of these is the Linux operating system

In addition to inventing the Unix operating system, he also designed the regular expression and UTF-8 encoding. When he implemented the Ed editor, he set out to design and implement regular expressions, and later wrote them into Unix systems, so that almost all programs that use regular expressions now use a variant of Ken’s notation. In the 1980s, Ken worked on Plan 9, a distributed multi-user and graphical operating system. Utf-8 coding scheme is designed and implemented, which greatly facilitates the Internet character coding after this

Finally, Ken invented THE B language and designed the Go language as a key member. After completing the basics of Unix development, Ken decided that the system needed a formal programming language, so he created B. His partner, Dennis MacAlistair Ritchie, built on it, creating the now-famous C language. It can be said that without B language, there would be no brilliant C language. (PS: C is also called NB, which means New B.) Ken, along with Robert C. Pike and Robert Griesemer, designed Go. Released in 2009, it gives you the feel of writing dynamic languages while writing static ones. Simple and elegant

From Ken, we find that the key difference between masters and second-rate talents is that they have a positive attitude to solve problems when they encounter problems. When he implemented Space Travel, the lab machines stopped working, so he used pdP-7s that were unused; Without a system kernel, he implemented one himself; The file system was slow, so he made one himself. And accidentally invented utF-8 encoding and regular expressions. Compared with many of us, when we encounter problems, most of us are in the stage of complaining or waiting, and in the long run, the gap between us and the great people is getting bigger and bigger

In addition, hands-on skills are very important, and MIT’s motto is “Mens et Manus,” which is to train people like Ken. We all know that a computer is a bottom-up system, and the further down you go, the more difficult it becomes to design. Ken’s genius was that he was not only brilliant, but he also had his feet on the ground, which is why he was able to write the first version of Unix in a month and get it approved by his colleagues at Bell LABS. Right

As an additional interlude, Unix was installed on PDP-11 for everyone to use. One day, people realized that this guy always had top access to their accounts. You know, everyone at Bell LABS is no slacker. How can you tolerate that? So some people spent a lot of energy to carefully analyze Unix code, find a back door, and then recompile the entire Unix, just when everyone thought it was quiet and beautiful, but found that this guy is still like “dog skin plaster”, and easily obtained their account permissions. People are very upset about it. Until many years later Ken says the among them, the original code exists inside the back door, but not in the Unix source code, but hidden in the compiler, and in each time you compile the compiler, automatically add the back door, not finished, it will be smart to destroy evidence, cause it is almost impossible to find the back door. This is also a good example Ken gave us: computer technology 🐂🍺, can do anything? Sorry computer technology can really do anything you want!! In the words of the fathers of Linux, 👇👇👇

In the computer world, you are the creator, and you have ultimate control over what happens. If you have great skill, you can be God — on a smaller level.

​ —-Linus Benedict Torvalds

I hope Ken’s story inspired you. Finally, what do you see as the visible differences between masters and ordinary people? Please leave a comment and interact with me

The resources

Ken Thompson

Music is king

Some thoughts on Unix turning 40

Rob Pike’s UTF-8 history

The Ken Thompson Hack

On this day in history: 1943 Ken Thompson, father of Unix, was born