The young programmer may not know who he is, but you must know the works he left in this world, and today I will talk about Bill Joy, a god-like programmer.
In the fall of 1975, Ken Thompson, the Unix halo god, took a long vacation and returned to his alma mater, the University of California, Berkeley, where he would spend an academic year as a visiting scholar.
(Unix, Go inventor Ken Thompson)
At Berkeley, Ken Thompson installed Unix v6 on the latest machine, PDP 11/70, and taught a Unix course.
Not only did he explain the theory, but he also took you through lines of Unix kernel code in the evening to explain why they did it.
Every night, the students gathered around Ken Thomphson, staring into the big inquisitive eyes and listening to the teachings of the Unix authors, which was so blissful!
One of these students, Bill Joy, is the hero of our story.
Ken Thompson inspired the hacking spirit at the University of Berkeley through Unix.
One day Ken Thompson was "hanging out" in the PDP 11/70 computer room and wrote a not-so-perfect Pascal compiler on Unix, which was an eye-opener for Bill Joy.
Bill Joy was writing his project assignment in Pascal when he quickly discovered a compiler flaw, and he decided to hack and fix the compiler.
At that time, there was no IDE, they used a text editor called ed ed to write programs, ed was also written by the god Ken Thompson, but it really didn't work, and then someone wrote em, Bill Joy and Chuck improved em, turned it into en, then eo, ep... ex。
It must be mentioned that there was no monitor at that time, and everyone used teleprinter:
ed, en, ex are different from the text editors we use now, they are so-called "line editors", what are their characteristics?
Do you want to move the cursor arbitrarily in the document and choose the text paragraph you want to edit? Sorry, no! You can only move up and down in behavioral units!
You finally found a line, want to change a word in this line, sorry, no, you have to delete this line and re-enter!
What a life were programmers living at that time!
Bill Joy quickly cleaned up Thompson's "mess" Pascal compiler using ex, a tool that was fast and fast to run, and loved by students.
Later, Berkeley University purchased a batch of terminals called ADM-3A, which finally supported a cursor that could be moved at will!
Bill Joy was so overjoyed that he redesigned EX, added a "visualization mode", and EX became the famous VI.
vi This editor has made countless programmers love it, and let countless programmers go from entry to abandonment. He also started a decades-long debate with another artifact, Emacs: Who is the best editor?
There's a joke: What if you let a computer generate random numbers?
A: Get newbies out of VI.
In the summer of 1976, Ken Thompson, who had been on a "sabbatical" for a year, returned to Bell Labs, and although he was gone, the seeds of hackers he had sown began to take root.
Bill Joy and other students became more and more interested in the Unix kernel at this time, and they used their true hacking spirit to constantly improve and enhance Unix, such as Bill found the shell that came with Unix unhappy and developed his own C shell (csh).
At the same time, his Pascal compiler had a good reputation, and many people wanted a copy.
Bill Joy thought to himself, why not redistribute the Pascal compiler, the ex editor (and later the vi editor), and other enhancements to Unix in a new package?
So earlier in 1977, the famous Berkeley Software Distribution (BSD) was born!
After the release of BSD, it was very popular, and various schools and companies used it, and later developed 3BSD, 4.0BSD, 4.1BSD, 4.2BSD, 4.3BSD, and some successor products such as FreeBSD, NetBSD, OpenBSD, NeXTSTEP, etc., of which NeXTSTEP eventually evolved into Apple's famous MacOS.
BSD's growing influence upset AT&T (Bell Labs' parent company, Unix rights holder), and AT&T and Berkeley fought a protracted lawsuit.
What follows is a saga about TCP/IP.
At the time, the Defense Advanced Research Projects Agency (DARPA) led the development of computer networks, and because of BSD's good performance, Berkeley was awarded a contract with DARPA in hopes of enhancing BSD, which could support DARPA's network.
At that time, there was a company called BBN that participated in the construction of ARPANET and won the contract to implement the TCP/IP protocol stack.
The TCP/IP protocol is the cornerstone of the Internet, and anyone who has read it knows that it is not easy to understand these protocols alone, let alone implement them accurately and with high performance.
After BBN implemented the TCP/IP stack, DARPA asked Bill Joy to integrate into BSD, but Bill refused, citing the simple reason that BBN wrote TCP/IP performance was too poor! Might as well write one myself!
Bill Joy did what he said and soon handwrote a high-performance version integrated into BSD. When asked how to implement TCP/IP, Bill Joy said: It's very simple, you just read the protocol and write the code.
One person defeats a company, which embarrasses BBN very much!
Bill Joy received his master's degree in electrical engineering and computer science from Berkeley University in 1979, and in 1982 he co-founded Sun Corporation and served as chief scientist until 2003.
During this period, his achievements remained unparalleled:
Principal designer of the Network File System (NFS).
The main designer of the microprocessor SPARC (soft and hard take all!) SPARC is the heart of Sun's workstations, bringing in billions of dollars in revenue to Sun each year.
Many important technologies were inspired by Java, Jini, JXTA.
vi editor, c shell, BSD Unix, TCP/IP implementation, NFS, SPARC processor, one can do anything enough to engrave one's name in the history of computers.
But Bill Joy single-handedly created so many things that we were amazed. But he wanted to be a god, and he was missing one thing: a law or law named after him.
This is difficult for Bill Joy, who bears his name for two laws:
Bill Joy's Law 1:
Since 1984, the peak computing speed of computers has doubled every year.
Bill Joy's Law 2:
No matter who you are, most extremely smart people are always working for another person or organization.