One of the fastest growing languages on the computer language charts in recent years is Go. It went from outside the top 50 a few years ago to the top 10, and it’s still climbing.

We all know that Go language is Google launched, it is by Google hired a group of veteran programmers to form an elite Team called “Go Team” to build. Among them was Ken Thompson, the bearded inventor of the Unix operating system, who was instantly recognizable to the crowd. Ken Thompson, 75, was semi-retired from his career when he joined Go and had lost almost all his hair.

We’re looking at an old man in his 60s, a little more than twice our age, but with five or six times as much experience in the programming world as most of us. Most of our Chinese programmers have worked for more than 10 years and are almost unwilling to continue writing code, but he has been writing for more than 40 years. Although he has lost all his hair now, back in the day, he also had thick hair, from the photo seems to be a good boy.

Before he came to Google, he had been working at Bell LABS on its Plan9 operating system. Although few people had ever heard of such an operating system, Plan9 has been around for years and is still being maintained by many people. The official website for Plan9 is 9p.io/ Plan9 /. I went through the documentation for Plan9 on the website, and there were dozens of papers on Plan9, nearly half of which were signed with Rob Pike’s name. That’s enough to say that Rob Pike is the man behind the Plan9 operating system.

I thought he was just a programmer, but when I looked him up, I found out that he was also an amateur astronomer who had invented the Gamma ray radio telescope.

One of his most inspiring words to my data structuralists is that you can do everything you need to know about data structures: Array, Linked List, Hash table, binary tree. These four magic weapon is not each for its own, flexible combination to play. For example, a Symbol table organized using a hash table is made up of linked lists of arrays of characters.

He has a similar outlook to Linus — data-centric. If the right data structure has been chosen and everything is organized, the right algorithm will speak for itself. The core of programming is data structures, not algorithms.

If you like toying with advanced algorithms and data structures, what he said may strike you as a blow — fancy algorithms are more buggy and harder to implement than simple ones. Try to use simple algorithms with simple data structures.

In his mind, he always looked to Ken Thompson as his mentor

A little over a year after I joined Bell LABS, I began pair programming with Ken Thompson on a just-in-time compiler for a very small graphical interchange language designed by Gerard Holzmann. I type fairly fast, so I sit in front of the computer and Ken stands behind me watching me program. We developed quickly, but we often ran into problems and could see mistakes — it was a graphical programming language, after all. When a program went wrong, MY instinct was to dive in, check the error trace, add a debug print, start the debugger, etc., but Ken just stood there thinking, ignoring me and not looking at the code we had written that had gone wrong. After a while, I found a pattern. Ken would find the problem before I did, and would suddenly shout, “I know what the problem is.” He was right every time. I realized that Ken had built a model of the code in his head, and when something went wrong, it was the model in his head that went wrong. In thinking about why these errors occur, he can intuit where something is wrong in the model or where the code he writes differs from the pattern. Ken taught me an extremely important habit: think before correcting. If you dive into the problem, you may only fix the current problem code, but if you think about the bug first, how did the bug get introduced? You usually find and correct a higher level problem, which improves the system design and prevents more bugs from appearing. I’ve learned that this programming mindset is very important. Some people are obsessed with debugging everything line by line, using various tools. But I now believe that thinking — thinking without looking at the code — is the best way to debug because it allows you to develop better software.

Along with Ken Thompson, he invented UTF8, the coding format that apes around the world know about. He has also done some in-depth research in the frontier fields of quantum computing and communication.

Perusing his bell LABS profile page, I discovered that in 2003 he had a serious car accident — he had fallen off his bike while going downhill! Three broken ribs, shattered collarbone, split shoulder blade lengthways. Thank you for wearing a helmet, or today’s Go language is not easy to say. With interest, he posted the X-ray negatives of his bones on his blog and pored over them with his fans.

If you’re interested, you can read the original Rob Pike bio page at herpolhode.com/rob/. I don’t quite understand why Rob Pike chose the bug as his profile picture.

Pay attention to the public account “Mudong”, urge more “Mudong QunYing Biography”