I wonder how many people, as I did, found themselves thrown into confusion by the death last week of Jean Ichbiah (pictured), inventor of Ada.
Learning that the inventor of a computer programming language is already old enough to have lived 66 years (Ichbiah was 66 when he succumbed to brain cancer) is a little like learning that your 11-year-old daughter has grown up and left home or that the first car you ever bought no longer is legal because it runs on gasoline in an age where all automobiles must run on water. How can something as novel, as new, as a computing language possibly already be so old-fangled that an early practitioner like Ichbiah can already no longer be with us?
The thought was so disquieting that it took me immediately back to the last time I wrote about Ichbiah, and indeed about Ada Lovelace for whom his language was named. It was in the context of my quest a couple of years ago to identify the Top Twenty Software People in the World.
It began as an innocent enough exercise, inadvertently kick-started by Tim Bray writing in his popular "Ongoing" blog about how he rated Google's Adam Bosworth as "probably one of the top 20 software people in the world." Already famous for Quattro Pro, Microsoft Access, and Internet Explorer 4 even before he joined BEA as VP of engineering in 2001, when BEA bought Crossgain, the company he'd by then cofounded after leaving Microsoft, Bosworth went on to become BEA's chief architect before leaving to join Google. Definitely a shoo-in for the Top Twenty then. But the question naturally arose - or at least it did in my mind - who are the other 19?
I knew that it would not be easy to answer, and not because there are too few candidates but because there are too many. The names of today's leading i-technologists - whose collective smarts Internet technologies rely on for their unceasing innovation and ingenuity - trip off most people's tongues in a heartbeat: just think of Sergey Brin, Bill Joy, Linus Torvalds, Tim Berners-Lee, James Gosling, Anders Hejlsberg, Don Box, Nathan Myhrvold, W. Daniel Hillis, Mitch Kapor... all clear members of the "technorati" or "digerati" - call them what you will - the undisputed aristocrats of the online world.
But what about those who came before, the precursors of the current crop of talent? I wrote at the time:
"Can a list of the Top 20 i-Technologists possibly be compiled that doesn't cause the online equivalent of fistfights when published? Obviously not. But that shouldn't deter us from trying."
My inbox soon began to fill up with a deluge of nominations, and within days I was able to list forty mind-bogglingly gifted candidates, as follows (click on the name for a brief description of the individual concerned):
- Tim Berners-Lee: "Father of the World Wide Web" and expectant father of the Semantic Web
- Joshua Bloch: Formerly at Sun, where he helped architect Java's core platform; now at Google
- Grady Booch: One of the original developers of the Unified Modeling Language
- Adam Bosworth: Famous for Quattro Pro, Microsoft Access, and IE4; then BEA, now Google
- Don Box: Co-author of SOAP
- Stewart Brand: Co-founder in 1984 of the WELL bulletin board
- Tim Bray: One of the prime movers of XML, now with Sun
- Dan Bricklin: Co-creator (with Bob Frankston) of VisiCalc, the first PC spreadsheet
- Larry Brilliant: Co-founder in 1984 of the WELL bulletin board
- Sergey Brin: Son-of-college-math-professor turned co-founder of Google
- Dave Cutler: The brains behind VMS; hired away by Microsoft for Windows NT
- Don Ferguson: Inventor of the J2EE application server at IBM, now with Microsoft
- Roy T. Fielding: Primary architect of HTTP 1.1 and a founder of the Apache Web server
- Bob Frankston: Cocreator (with Dan Bricklin) of VisiCalc, the first PC spreadsheet
- Jon Gay: The "Father of Flash"
- James Gosling: "Father of Java" (though not its sole parent)
- Anders Hejlsberg: Genius behind the Turbo Pascal compiler, subsequently "Father of C#"
- Daniel W. Hillis: VP of R&D at the Walt Disney Company; cofounder, Thinking Machines
- Miguel de Icaza: Co-founder of Ximian, now with Novell
- Martin Fowler: Famous for work on refactoring, XP, and UML
- Bill Joy: Co-founder and former chief scientist of Sun; main author of Berkeley Unix
- Mitch Kapor: Designer of Lotus 1-2-3, founder of Lotus Development Corporation
- Brian Kernighan: One of the creators of the AWK and AMPL languages
- Mitchell Kertzman: Former programmer, founder, and CEO of Powersoft (later Sybase)
- Klaus Knopper: Prime mover of Knoppix, a Linux distro that runs directly from a CD
- Craig McClanahan: Of Tomcat, Struts, and JSF fame
- Nathan Myhrvold: Theoretical and mathematical physicist, former CTO at Microsoft
- Tim O'Reilly: Publisher, open source advocate; believer that great technology needs great books
- Jean Paoli: One of the co-creators of the XML 1.0 standard with the W3C; now with Microsoft
- John Patrick: Former VP of Internet technology at IBM, now "e-tired"
- Rob Pike: An early developer of Unix and windowing system (GUI) technology
- Dennis Ritchie: Creator of C and coinventor of Unix
- Richard Stallman: Free software movement's leading figure; founder of the GNU Project
- Bjarne Stroustrup: The designer and original implementor of C++
- Andy Tanenbaum: Professor of computer science, author of Minix
- Ken Thompson: Co-inventor of Unix
- Linus Torvalds: "Benevolent dictator" of the Linux kernel
- Alan Turing: Mathematician; author of the 1950 paper "Computing Machinery and Intelligence"
- Guido van Rossum: Author of the Python programming language
- Ann Winblad: Former programmer, cofounder of Hummer Winblad Venture Partners
It was at this point that the name of The Father of Ada was thrown into the hopper, along with that of Ada Lovelace herself. How could I possibly not have already included Jean Ichbiah, many wrote to say? Indeed the one new submission was more indignant than the next, and I soon expanded the list of candidates from forty to one hundred, by adding the following sixty:
Gene Amdahl: Implementer in the 60s of a milestone in computer technology: the concept of compatibility between systems
Marc Andreessen: Pioneer of Mosaic, the first browser to navigate the WWW; co-founder of Netscape
Charles Babbage: Lucasian Professor of Mathematics at Cambridge in 1828; inventor of the 'calculating machine'
John Backus: Inventor (with IBM) of FORTRAN (FORmula TRANslator) in 1956
Kent Beck: Creator of JUnit and pioneer of eXtreme Programming (XP)
Bob Bemer: One of the developers of COBOL and the ASCII naming standard for IBM (1960s)
D J Bernstein: Author of qmail
Fred Brooks: Co-creator of OS/390, helping change the way we think about software development
Luca Cardelli: Implementer of the first compiler for ML (the most popular typed functional language) and one of the earliest direct-manipulation user-interface editors
Vincent Cerf: "The Father of the Internet," co-inventor with Robert Kahn of the first Internetworking Protocol, TCP
Brad Cox: Father of Objective-C
Alonzo Church: Co-creator with Alan Turing of the "Church-Turing Thesis"
Alistair Cockburn: Helped craft the Agile Development Manifesto
Edgar (Ted) Codd: "Father of Relational Databases," inventor of SQL and creator of RDBMS systems
Larry Constantine: Inventor of data flow diagrams; presented first paper on concepts of structured design in 1968
Ole-Johan Dahl: Developer (with Kristen Nygaard) of SIMULA, the first object-oriented programming language.
Tom DeMarco: A principal of the computer systems think tank, Atlantic Systems Guild
Theo de Raadt: Founder of the OpenBSD and OpenSSH projects
Edsger W. Dijkstra: One of the moving forces behind the acceptance of computer programming as a scientific discipline; developer of the first compilers
Robert Elz: University of Melbourne Department of Computer Science
Richard P. Feynman: Legendary physicist and teacher, teacher of Caltech course 1983-86 called Potentialities and Limitations of Computing Machines
Bill Gates: Chief Software Architect (and Lord High Chief Everything Else) of "the world's #1 company" (Hoovers.com)
Adele Goldberg: Developer of SmallTalk along with Alan Kay; wrote much of the documentation
Andy Hertzfield: Eazel developer and Macintosh forefather
Grace Murray Hopper: Developer of the first compiled high level programming language, COBOL
Jordan Hubbard: One of the creators of FreeBSD; currently a manager of Apple's Darwin project
Jean D Ichbiah: Principal designer, Ada language (1977)
Ken Iverson: Inventor of APL, later J
William Kahan: "The Old Man of Floating-Point;" primary architect behind the IEEE 754 standard for loating-point computation
Robert Kahn: Co-inventor with Vincent Cerf of the first Internetworking Protocol, TCP
Mike Karels: System architect for 4.3BSD
Alan Kay: Inventor of SmallTalk
Gary Kildall: Author of the archetpical OS known as CP/M (control Program for Microcomputers)
Donald Knuth: "Father of Computer Science" - author of The Art of Computer Programming; inventor of TeX, allowing typesetting of text and mathematical formulas on a PC
Butler Lampson: Architect of Cedar/Mesa; Implementer of Xerox Alto
Robert C. Martin: Agile software development proponent; CEO, president, and founder of Object Mentor
Yukihiro Matsumoto ("Matz"): Creator of Ruby
John McCarthy: Creator, with his graduate students, of Lisp
Doug McIlroy: Head of department at Bell Labs where UNIX started
Bob Metcalfe: Creator of Ethernet
Chuck Moore: Inventor of Forth, a high-level programming language
Andrew Morton: Linus's No. 2 in the kernel group
Ted Nelson: Creator of the Xanadu project - universal, democratic hypertext library; precursor to the WWW
Kristen Nygaard: Developer (with Ole-Johan Dahl) of SIMULA, the first object-oriented programming language.
Peter Pag: Pioneer of 4GLS (1979); developed Software AG's Natural
Bob Pasker: founder of WebLogic, author of the first Java Application Server
Benjamin Pierce: Harvard University faculty member for 49 years; recognized in his time as one of America's leading mathematicians
P J Plauger: Chair of the ANSI C committee
Jon Postel: "The 'North Star' Who Defined the Internet"
John Postley: Developed Mark IV (1967), the first million dollar software product, for Informatics
Martin Richards: Designer of the BCPL Cintcode System
Martin Roesch: Author of the open-source program Snort in 1998
Gurusamy Sarathy: Heavily involved in maintaining the mainstream releases of Perl for the past 7 years
Carl Sassenrath: Author of REBOL, a scripting language
Guy L. Steele: Author of athoritative books and papers on Lisp
W. Richard Stevens: "Guru of the Unix Gurus"; author and consultant
Ivan Sutherland: Considered by many to be the creator of Computer Graphics
Avadis (Avie) Tevanian: Chief Software Technology Officer, Apple
Guy (Bud) Tribble: One of the industry's top experts in software design and object-oriented programming
Patrick Volkerding: Creator of Slackware Linux
Larry Wall: Author of Perl
John Warnock: Inventor of PostScript; CEO of Adobe Systems
Michael "Monty" Widenius: Creator of MySQL
Nicklaus Wirth: Inventor of Algol W, Pascal, Modula, Modula-2, and Oberon
Stephen Wolfram: Scientist, creator of Mathematica
Jamie Zawinski: Instrumental in the creation of Lucid Emacs (now XEmacs)
Now we all know that there are others, that this list of 100 candidates barely scratches the surface, so....have at it: who's been left out? Once I have compiled a definitive list of, say, 150, I will devise a means by which we can vote and decide once and for all which 19 should join Adam Bosworth (who, for the record, loathes the whole idea of any such exercise, as does Tim Bray - who calls such popularity contests "moronic"; both would I am quote certain wish me to record here that this entire idea owes nothing to their actual input, only to Tim's remark en passant all those years ago...)
Over to you!