SlideShare a Scribd company logo
1 of 30
Programming
Legends
BY ARNO HUETTER
About the Author
Arno Huetter
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.
Programming Legends
• "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:
• [1] Ritchie, Stroustrup, Gosling, Torvalds, Hejlsberg, Berners-Lee, Kernighan, Thompson, van Rossum, Knuth
• [2] Ritchie, Torvalds, Stroustrup, Berners-Lee, Kernighan, Knuth, Thompson, van Rossum, Gosling, Gates
• [3] 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).
Ada Lovelace
• 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
time.
• 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.
Ada Lovelace
• 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
1989-1991).
• 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).
Ada Lovelace
• In 1842 Babbage explains his plans to Luigi Federico Menabrea
(future Italian prime minister), who in turn describes the invention in a
French article.
• 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.
Donald Knuth
• 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.
Donald Knuth
• 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
Wiles.
• 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.
Donald Knuth
• 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
to finish.
• 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
1978.
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.
Bill Gates
• 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
one".
• Gates uses Basic for creating a course enlistment program, putting him into
classes at the time and with the girls he wants.
Bill Gates
• 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.
Bill Gates
• 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
at Honeywell.
• 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.
John Carmack
• 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).
John Carmack
• 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
refreshing too.
• 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
gets rejected.
https://www.youtube.com/watch?v=cj4HJkeQSg0
John Carmack
• 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
(1996).
• His 3D engines are running within Half-Life and Call of Duty.
• Trivia: Doom was developed on a NeXT in C, using the Watcom
C/C++ compiler.
• In 2000 Carmack founds Armadillo Aerospace.
• In 2013 he joins Oculus VR as CTO.
Linus Torvalds
• Born 1969 in Helsinki. Mother and father work as journalists (and are
declared communists).
• 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.
Linus Torvalds
• 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".
Linus Torvalds
• 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.
More Legends
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.
More Legends
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.
More Legends
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
TypeScript.
Guido van Rossum, born 1956, creator of Python.
Adele Goldberg, born 1945, developed Smalltalk and object oriented concepts.
More Legends
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,
Gates).
• 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
microkernel.
• 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).
https://www.youtube.com/watch?v=0anIyVGeWOI
Sources
• 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
Pop Culture"
• 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
Thank you!
Twitter: https://twitter.com/ArnoHu
Blog: http://arnosoftwaredev.blogspot.com

More Related Content

What's hot

What's hot (20)

What is programming what are its benefits
What is programming  what are its benefits What is programming  what are its benefits
What is programming what are its benefits
 
Programming
ProgrammingProgramming
Programming
 
Lecture 2 history_of_c
Lecture 2 history_of_cLecture 2 history_of_c
Lecture 2 history_of_c
 
Mac os casestudy
Mac os casestudyMac os casestudy
Mac os casestudy
 
Google chrome OS
Google chrome OSGoogle chrome OS
Google chrome OS
 
Computer fundamentals 1
Computer fundamentals 1Computer fundamentals 1
Computer fundamentals 1
 
Windows 10
Windows 10Windows 10
Windows 10
 
Computer questions with answers
Computer questions with answersComputer questions with answers
Computer questions with answers
 
Google Chrome OS
Google Chrome OSGoogle Chrome OS
Google Chrome OS
 
Computer Engineer Powerpoint
Computer Engineer PowerpointComputer Engineer Powerpoint
Computer Engineer Powerpoint
 
2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming
 
Virus and antivirus
Virus and antivirus Virus and antivirus
Virus and antivirus
 
Coding For Kids
Coding For Kids Coding For Kids
Coding For Kids
 
Mac os
Mac osMac os
Mac os
 
Types of computer
Types of computerTypes of computer
Types of computer
 
Basics of computer science
Basics of computer scienceBasics of computer science
Basics of computer science
 
Supercomputer
SupercomputerSupercomputer
Supercomputer
 
Introduction to Computer Science
Introduction to Computer ScienceIntroduction to Computer Science
Introduction to Computer Science
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Python in 30 minutes!
Python in 30 minutes!Python in 30 minutes!
Python in 30 minutes!
 

Similar to The world's most famous programmers

CT1101 - Computer Technology
CT1101 - Computer TechnologyCT1101 - Computer Technology
CT1101 - Computer TechnologyPratik Pradhan
 
Geek Night 16.0 - Evolution of Programming Languages
Geek Night 16.0 - Evolution of Programming LanguagesGeek Night 16.0 - Evolution of Programming Languages
Geek Night 16.0 - Evolution of Programming LanguagesGeekNightHyderabad
 
Being digital, the skills of the interactive systems designer.pptx
Being digital, the skills of the interactive systems designer.pptxBeing digital, the skills of the interactive systems designer.pptx
Being digital, the skills of the interactive systems designer.pptxHamzakhalid708089
 
CST 20363-Session 1.2-A Brief History of Computing
CST 20363-Session 1.2-A Brief History of ComputingCST 20363-Session 1.2-A Brief History of Computing
CST 20363-Session 1.2-A Brief History of Computingoudesign
 
Evolution of computer
Evolution of computerEvolution of computer
Evolution of computerAnkit Yadav
 
object oriented-programming
object oriented-programmingobject oriented-programming
object oriented-programmingRajendran
 
Group 1 - History of Computer.pptx
Group 1 - History of Computer.pptxGroup 1 - History of Computer.pptx
Group 1 - History of Computer.pptxDanielBermodez
 
Detailed facts on computer development
Detailed facts on computer developmentDetailed facts on computer development
Detailed facts on computer developmentargusacademy
 
History and development of computers
History and development of computersHistory and development of computers
History and development of computersANJU A
 
Journey of computing
Journey of computingJourney of computing
Journey of computingTushar B Kute
 
Famous perssonalities related to it.
Famous perssonalities related to it.Famous perssonalities related to it.
Famous perssonalities related to it.Saqlain Memon
 
IT315B
IT315BIT315B
IT315Bearl86
 

Similar to The world's most famous programmers (20)

CT1101 - Computer Technology
CT1101 - Computer TechnologyCT1101 - Computer Technology
CT1101 - Computer Technology
 
Donald Knuth
Donald KnuthDonald Knuth
Donald Knuth
 
Geek Night 16.0 - Evolution of Programming Languages
Geek Night 16.0 - Evolution of Programming LanguagesGeek Night 16.0 - Evolution of Programming Languages
Geek Night 16.0 - Evolution of Programming Languages
 
GeekNight: Evolution of Programming Languages
GeekNight: Evolution of Programming LanguagesGeekNight: Evolution of Programming Languages
GeekNight: Evolution of Programming Languages
 
Rc 10.computers
Rc 10.computersRc 10.computers
Rc 10.computers
 
Being digital, the skills of the interactive systems designer.pptx
Being digital, the skills of the interactive systems designer.pptxBeing digital, the skills of the interactive systems designer.pptx
Being digital, the skills of the interactive systems designer.pptx
 
CST 20363-Session 1.2-A Brief History of Computing
CST 20363-Session 1.2-A Brief History of ComputingCST 20363-Session 1.2-A Brief History of Computing
CST 20363-Session 1.2-A Brief History of Computing
 
History of computers
History of computersHistory of computers
History of computers
 
Evolution of computer
Evolution of computerEvolution of computer
Evolution of computer
 
object oriented-programming
object oriented-programmingobject oriented-programming
object oriented-programming
 
Group 1 - History of Computer.pptx
Group 1 - History of Computer.pptxGroup 1 - History of Computer.pptx
Group 1 - History of Computer.pptx
 
Dennis Richie
Dennis RichieDennis Richie
Dennis Richie
 
Detailed facts on computer development
Detailed facts on computer developmentDetailed facts on computer development
Detailed facts on computer development
 
History and development of computers
History and development of computersHistory and development of computers
History and development of computers
 
Computers
ComputersComputers
Computers
 
IMD 203 - Ch01
IMD 203 - Ch01IMD 203 - Ch01
IMD 203 - Ch01
 
Journey of computing
Journey of computingJourney of computing
Journey of computing
 
Famous perssonalities related to it.
Famous perssonalities related to it.Famous perssonalities related to it.
Famous perssonalities related to it.
 
FOSSAPC_C0_Part I
FOSSAPC_C0_Part IFOSSAPC_C0_Part I
FOSSAPC_C0_Part I
 
IT315B
IT315BIT315B
IT315B
 

More from Arno Huetter

Chess Engine Programming
Chess Engine ProgrammingChess Engine Programming
Chess Engine ProgrammingArno Huetter
 
Geschichte des Computers (1991)
Geschichte des Computers (1991)Geschichte des Computers (1991)
Geschichte des Computers (1991)Arno Huetter
 
Grundlagen der Volkswirtschaftslehre (1993)
Grundlagen der Volkswirtschaftslehre (1993)Grundlagen der Volkswirtschaftslehre (1993)
Grundlagen der Volkswirtschaftslehre (1993)Arno Huetter
 
Database Performance Tuning
Database Performance Tuning Database Performance Tuning
Database Performance Tuning Arno Huetter
 
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)Arno Huetter
 
Diplomarbeit: Generische und dynamische Hypertexte (2001)
Diplomarbeit: Generische und dynamische Hypertexte (2001)Diplomarbeit: Generische und dynamische Hypertexte (2001)
Diplomarbeit: Generische und dynamische Hypertexte (2001)Arno Huetter
 
Leading Software Development Teams
Leading Software Development TeamsLeading Software Development Teams
Leading Software Development TeamsArno Huetter
 
Windows Debugging with WinDbg
Windows Debugging with WinDbgWindows Debugging with WinDbg
Windows Debugging with WinDbgArno Huetter
 
Software Disasters
Software DisastersSoftware Disasters
Software DisastersArno Huetter
 
The History of the PC
The History of the PCThe History of the PC
The History of the PCArno Huetter
 
Führen von Software-Entwicklungsteams
Führen von Software-EntwicklungsteamsFühren von Software-Entwicklungsteams
Führen von Software-EntwicklungsteamsArno Huetter
 

More from Arno Huetter (13)

Chess Engine Programming
Chess Engine ProgrammingChess Engine Programming
Chess Engine Programming
 
Abraham Lincoln
Abraham LincolnAbraham Lincoln
Abraham Lincoln
 
Augustus
AugustusAugustus
Augustus
 
Geschichte des Computers (1991)
Geschichte des Computers (1991)Geschichte des Computers (1991)
Geschichte des Computers (1991)
 
Grundlagen der Volkswirtschaftslehre (1993)
Grundlagen der Volkswirtschaftslehre (1993)Grundlagen der Volkswirtschaftslehre (1993)
Grundlagen der Volkswirtschaftslehre (1993)
 
Database Performance Tuning
Database Performance Tuning Database Performance Tuning
Database Performance Tuning
 
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
 
Diplomarbeit: Generische und dynamische Hypertexte (2001)
Diplomarbeit: Generische und dynamische Hypertexte (2001)Diplomarbeit: Generische und dynamische Hypertexte (2001)
Diplomarbeit: Generische und dynamische Hypertexte (2001)
 
Leading Software Development Teams
Leading Software Development TeamsLeading Software Development Teams
Leading Software Development Teams
 
Windows Debugging with WinDbg
Windows Debugging with WinDbgWindows Debugging with WinDbg
Windows Debugging with WinDbg
 
Software Disasters
Software DisastersSoftware Disasters
Software Disasters
 
The History of the PC
The History of the PCThe History of the PC
The History of the PC
 
Führen von Software-Entwicklungsteams
Führen von Software-EntwicklungsteamsFühren von Software-Entwicklungsteams
Führen von Software-Entwicklungsteams
 

Recently uploaded

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 

Recently uploaded (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 

The world's most famous programmers

  • 2. About the Author Arno Huetter 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.
  • 3. Programming Legends • "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: • [1] Ritchie, Stroustrup, Gosling, Torvalds, Hejlsberg, Berners-Lee, Kernighan, Thompson, van Rossum, Knuth • [2] Ritchie, Torvalds, Stroustrup, Berners-Lee, Kernighan, Knuth, Thompson, van Rossum, Gosling, Gates • [3] 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).
  • 4. Ada Lovelace • 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 time. • 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.
  • 5. Ada Lovelace • 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 1989-1991). • 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).
  • 6. Ada Lovelace • In 1842 Babbage explains his plans to Luigi Federico Menabrea (future Italian prime minister), who in turn describes the invention in a French article. • 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.
  • 7. Donald Knuth • 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.
  • 8. Donald Knuth • 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 Wiles. • 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.
  • 9. Donald Knuth • 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 to finish. • 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.
  • 10. 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.
  • 11. 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 1978.
  • 12. 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.
  • 13. Bill Gates • 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 one". • Gates uses Basic for creating a course enlistment program, putting him into classes at the time and with the girls he wants.
  • 14. Bill Gates • 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.
  • 15. Bill Gates • 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 at Honeywell. • 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.
  • 16. John Carmack • 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).
  • 17. John Carmack • 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 refreshing too. • 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 gets rejected. https://www.youtube.com/watch?v=cj4HJkeQSg0
  • 18. John Carmack • 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 (1996). • His 3D engines are running within Half-Life and Call of Duty. • Trivia: Doom was developed on a NeXT in C, using the Watcom C/C++ compiler. • In 2000 Carmack founds Armadillo Aerospace. • In 2013 he joins Oculus VR as CTO.
  • 19. Linus Torvalds • Born 1969 in Helsinki. Mother and father work as journalists (and are declared communists). • 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.
  • 20. Linus Torvalds • 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".
  • 21. Linus Torvalds • 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.
  • 22. More Legends 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.
  • 23. More Legends 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.
  • 24. More Legends 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 TypeScript. Guido van Rossum, born 1956, creator of Python. Adele Goldberg, born 1945, developed Smalltalk and object oriented concepts.
  • 25. More Legends 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.
  • 26. 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, Gates). • 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.
  • 27. 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.
  • 28. 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 microkernel. • 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). https://www.youtube.com/watch?v=0anIyVGeWOI
  • 29. Sources • 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 Pop Culture" • 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
  • 30. Thank you! Twitter: https://twitter.com/ArnoHu Blog: http://arnosoftwaredev.blogspot.com