Programming Legends - The world's most famous programmers
BY ARNO HUETTER
About the Author
Arno wrote his first lines of code on a Sinclair ZX80 in 1984.
Over the years, he has programmed internet banking systems, mobile
phones (pre-smartphone), public administration and healthcare software,
and application performance monitoring solutions in C/C++, Java and C#,
including a fair amount of database development. Today he works as
development lead at Dynatrace. Arno is also a mentor at CoderDojo Linz, a
coding club for children.
Being a history buff in general, he enjoys reading and writing about
computer history, too.
• "Programmers who contributed hugely to and had a lasting influence on the software
development profession, linked with an extraordinary personal story."
• Technical brilliance is one thing, but it might also require being at the right place at the right
time, finding a congenial partner or having recent innovations at one's disposal.
• Most "top 10 influential / famous / rockstar programmer lists" have the usual suspects:
•  Ritchie, Stroustrup, Gosling, Torvalds, Hejlsberg, Berners-Lee, Kernighan, Thompson, van Rossum, Knuth
•  Ritchie, Torvalds, Stroustrup, Berners-Lee, Kernighan, Knuth, Thompson, van Rossum, Gosling, Gates
•  Ritchie, Torvalds, Knuth, Thompson, Stroustrup, Berners-Lee, Kernighan, Gosling, Stallman, Lovelace
• Alan Turing? Mathematician, cryptanalyst, specified electromechanical code-breaking devices,
proposed universal computing machine.
• Steve Wozniak? Great programmer, but his genius was in electronic engineering.
• This small selection is based on a voting within a developer-only Facebook group plus one
author choice (Ritchie/Thompson).
• Born 1815 in London.
• Daughter of Lord Byron, one of England‘s greatest poets.
• In order to prevent Ada from becoming a romantic like her
father, her mother supports Ada‘s interest in mathematics and
logic. She is tutored by some of the best mathematicians of her
• Her analytical skills are truly remarkable.
• Lovelace is widely recognized as "the first programmer".
(Bernoulli numbers algorithm for a Turing machine).
• US Department of Defense even named the programming
language "Ada" in her honor.
• 1833: At age 17 she is introduced to Charles Babbage,
inventor of the so called „Difference Engine“, a mechanical
device used to calculate polynomial functions (only a prototype
was finished during his lifetime, first full engine constructed in
• Lovelace gets to see the Difference Engine prototype, visits
Babbage often and exchanges letters on the topic.
• 1837: Babbage proposes the „Analytical Engine“, a general-
purpose computer (input via punch cards, an idea originating in
the Jacquard loom; base-10 arithmetic, 10,000 number storage
via gear wheel state - never built - but emulators exists today
incl. visual interface).
• In 1842 Babbage explains his plans to Luigi Federico Menabrea
(future Italian prime minister), who in turn describes the invention in a
• Lovelace translates Menabrea's article on the Analytical Engine to
English and adds her own notes. These notes end up two times
longer than the original article itself, and become famous.
• She provides a detailed algorithm for calculating Bernoulli numbers,
including loops, conditional branches and subroutines. The
"translated" source code can be found on GitHub today.
• She also describes the engine as a general purpose computer, as
opposed to a pure calculating machine.
• Lovelace is the first one to grasp that the engine's concept goes
beyond numerical computations, but can be applied to any symbolic
representation. For example the machine might create music.
• Born 1938 in Milwaukee. Ingenious problem solver at school, wins a contest
in finding the most words that can be created from a set of letters, 2,000
more than judges had on their list.
• While studying Physics at Case Institute, Knuth is introduced to the IBM
650 computer (first mass-produced). He programs in machine code, later
assembler, notices he can improve most existing programs. PhD from
Caltech (later becomes Professor at Stanford).
• Knuth gets a contract to write an Algol compiler for Burroughs.
• In 1962 receives an offer from Addison Wesley to write a book on
compilers. Decides he must initially cover the elemental theory and
composes the first chapters of "The Art of Computer Programming".
• Knuth covers every topic in great detail, and conducts in-depth preparation.
The first volume (Fundamental Algorithms), based on a 3000 page
handwritten manuscript, is published in 1968.
• Volume 2 (Seminumerical Algorithms) follows in 1969, volume 3 (Sorting
and Searching) in 1973 and volume 4 (Combinatorial Algorithms) in 2011.
• The New York Times hails the books as “the profession's defining treatise”.
• TAOCP includes samples in MIX assembly language, for the hypothetical
MIX computer (only exists as emulation).
• Book exercises have a difficulty rank up to 50, with Fermat's Last Theorem
ranking at 50 originally, downgraded to 45 after being solved by Andrew
• Knuth offers a USD 2.56 reward check for every mistake found in his books.
People usually don't cash them in, but put them into a frame.
• He receives the Turing Award in 1974.
• When receiving galley proofs of the 2nd edition of TAOCP 2 in 1975, Knuth
notices the poor quality of the typeset, as photo typesetting had replaced
hot metal typesetting.
• Knuth is aware of the advances in digital typesetting from Xerox, and
concludes to design his own typesetting system: TeX, aimed to produce
high-quality at minimal effort and create the same results on any system.
• He invents the font description language Metafont, and provides
mathematical specifications for each letter. The letter "S" alone takes weeks
• TeX is implemented in the WEB language (also created by Knuth, code is
usually converted to C), and published in 1978. It is ported to many
operating systems, and very popular within academia up to this day.
Dennis Ritchie and Ken Thompson
• Ritchie: born in 1941 in New York, graduates from Harvard with a PhD in
Physics and Applied Mathematics.
• Thompson: born in 1943 in New Orleans, graduates from Berkeley with a
Master in Electrical Engineering and Computer Science.
• In 1966 resp. 1967 they start working at Bell Labs (AT&T division,
Computing Research Center). Thompson creates the language B, the
precursor of C.
• Bell had developed a timesharing OS called MULTICS for a General
Electric Mainframe in the 60s. In 1970, Ritchie and Thompson implement
the first version of Unix (based on MULTICS). They use assembly on a
PDP-7, then port it to a PDP-11.
• Set up as an internal skunkworks project, officially they are working on a
word processor (nroff) for the Bell Labs patent department.
Dennis Ritchie and Ken Thompson
• 1972: Development of C starts on a PDP-11, mainly by Ritchie. He creates
a perfect balance between language expressiveness and efficiency. C soon
gets ported to other platforms.
• Unix is then rewritten in C by Ritchie (I/O subsystem) and Thompson (most
other subsystems). Unix Philosophy: Minimalist design, make each program
do one thing well, and work together, over text streams as interface.
• As a regulated monopoly, AT&T is not allowed to enter the computer
business directly. Instead they are required to license non-telephone
technology to anyone who asks.
• Academia picks up Unix, where it is being improved, e.g. at the University
of Berkeley under Bill Joy. First BSD release in 1977.
• Ritchie and Brian Kernighan publish "The C Programming Language" in
Dennis Ritchie and Ken Thompson
• In 1979 Bell Labs finishes Version 7 Unix.
• 1983: AT&T releases Unix System V. First TCP/IP
implementation in BSD 4.2. System V and BSD are the two
roots for all following Unix implementations.
• Also in 1983, Ritchie and Thompson jointly receive the
Turing Award "for their development of generic operating
systems theory and specifically for the implementation of
the UNIX operating system".
• 1999: Bill Clinton presents Ritchie and Thompson with the
National Medal of Technology.
• Gates is born in Seattle in 1955. Father lawyer, Mother board member of
United Way (charitable organization, together with IBM president / CEO
John Opel). Paul Allen is born in 1953. Both attend Lakeside High School.
• Gates plays lots of competitive games during childhood with rewards for
winning and penalties for losing. He reads Fortune magazine, plans for his
first company and develops a strong business instinct. Gates is generally
described as intense in everything he does.
• At age 14, his high school receives a teletype terminal and timesharing
slots on a General Electric computer. He immediately takes an interest.
Quoting his teacher: "On day one I knew more than him, but only on day
• Gates uses Basic for creating a course enlistment program, putting him into
classes at the time and with the girls he wants.
• Later Gates and Paul Allen are offered computing time on a DEC PDP-10 in exchange for
finding operating system bugs at a Seattle-based company named CCC. They meet Steve
Russel there, creator of the first computer game "Space War" back at MIT.
• They learn Assembler, read operating system manuals, and dig the CCC dumpsters for source
code listings. They hack user accounts to get more timesharing time.
• At age 17 Gates works with Allen on the Traf-O-Data project, building traffic counter devices
using an Intel 8008.
• January-February 1975: Gates and Allen develop Altair Basic on Harvard
University‘s PDP-10 (using an Intel 8080 emulator). Gates manages to strip
down the code to a 3.2k mem footprint.
• Gates basically sells a non-existing product to MITS on the phone.
• Delivered on paper tape, Basic is the first commercially available software
for microcomputers. Microsoft is founded on April 4th, 1975 in Albuquerque.
Gates leaves Harvard (receives honorary PhD many years later), Allen quits
• Gates is quite a rebel, being arrested for speeding, also breaks into a
construction site, unlocks and drives construction vehicles.
• Basic is ported to most 8bit computers, sets foundation for the Microsoft
empire. DOS follows in '81, Gates outsmarts IBM in the deal.
• His charity foundation has donated 37 billion USD up to today.
• Born 1970 in Kansas.
• Highly talented as a kid, excels in math, starts programming as a teenager.
• At one point breaks into a school to get access to an Apple II, is sentenced
to live in a juvenile home for a year.
• Carmack sells games to distribution companies. Drops out of college and
joins Softdisk, where he meets John Romero.
• In 1990 Carmack is the first one to develop smooth side-scrolling on PC
hardware (EGA), AKA Adaptive Tile Refresh. In a one-nighter Carmack and
Tom Hall code the "Dangerous Dave in Copyright Infringement" demo
(referring to Nintendo's Super Mario).
• Adaptive Side Scrolling on limited PC hardware:
• EGA: 2 screen buffers, with 64 additional pixels and a drawing offset.
• Carmack's code paints a new column of tiles in that extra 64pixel space,
ready to be displayed when reached.
• As only those border tiles are repainted, the tiles touched by sprites need
• That would lead to flickering, which is fixed by utilizing two buffers,
writing one while displaying the other, AKA double-buffering.
• Carmack, Romero, Tom Hall and Adrian Carmack decide to continue
development privately, carrying their company computers home back
and forth from Softdisk on weekends.
• They build a Super Mario clone for the PC, send it to Nintendo, but it
• Next the group creates Commander Keen, a side-scrolling jump and
run PC game. Distributed as shareware, Keen is highly successful.
They found id Software.
• Carmack also pioneers Raycasting, Binary Space Partitioning and
Surface Caching for Wolfenstein 3D (1992), Doom (1993) and Quake
• His 3D engines are running within Half-Life and Call of Duty.
• Trivia: Doom was developed on a NeXT in C, using the Watcom
• In 2000 Carmack founds Armadillo Aerospace.
• In 2013 he joins Oculus VR as CTO.
• Born 1969 in Helsinki. Mother and father work as journalists (and are
• At the age of 11 Torvalds learns Basic on a Commodore VIC-20 with the
help of his grandfather, a statistics professor.
• Teaches himself 6502 machine code, then purchases a Sinclair QL, and
implements an assembler and editor.
• Torvalds enters University of Helsinki in 1988. At university he gets to know
and appreciate Unix (ULTRIX on DEC MiniVAX). He also listens to a talk by
Richard Stallman about GNU.
• In 1991, he buys a hi-end 386 PC on a loan, and a copy of MINIX, a
POSIX-compliant Unix for x86 based on a microkernel.
• As Torvalds doesn't like MINIX's terminal emulation, he decides to
implement his own standalone terminal, starting right off BIOS.
• As his terminal should be able to download files too, he short-
handedly creates a disk driver and MINIX-compatible file system.
• Slowly morphing the project into an operating system, he starts
coding system functions based on POSIX.
• Getting bored writing one function after the other, Torvalds uses the
Bourne shell, printing out missing system functions. In August 1991
bash and gcc are working.
• In September 1991 Torvalds publishes the Linux 0.01 kernel via FTP
under his own license, as well as for version 0.12 in January 1992.
0.99 follows in December 1992, already under GPL.
• Trivia: "Linux" was the project's working title, but Torvalds wanted to
name it "Freax". Ari Lemmke, who ran the hosting FTP server, didn't
like that and simply renamed the files to "Linux".
• Linux is adopted quickly, as it is free and runs on PC hardware. Users send
Torvalds postcards from all over the world, and collect money to pay back his PC.
Developer community grows rapidly thanks to GPL.
• Andrew Tanenbaum, OS guru and creator of MINIX, kicks off the Tanenbaum–
Torvalds debate in January 1992, criticizing Linux's monolithic kernel, in a famous
Usenet posting titled "LINUX is obsolete".
• Torvalds moves to the states in 1997, working for Transmeta, and continues to
develop the Linux kernel. In 1999 he receives stock options from VA Linux and
Red Hat as gratitude for his creation.
• In 2005 Torvalds develops git, as BitKeeper was no longer freely available.
• Since 2007 the Linux Foundation sponsors Torvalds's work.
• Today about 1 mio Android (Linux kernel) devices are activated every day, most
TVs run it, 7 out of 10 financial trades are powered by Linux.
Grace Hopper, born 1906, first programmer on Harvard Mark 1 computer in 1944,
invented the compiler, US navy rear admiral.
Margaret Hamilton, born 1936, developed the on-board flight system for the
Apollo space program.
James Gosling, born 1955, father of the Java programming language.
Niklaus Wirth, born 1934, designed Pascal, pioneered software engineering.
Bill Joy, born 1954, developed BSD Unix and vi, co-founded Sun Microsystems.
Bjarne Stroustrup, born 1950, creator of C++.
Richard Stallman, born 1953, started GNU project, developed gcc and Emacs,
founded Free Software Foundation and defined GPL.
Marvin Minsky, born 1927, Artificial Intelligence pioneer.
Edsger Dijsktra, born 1930, shaped computer science, coined structured
programming, research on graph, concurrent and distributed algorithms.
Alan Kay, born 1940, creator of Smalltalk and Dynabook.
Gary Killdall, born 1942, created CP/M and BIOS.
Time Berners-Lee, born 1955, inventor of the WWW, first implementation of a
web server, browser and HTTP.
Anders Hejlsberg, born 1960, author of Turbo Pascal, architect of Delphi, C# and
Guido van Rossum, born 1956, creator of Python.
Adele Goldberg, born 1945, developed Smalltalk and object oriented concepts.
Dave Cutler, born 1942, designed VMS and Windows NT.
Marc Andreessen, born 1971, built Mosaic and Netscape.
Steve Wozniak, born 1950, electronic design wizard, created Apple Basic.
Larry Page, born 1973, PageRank inventor and Google founder.
Vint Cerf, born 1943, father of the internet, co-creator of TCP/IP.
What can we conclude?
• The really cool stuff happens in your early 20s.
• 1955 was a special year (Gates, Jobs, Berners-Lee, Gosling born).
• Your parents' profession and view of life might have quite an impact (Gates vs. Torvalds).
• Being a disobedient rebel is not considered harmful. Having top academic credentials
vs. dropping out of university early doesn't make a big difference either (Carmack,
• What would they have done without a DEC PDP / DEC MicroVAX?
• Torvalds: "I had hoisted myself upon the shoulders of giants", referring to the preceding
work at Bell Labs and GNU.
What can we conclude?
• Many stories are interconnected:
• Young Bill Gates digs out DEC source code from the dumpster, 20 years later hires DEC's VMS lead
Dave Cutler to create Windows NT.
• Ritchie/Thompson want Space Travel game to run on Unix. Gates meets Space War creator who
becomes his mentor. Microsoft also is an early AT&T Unix licensee for Xenix.
• Torvalds attends Stallman talk before creating Linux.
• Bill Gates commissions a Win95 port of Doom from Carmack, who uses Jobs' NeXTstation for Doom
development. Gates even appears inside a Doom/Win95 game promo video.
What can we conclude?
• Many stories are interconnected:
• Thompson joins the Tanenbaum-Torvalds debate on Usenet, taking a mediating stand.
• Steve Jobs offers Torvalds to lead OS X development, but Torvalds declines because of its Mach
• Jobs also tells Knuth to have read all his books (unconfirmed).
• Nathan Myhrvold, former Microsoft CTO, commissions the construction of Babbage's' Difference
engine duplicate of London Science Museum's replica (costs: 1 mio USD).
• Freiberger, Swayne: "Fire in the Valley: Making of the Personal Computer"
• Isaacson, W.: "The Innovators: How a Group of Hackers, Geniuses, and Geeks Created
the Digital Revolution"
• Kurshner, D.: "Masters of Doom: How Two Guys Created an Empire and Transformed
• Torvalds, Diamond: "Just for Fun: The Story of an Accidental Revolutionary"
• Web of Stories: Interview with Donald Knuth Playlist, http://bit.ly/2gVOEes
• Huetter, A.: "Geschichte des Computers", http://bit.ly/2iz7jxn
• Huetter, A.: "How Bill Gates Outmaneuvered Gary Kildall", http://bit.ly/2hNlW3m
• Huetter, A.: "The History of the PC", http://bit.ly/2hLPfy3
• "The Tanenbaum-Torvalds Debate": http://oreil.ly/1Rju3ga