Rob Pike

Last updated
Rob Pike
Rob-pike-oscon.jpg
Rob Pike at OSCON 2010
Born1956 (age 6768)
NationalityCanadian
Alma mater
Occupation Software engineer
Known for Plan 9, UTF-8, Go
Spouse Renée French
Website herpolhode.com/rob/

Robert Pike (born 1956) is a Canadian programmer and author. He is best known for his work on the Go programming language while working at Google [1] [2] and the Plan 9 operating system while working at Bell Labs, where he was a member of the Unix team. [1]

Contents

Pike wrote the first window system for Unix in 1981. [3] [ non-primary source needed ] He is the sole inventor named in the US patent for overlapping windows on a computer display. [4]

With Brian Kernighan, he is the co-author of The Practice of Programming and The Unix Programming Environment . [1] With Ken Thompson, he is the co-creator of UTF-8 character encoding. [1]

Additional works

While at Bell Labs, Pike was also involved in the creation of the Blit graphical terminal for Unix, [5] the Inferno operating system, and the Limbo programming language. [1] Pike also developed lesser systems such as the vismon program for displaying faces of email authors. [6]

Over the years, Pike has written many text editors; sam [7] and acme are the most well known.[ citation needed ]

Pike started working at Google in 2002. [1] While there, he was also involved in the creation of the programming language Sawzall. [8]

Pike appeared on Late Night with David Letterman , as a technical assistant to the comedy duo Penn & Teller. [3] [ non-primary source needed ]

Personal life

Pike is married to author and illustrator Renée French; the couple live both in the US and Australia. [9]

See also

Related Research Articles

<span class="mw-page-title-main">Brian Kernighan</span> Canadian computer scientist

Brian Wilson Kernighan is a Canadian computer scientist. He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through co-authorship of the first book on the C programming language with Dennis Ritchie. Kernighan affirmed that he had no part in the design of the C language.

<span class="mw-page-title-main">Dennis Ritchie</span> American computer scientist, co-creator of the Unix operating system

Dennis MacAlistair Ritchie was an American computer scientist. He created the C programming language and, with long-time colleague Ken Thompson, the Unix operating system and B programming language. Ritchie and Thompson were awarded the Turing Award from the ACM in 1983, the Hamming Medal from the IEEE in 1990 and the National Medal of Technology from President Bill Clinton in 1999.

<span class="mw-page-title-main">Plan 9 from Bell Labs</span> Distributed operating system

Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has been free and open-source. The final official release was in early 2015.

Yacc is a computer program for the Unix operating system developed by Stephen C. Johnson. It is a lookahead left-to-right rightmost derivation (LALR) parser generator, generating a LALR parser based on a formal grammar, written in a notation similar to Backus–Naur form (BNF). Yacc is supplied as a standard utility on BSD and AT&T Unix. GNU-based Linux distributions include Bison, a forward-compatible Yacc replacement.

The plumber, in the Plan 9 from Bell Labs and Inferno operating systems, is a mechanism for reliable uni- or multicast inter-process communication of formatted textual messages. It uses the Plan 9 network file protocol, 9P, rather than a special-purpose IPC mechanism.

<span class="mw-page-title-main">Acme (text editor)</span>

Acme is a text editor and graphical shell from the Plan 9 from Bell Labs operating system, designed and implemented by Rob Pike. It can use the Sam command language. The design of the interface was influenced by Oberon. It is different from other editing environments in that it acts as a 9P server. A distinctive element of the user interface is mouse chording.

<span class="mw-page-title-main">Unix philosophy</span> Software development philosophy

The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to minimalist, modular software development. It is based on the experience of leading developers of the Unix operating system. Early Unix developers were important in bringing the concepts of modularity and reusability into software engineering practice, spawning a "software tools" movement. Over time, the leading developers of Unix established a set of cultural norms for developing software; these norms became as important and influential as the technology of Unix itself, and have been termed the "Unix philosophy."

<span class="mw-page-title-main">Sam (text editor)</span> Multi-file text editor

Sam is a multi-file text editor based on structural regular expressions. It was originally designed in the early 1980s at Bell Labs by Rob Pike with the help of Ken Thompson and other Unix developers for the Blit windowing terminal running on Unix; it was later ported to other systems. Sam follows a classical modular Unix aesthetic. It is internally simple, its power leveraged by the composability of a small command language and extensibility through shell integration.

rio (windowing system) Windowing system for Plan 9 from Bell Labs

rio is Plan 9 from Bell Labs' windowing system. It is well known for making its window management transparent to the application. This allows running rio inside of another window manager.

<span class="mw-page-title-main">Inferno (operating system)</span> Distributed operating system

Inferno is a distributed operating system started at Bell Labs and now developed and maintained by Vita Nuova Holdings as free software under the MIT License. Inferno was based on the experience gained with Plan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly compilers, graphics, security, networking and portability. The name of the operating system, many of its associated programs, and that of the current company, were inspired by Dante Alighieri's Divine Comedy. In Italian, Inferno means "hell", of which there are nine circles in Dante's Divine Comedy.

Vismon was the Bell Labs system which displayed authors' faces on one of their internal e-mail systems. The name was a pun on the sysmon program used at Bell to show the load on computer systems. It can also be interpreted as "visual monitor". The system inspired Rich Burridge to develop the similar but more widespread faces system, which spread with Unix distributions in the 1980s. This in turn inspired Steve Kinzler to develop the Picons, or personal icons, which have the goal of offering symbols and other images, as well as faces, to represent individuals and institutions in email messages. Other systems such as the faces available on the LAN email functions of the NeXTSTEP platform also seem to have been influenced by the original Vismon capabilities. The faces program in Plan 9 is the direct descendant of this system.

<span class="mw-page-title-main">Blit (computer terminal)</span>

Blit is a programmable raster graphics computer terminal designed by Rob Pike and Bart Locanthi Jr. of Bell Labs and released in 1982.

Alef is a discontinued concurrent programming language, designed as part of the Plan 9 operating system by Phil Winterbottom of Bell Labs. It implemented the channel-based concurrency model of Newsqueak in a compiled, C-like language.

<i>The Unix Programming Environment</i> Book by Brian Kernighan

The Unix Programming Environment, first published in 1984 by Prentice Hall, is a book written by Brian W. Kernighan and Rob Pike, both of Bell Labs and considered an important and early document of the Unix operating system.

<span class="mw-page-title-main">Renée French</span> American comics writer and illustrator

Renée French is an American comics writer and illustrator and, under the pen name Rainy Dohaney, a children's book author, and exhibiting artist.

Sawzall is a procedural domain-specific programming language, used by Google to process large numbers of individual log records. Sawzall was first described in 2003, and the szl runtime was open-sourced in August 2010. However, since the MapReduce table aggregators have not been released, the open-sourced runtime is not useful for large-scale data analysis of multiple log files off the shelf. Sawzall has been replaced by Lingo for most purposes within Google.

<span class="mw-page-title-main">Ken Thompson</span> American computer scientist, co-creator of the Unix operating system

Kenneth Lane Thompson is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B programming language, the direct predecessor to the C programming language, and was one of the creators and early developers of the Plan 9 operating system. Since 2006, Thompson has worked at Google, where he co-developed the Go programming language.

<span class="mw-page-title-main">Unix filesystem</span> Directory structure used by a Unix-like operating system

In Unix and operating systems inspired by it, the file system is considered a central component of the operating system. It was also one of the first parts of the system to be designed and implemented by Ken Thompson in the first experimental version of Unix, dated 1969.

Newsqueak is a concurrent programming language for writing application software with interactive graphical user interfaces.

<span class="mw-page-title-main">Robert Griesemer</span> Computer programmer and co-creator of Go

Robert Griesemer is a Swiss computer scientist. He is best known for his work on the Go programming language. Prior to Go, he worked on Google's V8 JavaScript engine, the Sawzall language, the Java HotSpot virtual machine, and the Strongtalk system.

References

  1. 1 2 3 4 5 6 ""The Best Programming Advice I Ever Got" with Rob Pike". InformIT . Pearson Education. Aug 15, 2012. Archived from the original on 22 Sep 2023. Retrieved 15 January 2024.
  2. Cox, Russ; Griesemer, Robert; Pike, Rob; Taylor, Ian Lance; Thompson, Ken (2022-04-01). "The Go programming language and environment". Communications of the ACM. 65 (5): 70–78. doi: 10.1145/3488716 . ISSN   0001-0782. S2CID   248385361.
  3. 1 2 Pike, Rob. "Rob Pike". 9p.io. Alcatel-Lucent. Archived from the original on 29 Jan 2023. Retrieved 15 January 2024.
  4. "Dynamic generation and overlaying of graphic windows for multiple active program storage areas" . Retrieved April 1, 2020.
  5. Pike, Rob (October 1984). "The UNIX System : The Blit: A Multiplexed Graphics Terminal" (PDF). AT&T Bell Laboratories Technical Journal. 63 (8). 15. doi:10.1002/j.1538-7305.1984.tb00056.x . Retrieved 7 January 2024.
  6. Pike, Rob; Presotto, Dave Lee (June 1985). Face the Nation. USENIX Summer Conference Proceedings. Portland, OR, USA.
  7. McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.
  8. Pike, Rob; Dorward, Sean; Griesemer, Robert; Quinlan, Sean (2005-01-01). "Interpreting the Data: Parallel Analysis with Sawzall". Scientific Programming. 13 (4): 227–298. doi: 10.1155/2005/962135 .
  9. "Renee French – A River Runs Through It – Artist Interview". WOW x WOW. 27 July 2015.