SlideShare a Scribd company logo

The world's most famous programmers

Developers who contributed hugely to and had a lasting influence on the software development profession, and who also have an extraordinary personal history.

1 of 30
Download to read offline
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.

Recommended

İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)Murat KARA
 
Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming KrishnaMildain
 
Introduction To Computer Science (getting started)
Introduction To Computer Science (getting started)Introduction To Computer Science (getting started)
Introduction To Computer Science (getting started)Lawrence Wachs
 

More Related Content

What's hot

Logic Development and Algorithm.
Logic Development and Algorithm.Logic Development and Algorithm.
Logic Development and Algorithm.NandiniSidana
 
Computer Applications Notes Grade 6
Computer Applications Notes Grade 6Computer Applications Notes Grade 6
Computer Applications Notes Grade 6FarmerCh
 
SO de computadores pessoais
SO de computadores pessoaisSO de computadores pessoais
SO de computadores pessoaisAmanda Larentis
 
Cours 1 : introduction a l'ergonomie logicielle
Cours 1 :  introduction a l'ergonomie logicielleCours 1 :  introduction a l'ergonomie logicielle
Cours 1 : introduction a l'ergonomie logicielleludolmn
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoElaine Cecília Gatto
 
Parts Of The Computer
Parts Of The ComputerParts Of The Computer
Parts Of The ComputerAaron Abraham
 
Développement d'application avec App Inventor
Développement d'application avec App InventorDéveloppement d'application avec App Inventor
Développement d'application avec App InventorLaurent Moccozet
 
Hardware
HardwareHardware
Hardwareleiladb
 
Highlights in Computer History
Highlights in Computer HistoryHighlights in Computer History
Highlights in Computer HistoryBuffalo Seminary
 
Les périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PCLes périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PCATPENSC-Group
 
Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7Skokie Public Library
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to ComputerDarshan Marjadi
 
Computer Generations
Computer GenerationsComputer Generations
Computer GenerationsAris Santos
 
Lesson 12 data r ecording media
Lesson 12  data r ecording mediaLesson 12  data r ecording media
Lesson 12 data r ecording mediaguevarra_2000
 

What's hot (20)

Logic Development and Algorithm.
Logic Development and Algorithm.Logic Development and Algorithm.
Logic Development and Algorithm.
 
Computer Programming- Lecture 4
Computer Programming- Lecture 4Computer Programming- Lecture 4
Computer Programming- Lecture 4
 
Computer Applications Notes Grade 6
Computer Applications Notes Grade 6Computer Applications Notes Grade 6
Computer Applications Notes Grade 6
 
SO de computadores pessoais
SO de computadores pessoaisSO de computadores pessoais
SO de computadores pessoais
 
Cours 1 : introduction a l'ergonomie logicielle
Cours 1 :  introduction a l'ergonomie logicielleCours 1 :  introduction a l'ergonomie logicielle
Cours 1 : introduction a l'ergonomie logicielle
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à Computação
 
Tp word n°3
Tp word n°3Tp word n°3
Tp word n°3
 
Data recording media
Data recording mediaData recording media
Data recording media
 
Parts Of The Computer
Parts Of The ComputerParts Of The Computer
Parts Of The Computer
 
Développement d'application avec App Inventor
Développement d'application avec App InventorDéveloppement d'application avec App Inventor
Développement d'application avec App Inventor
 
Hardware
HardwareHardware
Hardware
 
Linux notes
Linux notesLinux notes
Linux notes
 
Highlights in Computer History
Highlights in Computer HistoryHighlights in Computer History
Highlights in Computer History
 
Les périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PCLes périphériques et les supports de stockage d'un PC
Les périphériques et les supports de stockage d'un PC
 
Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
 
Computer Generations
Computer GenerationsComputer Generations
Computer Generations
 
The invention of internet
The invention of internetThe invention of internet
The invention of internet
 
Lesson 12 data r ecording media
Lesson 12  data r ecording mediaLesson 12  data r ecording media
Lesson 12 data r ecording media
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 

Similar to The world's most famous programmers

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
 
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
 
History Of The Computer
History Of The ComputerHistory Of The Computer
History Of The Computer
 
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
 
The History And How Of Computers
The History And How Of ComputersThe History And How Of Computers
The History And How Of Computers
 
History Of Operating Systems
History Of Operating SystemsHistory Of Operating Systems
History Of Operating Systems
 
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.
 

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

Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Jeffrey Haguewood
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfssuser82c38d
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfssuser82c38d
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Fermin Galan
 
Open Source vs Closed Source LLMs. Pros and Cons
Open Source vs Closed Source LLMs. Pros and ConsOpen Source vs Closed Source LLMs. Pros and Cons
Open Source vs Closed Source LLMs. Pros and ConsSprings
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureHironori Washizaki
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019VICTOR MAESTRE RAMIREZ
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20Shane Coughlan
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!Anthony Dahanne
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio, Inc.
 
Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Dmitry Zinoviev
 
Cybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdfCybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdfCIOWomenMagazine
 
Passbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managmentPassbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managmentThierry Gayet
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!alttaskcom
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash CourseRohan Chandane
 
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이ssuser82c38d
 
What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?NYGGS Automation Suite
 
The Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThe Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThousandEyes
 

Recently uploaded (20)

Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdf
 
eLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdfeLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdf
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdf
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227
 
Open Source vs Closed Source LLMs. Pros and Cons
Open Source vs Closed Source LLMs. Pros and ConsOpen Source vs Closed Source LLMs. Pros and Cons
Open Source vs Closed Source LLMs. Pros and Cons
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
 
Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)Machine Learning Basics for Dummies (no math!)
Machine Learning Basics for Dummies (no math!)
 
Cybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdfCybersecurity Measures For Remote Workers.pdf
Cybersecurity Measures For Remote Workers.pdf
 
Passbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managmentPassbolt Introduction and Usage for secret managment
Passbolt Introduction and Usage for secret managment
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash Course
 
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
 
What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?What are the Reasons for Tracking the Attendance of the Employees?
What are the Reasons for Tracking the Attendance of the Employees?
 
The Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThe Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and Takeaways
 

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