50 Fun Facts About Programming
Learn something new, then test yourself with the quiz.
Know these facts? Prove it.
Take the 50-question quizWhich programmer created the C language at Bell Labs in 1972?
Its first job was writing utilities for Unix, and it was soon used to rewrite the Unix kernel itself.
Brendan Eich created JavaScript in 1995 while working at which company?
Eich was originally hired to embed the Scheme language in the browser, then told to build something that looked like Java instead.
When JavaScript first shipped in a browser beta in September 1995, what was it called?
The switch to the JavaScript name in December rode the hype around Java during the dot-com boom, and Eich has called it a marketing ploy.
Who designed the Java language at Sun Microsystems?
It was released in May 1995 with the promise that programmers could write once and run anywhere.
Java was initially named after a tree standing outside its creator's office. Which tree?
The name changed before the 1995 release, and the language later passed to Oracle when it bought Sun in 2010.
Bjarne Stroustrup began work in 1979 on the predecessor of C++. What was it called?
It was briefly called C84 in 1982 before the C++ name stuck; the first edition of The C++ Programming Language followed in 1985.
The name C++, suggested by Rick Mascitti, refers to which feature of C?
It is a small joke: the language is C, plus one.
In 2018 Guido van Rossum took a 'permanent vacation' from which Python community title?
He first released Python in 1991 as version 0.9.0, and the name comes from Monty Python's Flying Circus.
Yukihiro Matsumoto said one factor in naming Ruby was that it was a colleague's what?
Ruby 0.95 was first announced on Japanese newsgroups in December 1995, and interest surged a decade later with Ruby on Rails.
Go was designed in 2007 by Robert Griesemer, Rob Pike and Ken Thompson at which company?
It was announced publicly in November 2009 and is often called Golang after its old golang.org domain, though its proper name is Go.
Graydon Hoare created Rust in 2006 while at which organisation, its sponsor from 2009?
Rust 1.0, the first stable release, arrived in May 2015.
Rust enforces memory safety without a garbage collector using which compile-time mechanism?
It tracks the lifetime of every reference at compile time, so data races and dangling pointers are rejected before the program ever runs.
Swift, introduced at Apple's 2014 WWDC, was created to replace which older Apple language?
Chris Lattner started work on it in July 2010, and Apple open-sourced it under the Apache 2.0 licence in December 2015.
The Kotlin language is named after what kind of place?
JetBrains open-sourced it in 2012, and it became the preferred language for Android development in 2019.
Before it became a recursive backronym, what did the letters PHP originally stand for?
Rasmus Lerdorf started it in 1993 as a handful of CGI programs written in C, and today it stands for PHP: Hypertext Preprocessor.
The elePHPant, PHP's official mascot, is what colour?
Vincent Pontier designed it in 1998 after noticing the letters PHP look like an elephant when viewed sideways.
Who developed Perl in 1987 as a Unix scripting language to make report processing easier?
Its motto is 'There's more than one way to do it', pronounced Tim Toady, and it has been called the Swiss Army chainsaw of scripting languages.
In October 2019, Perl 6 was officially renamed to what?
The split let Perl 5 continue as simply Perl while the sister language went its own way.
The name Fortran comes from a phrase describing what the system did. What phrase?
It is still used to benchmark and rank the world's fastest supercomputers.
Which IBM engineer proposed and led the team that delivered the first Fortran compiler in 1957?
His pitch was a practical alternative to assembly language for the IBM 704 mainframe, and the code it produced was good enough to win over assembly programmers.
As of 2020, COBOL ran background processes for roughly what share of credit or debit card swipes?
The language dates from 1959, when CODASYL designed it partly on Grace Hopper's FLOW-MATIC for a Department of Defense effort.
John McCarthy's Lisp, begun in 1958, takes its name from which phrase?
It is the second-oldest high-level language still in common use, and all its code is written as parenthesised s-expressions.
John Kemeny and Thomas Kurtz created BASIC in 1964 at which school?
Their goal was to let students outside the sciences use computers.
Micro-Soft's first product, a BASIC interpreter, was written for which computer?
MITS released it on punched tape, and Monte Davidoff co-wrote it with Gates and Allen.
Which Swiss computer scientist designed Pascal, released in 1970?
It became the main development language for the Apple Lisa and early Macintosh, and Turbo Pascal made it a hit on PCs.
Which lead architect of C# and creator of Turbo Pascal also worked on TypeScript at Microsoft?
TypeScript went public in October 2012 as version 0.8 after two years of internal development.
The earliest known 'hello, world' program appears in Brian Kernighan's 1972 tutorial for which language?
It was there to illustrate external variables; the 1978 book The C Programming Language later made the phrase a universal first test.
Rubber duck debugging takes its name from an anecdote in which book?
Explaining code line by line to something that cannot answer back often makes the mistake leap off the screen.
In 1947, operators of the Harvard Mark II logged the 'first actual case of bug being found'. What was it?
The insect was taped into the log book, though Thomas Edison had already used 'bug' for small faults back in 1878.
Edsger Dijkstra's famous 1968 letter argued which statement should be considered harmful?
He said unrestricted jumps made it terribly hard to find meaningful coordinates to describe a program's progress.
The Mars Climate Orbiter was lost in 1999 because thruster software reported impulse in US customary pound-force units where the trajectory code expected which SI unit?
The mismatch was off by a factor of 4.45 on a mission that cost $327.6 million.
Ariane 5's maiden flight in 1996 failed when a 64-bit floating-point value was converted to what?
The overflow was in inertial-reference code reused from Ariane 4, and the rocket veered off course 37 seconds after launch.
left-pad, the npm package whose 2016 removal broke thousands of builds, was how many lines of code?
Azer Koçulu unpublished all his packages after npm handed the name 'kik' to Kik Messenger; npm restored left-pad about two hours later.
Linus Torvalds originally wanted to name his kernel what, before a friend named the directory 'linux'?
The name mashed together 'free', 'freak' and an X for Unix-like; Ari Lemmke overruled it when he set up the FTP directory.
Torvalds began writing Git in April 2005 after Linux lost its free licence for which version control system?
He joked that he names all his projects after himself, since 'git' is British slang for an unpleasant person.
The name Stack Overflow was chosen in April 2008 by a vote of readers of which blog?
Founders Jeff Atwood and Joel Spolsky wanted a more open alternative to Experts-Exchange; Prosus bought the company for $1.8 billion in 2021.
How much did Microsoft pay to acquire GitHub in 2018?
The site launched in April 2008 and passed one billion repositories in June 2025.
Unix time counts seconds since 1 January 1970. In which year does a signed 32-bit counter run out?
The rollover hits at 03:14:07 UTC on 19 January, and the same limit means such systems cannot represent dates before December 1901.
The 1960s chatbot ELIZA was named after Eliza Doolittle from which George Bernard Shaw play?
Its DOCTOR script imitated a Rogerian psychotherapist by reflecting the user's own words back at them.
On 28 December 1999, 10,000 card machines from which bank failed in an early Y2K glitch?
Programs storing years as two digits could not tell 2000 from 1900, and companies estimated the global fix at $400 to $600 billion.
In semantic versioning, which of the three numbers is increased to signal a breaking change?
The three-part scheme lets other developers guess from the version alone whether an upgrade is likely to break their code.
Which pasta gives its name to source code whose control flow is so convoluted it is hard to understand?
Programmers extended the joke: lasagna code has layers too intertwined to change separately, and ravioli code is tidy classes that add up to a murky system.
Bram Moolenaar's editor Vim, first released in 1991, is short for what?
Its licence includes charityware clauses asking happy users to consider donating to children in Uganda.
The name Emacs, coined in 1976 for a set of extensions to TECO, is an acronym for what?
GNU Emacs, its most famous descendant, is written in C and extended in its own dialect of Lisp.
Ada Lovelace's Note G on Babbage's Analytical Engine described a method for calculating which sequence?
That note is why she is often called the first computer programmer, and the Ada language built for the US Department of Defense carries her name.
Which naming style joins words with underscores, as in user_name?
camelCase gets its name from the humps its capital letters make, and PascalCase capitalises the first word too.
Who wrote the first version of the GNU GPL in 1989?
The Linux kernel is licensed under version 2 only, and its copyleft terms guarantee users can run, study, share and modify the code.
Which permissive licence from a Massachusetts university has been GitHub's most popular from 2020 to 2025?
React, Ruby on Rails, Node.js, jQuery and .NET all use it, and it is also known as the Expat License.
Urban Müller's esoteric language Brainfuck, created in 1993, consists of how many commands?
His goal was the smallest possible compiler; the original Amiga version was just 296 bytes.
SQL dropped the vowels from SEQUEL because that name was a trademark of which UK company?
Donald Chamberlin and Raymond Boyce built it at IBM in the early 1970s after learning about Edgar Codd's relational model.
Think you know Programming?
Put these facts to the test with the interactive quiz.
Take the 50-question quiz