Skip to content

99 facts

99 Fun Facts About Programming

Learn something new, then test yourself with the quiz.

Know these facts? Prove it.

Take the 99-question quiz
1

Which programmer created the C language at Bell Labs in 1972?

Dennis Ritchie wrote C at Bell Labs in 1972; by 1973 the Unix kernel had been rewritten in it, and he co-authored the 1978 book The C Programming Language with Brian Kernighan.

2

Brendan Eich created JavaScript in 1995 while working at which company?

Netscape hired Eich in April 1995; he wrote the first JavaScript prototype in about ten days, and it shipped in Netscape Navigator 2.0.

3

When JavaScript first shipped in a browser beta in September 1995, what was it called?

LiveScript was the name in the Navigator 2.0 betas of September 1995; that December it was rebranded JavaScript in a joint announcement with Sun, after managers had insisted the new language look like Java.

4

Who designed the Java language at Sun Microsystems?

James Gosling led the Java project at Sun from 1991, first aimed at set-top boxes; the language launched in May 1995 with the write once, run anywhere promise.

5

Java was first named after which tree, which stood outside the office of the language's lead designer?

Oak was the language's working name until lawyers found it was already trademarked by Oak Technology, so the team brainstormed a replacement and settled on Java before the 1995 launch.

6

What did Bjarne Stroustrup call the C++ predecessor he began in 1979?

C with Classes grew from Stroustrup's wish to write fast systems programs in the well-organised style he knew from Simula, so he added classes to C at Bell Labs; the name C++ replaced it in 1983.

7

The name C++, suggested by Rick Mascitti, refers to which feature of C?

C++ puns on the increment operator, which adds one to a variable, so the name reads as 'C plus one'; Rick Mascitti suggested it in the summer of 1983.

8

In 2018 Guido van Rossum took a 'permanent vacation' from which Python community title?

Benevolent Dictator For Life was van Rossum's title until July 2018, when a dispute over PEP 572's assignment expressions led him to step down; a five-person steering council later took over.

9

Yukihiro Matsumoto said one factor in naming Ruby was that it was a colleague's what?

A birthstone: Matz has said one reason the name won out over the other candidate, coral, was that ruby is a colleague's birthstone; Ruby 0.95 was announced in December 1995.

10

Go was designed in 2007 by Robert Griesemer, Rob Pike and Ken Thompson at which company?

Google engineers started Go in September 2007 and announced it in November 2009; it is often called Golang after its old golang.org domain, though the name is Go.

11

Graydon Hoare created Rust in 2006 while at which organisation, its sponsor from 2009?

Mozilla employed Hoare, but Rust spent its first three years as his part-time side project, an attempt at a language safe from memory bugs, before the company began sponsoring it in 2009.

12

Rust enforces memory safety without a garbage collector using which compile-time mechanism?

Rust's compiler runs the borrow checker, which tracks the lifetime of every reference, so dangling pointers and data races are rejected before the program ever runs.

13

Swift, introduced at Apple's 2014 WWDC, was created to replace which older Apple language?

Objective-C had been Apple's standard app language since it bought NeXT in 1997; Swift's creator began it in July 2010 and built much of it in secrecy, and Apple released the code under the Apache 2.0 licence in December 2015.

14

The Kotlin language is named after what kind of place?

Kotlin Island, an island in the Gulf of Finland near St Petersburg, gave the language its name; JetBrains open-sourced Kotlin in 2012, and it became the preferred Android language in 2019.

15

Before it became a recursive backronym, what did the letters PHP originally stand for?

Personal Home Page Tools were CGI programs that PHP's creator wrote in C to track visits to his online résumé; with PHP 3 in 1998 the letters became the recursive PHP: Hypertext Preprocessor.

16

Which animal, seen in the letters PHP, is the language's mascot?

Elephant: Vincent Pontier was doodling the letters PHP in 1998 when he noticed that, turned side-on, they resemble one; plush elePHPants followed about ten years later.

17

Who developed Perl in 1987 as a Unix scripting language to make report processing easier?

Larry Wall first named it 'Pearl', then dropped the 'a' on learning that another language already used the name; Perl 1.0 followed in December 1987 for Unix text and report work.

18

In October 2019, Perl 6 was officially renamed to what?

Raku became the official name in October 2019: the language had grown so unlike Perl 5 that it took a name of its own, and the two are now developed independently, the older one simply as Perl.

19

Which IBM engineer proposed and led the team that delivered the first Fortran compiler in 1957?

John Backus proposed the project to IBM in 1953 and led the team whose compiler shipped for the IBM 704 in April 1957, producing code good enough to win over assembly programmers.

20

What does the name COBOL stand for?

Common Business-Oriented Language was drawn up in 1959 by computer makers and the Pentagon, borrowing from the earlier FLOW-MATIC; one frustrated committee member had a tombstone made for it, yet it went on to dominate business software.

21

John McCarthy's Lisp, begun in 1958, takes its name from which phrase?

List Processor, shortened to Lisp, reflects the lists its code and data are built from; to McCarthy's surprise, Steve Russell saw that its eval function could be hand-coded on an IBM 704, giving Lisp an unplanned first interpreter.

22

John Kemeny and Thomas Kurtz created BASIC in 1964 at which school?

Dartmouth College in Hanover, New Hampshire, ran the first BASIC program on 1 May 1964; Kemeny and Kurtz wanted students outside the sciences to use its time-sharing system.

23

Micro-Soft's first product, a BASIC interpreter, was written for which computer?

Altair 8800 owners got Altair BASIC from MITS on paper tape in 1975; Gates, Allen and Monte Davidoff wrote it on a Harvard PDP-10 emulating the Intel 8080 chip.

24

Which Swiss computer scientist designed Pascal, released in 1970?

Niklaus Wirth of ETH Zurich published Pascal in 1970 as a teaching language; it became the main development language for the Apple Lisa and early Macintosh, and Turbo Pascal made it a hit on PCs.

25

Which lead architect of C# and creator of Turbo Pascal also worked on TypeScript at Microsoft?

Anders Hejlsberg wrote the compiler Borland sold as Turbo Pascal, then led C# at Microsoft; his team unveiled TypeScript in October 2012 because JavaScript, designed for small scripts, had become hard to manage in very large applications.

26

The earliest known 'hello, world' program appears in Brian Kernighan's 1972 tutorial for which language?

B, Ken Thompson's 1969 predecessor of C, is the language of Kernighan's tutorial; the example illustrated external variables, and the 1978 book The C Programming Language later made the phrase a universal first test.

27

Rubber duck debugging takes its name from an anecdote in which book?

The Pragmatic Programmer, by Andy Hunt and Dave Thomas in 1999, tells of a programmer explaining code line by line to a rubber duck until the mistake leapt out.

28

What did Harvard Mark II operators tape into their logbook in 1947 as the 'first actual case of bug being found'?

Operators found a moth trapped in a relay and taped it into the Mark II logbook on 9 September 1947; the joke worked because engineers, Thomas Edison among them, had been calling faults 'bugs' since the 1870s.

29

Edsger Dijkstra's famous 1968 letter argued which statement should be considered harmful?

The goto statement was the target of Dijkstra's March 1968 letter to Communications of the ACM, headed 'Go To Statement Considered Harmful'; unrestricted jumps, he said, made it terribly hard to describe a program's progress.

30

Mars Climate Orbiter's 1999 loss came from pound-force seconds being read as which SI unit?

Lockheed Martin's ground software reported thruster impulse in pound-force seconds, but NASA's navigators read the numbers as newton-seconds, 4.45 times too small, so the orbiter came in far too low and was lost.

31

Which kind of software bug destroyed Europe's Ariane 5 rocket less than a minute into its 1996 maiden flight?

An integer overflow: guidance code reused from Ariane 4 squeezed a 64-bit velocity figure into a 16-bit integer, but the faster new rocket's value was too big to fit, so it veered off course and self-destructed.

32

Which 11-line npm package broke thousands of JavaScript builds when its author unpublished it in March 2016?

left-pad vanished when Azer Koçulu pulled all his packages after npm handed his module name 'kik' to the messaging app Kik; builds of Babel and thousands of other projects failed until npm restored it within hours.

33

Linus Torvalds originally wanted to name his kernel what, before a friend named the directory 'linux'?

Freax blended 'free' and 'freak' with a Unix-style x; Torvalds had dismissed 'Linux' as too egotistical, but Ari Lemmke, who ran the FTP server hosting the files, named the directory 'linux' anyway.

34

Torvalds began writing Git in April 2005 after Linux lost its free licence for which version control system?

BitKeeper's owner withdrew the free licence in April 2005, accusing developer Andrew Tridgell of reverse-engineering it; Torvalds called his replacement 'git', British slang for an unpleasant person, and 'the stupid content tracker'.

35

The name Stack Overflow was chosen in April 2008 by a vote of readers of which blog?

Coding Horror, Jeff Atwood's blog, polled readers on the name in April 2008; he and Joel Spolsky wanted a more open alternative to Experts-Exchange, and Prosus bought the company for $1.8 billion in 2021.

36

Which code-hosting site did Microsoft buy for $7.5 billion in stock in 2018?

GitHub went to Microsoft for $7.5 billion in stock in a deal announced in June 2018; Microsoft promised the site would keep operating independently and installed Xamarin founder Nat Friedman as its chief executive.

37

Unix time, which overflows 32-bit counters in 2038, counts which unit elapsed since 1 January 1970?

Seconds since 1 January 1970 are what Unix time counts; a signed 32-bit tally runs out at 03:14:07 UTC on 19 January 2038, when unpatched systems would wrap round to December 1901.

38

The 1960s chatbot ELIZA was named after Eliza Doolittle from which George Bernard Shaw play?

Pygmalion, Shaw's 1913 play, has Eliza Doolittle coached to pass as a duchess; Weizenbaum chose the name because his 1966 program could likewise be taught to 'speak' better, and its DOCTOR script echoed users like a Rogerian therapist.

39

Which data format did Douglas Crockford specify and popularise in the early 2000s?

JSON, short for JavaScript Object Notation, is based on a subset of JavaScript; the Free Software Foundation lists the licence on Crockford's own JSON code as non-free over its line 'The Software shall be used for Good, not Evil'.

40

In semantic versioning, which of the three numbers is increased to signal a breaking change?

Bumping the major number, the first of MAJOR.MINOR.PATCH, warns users that an update may break their code; Tom Preston-Werner wrote the spec to lead projects out of what it calls 'dependency hell'.

41

Which pasta gives its name to source code whose control flow is so convoluted it is hard to understand?

Spaghetti code, with control flow as tangled as the pasta, inspired later jokes: lasagna code is built in layers, and ravioli code from many small self-contained pieces.

42

Bram Moolenaar's editor Vim, first released in 1991, is short for what?

Vi IMproved replaced the original expansion, 'Vi IMitation', once the editor had outgrown its model; its charityware licence asks happy users to consider donating to help children in Uganda.

43

The name Emacs, coined in 1976 for a set of extensions to TECO, is an acronym for what?

Editor MACroS: Emacs began in 1976 as a set of macros for MIT's TECO editor, and the programmer who named it says he chose the word because E was not yet in use as an abbreviation on the lab's ITS system.

44

Ada Lovelace's Note G on Babbage's Analytical Engine described a method for calculating which sequence?

Bernoulli numbers were the subject of Note G in her 1843 notes on the Analytical Engine, why she is often called the first computer programmer; the Ada language built for the US Department of Defense carries her name.

45

Which naming style joins words with underscores, as in user_name?

Underscores make snake case, standard for Python and Ruby identifiers; camelCase gets its name from the humps its capital letters make, and PascalCase capitalises the first word too.

46

Who wrote the first version of the GNU GPL in 1989?

Richard Stallman wrote GPL version 1 in February 1989 for the GNU Project; its 'copyleft' turns copyright on its head, using it to guarantee, not restrict, everyone's freedom to share and change the code.

47

Which permissive licence is also known as the Expat License?

MIT License is the common name, but the Free Software Foundation prefers Expat License, after the XML parser that used it, because MIT has released software under several different licences.

48

Which esoteric language, created by Urban Müller in 1993, has only eight commands, each a single character?

Brainfuck gets by with eight commands, > < + - . , [ and ]; Müller wanted a language with the smallest possible compiler, and his fitted into a few hundred bytes on the Amiga.

49

Which query language shortened its original name after a trademark clash with British aircraft maker Hawker Siddeley?

SQL began at IBM in the 1970s as SEQUEL, for Structured English Query Language; when Hawker Siddeley claimed that name as its trademark, co-designer Donald Chamberlin squeezed out the vowels.

50

Apple's headquarters until 2017 stood on a private Cupertino street named after which programming concept?

Infinite loop, meaning instructions that repeat forever, names the private U-shaped street at the campus, where the main building's address is 1 Infinite Loop.

51

Which sorting algorithm did Barack Obama call "the wrong way to go" in a 2007 campaign-trail interview?

Bubble sort is named for the way larger values "bubble" up to the top of the list. Obama had been asked the best way to sort one million integers.

52

Which hit game did Swedish programmer Markus "Notch" Persson originally write in Java in 2009?

Minecraft grew out of Persson's 2009 discovery of Infiniminer, a block-based mining game; he founded the studio Mojang the same year.

53

Tux, the mascot Larry Ewing designed for the Linux kernel, is which kind of animal?

A penguin was the choice of Linux creator Linus Torvalds, who said he was once bitten by "a ferocious fairy penguin" on a trip to Australia.

54

The agile framework Scrum, built around short "sprints", takes its name from a formation in which sport?

Rugby inspired the name because the team huddles together to set its priorities; the term reached software from a 1986 Harvard Business Review paper on product development.

55

Pac-Man's famous "kill screen" makes which level impossible to finish, when a one-byte counter overflows?

Level 256 loads improperly because of an integer overflow, so the game cannot be completed; a perfect score of 3,333,360 points takes 255 flawless levels plus every point the broken one offers.

56

Punched cards, later used to feed programs into computers, automated which machine for Joseph Marie Jacquard in 1804?

A weaving loom read the holes in Jacquard's cards to set its pattern, and the same idea was later borrowed for recording census data and then for loading programs.

57

Scratch, the block-based coding language for children, takes its name from a technique used by which performers?

Disc jockeys scratch vinyl records to mix sounds, and Scratch borrows the idea: its users are encouraged to "remix" one another's projects into new games and animations.

58

Which comic by Randall Munroe features "Little Bobby Tables", a boy whose name deletes his school's records?

XKCD's 2007 strip made "Bobby Tables" an informal nickname for SQL injection, the attack in which text typed into a form is run as a database command.

59

A programming language able to run any computation is called "complete" after which English mathematician?

Alan Turing imagined the Turing machine, and any system able to simulate one is Turing-complete; the card game Magic: The Gathering turned out to qualify by accident.

60

Which number system, used to write web colours such as #FF00FF, counts with the digits 0–9 and letters A–F?

Hexadecimal is base 16, so a pair of its digits covers every value from 0 to 255, and a web colour is simply three such pairs.

61

Which punctuation mark is required after every statement in Java and the C family of languages?

A semicolon has a perfect double in the Greek question mark, which looks exactly like it but is a different character entirely.

62

Where C and Java wrap blocks of code in curly braces, Python relies on which layout feature instead?

Indentation that carries meaning is known as the off-side rule, a term Peter Landin coined in the 1960s, possibly as a pun on football's offside law.

63

In C, Java and Python, the first item of a list or array sits at which index number?

Index 0 comes first because most languages count from zero, and Edsger Dijkstra defended the habit in a note titled "Why numbering should start at zero".

64

Which programming technique, a classic way to solve the Towers of Hanoi puzzle, has a function call itself?

Recursion solves a problem by shrinking it into smaller versions of itself until it reaches a simple base case that needs no further calls.

65

Which kind of mistake, such as an unquoted string or missing bracket, breaks a language's grammar rules?

A syntax error is the kind a compiler catches before the software ever runs, whereas an interpreter only reports it at run-time.

66

Which data structure hands back its items in first-in, first-out order, so the oldest item always leaves first?

A queue adds each new item at the back and removes the one that has waited longest; its opposite, the stack, hands back the newest item first.

67

Which food-themed word names half a byte, a unit of four bits of computer data?

Nibble is sometimes spelled "nybble" to match byte, and one of them is just big enough to hold any value from 0 to 15.

68

The esoteric language Piet, whose programs are bitmaps that look like abstract art, honours which painter?

Mondrian was the designer's first choice of name too, but someone had already used it for a scripting language, so the language took the painter's first name instead.

69

Which three-letter keyword introduces a function definition in Python, where JavaScript writes out "function"?

The keyword def must be followed by the function's name and a bracketed list of its parameters; Ruby uses the same keyword, while Kotlin writes fun.

70

Which US Navy rear admiral led the team that wrote the A-0 compiler in 1952 and coined the word "compiler"?

Grace Hopper was also known for handing out pieces of wire just under a foot long, which she called "nanoseconds": the distance light travels in a billionth of a second.

71

Which leader of the Apollo flight software team is credited with coining the term "software engineering"?

Margaret Hamilton began using the phrase during the early Apollo missions, when writing software was not taken as seriously as other kinds of engineering.

72

The word "algorithm" comes from the Latinised name of which ninth-century Persian scholar?

The scholar al-Khwarizmi became "Algoritmi" in Latin, and a medieval translation of his book on arithmetic opens "Dixit Algoritmi": "Thus spoke al-Khwarizmi".

73

Tony Hoare apologised in 2009 for which 1965 invention of his, calling it "my billion-dollar mistake"?

The null reference went into the language ALGOL W "simply because it was so easy to implement", Hoare said, and he blamed it for decades of crashes and security holes.

74

Which sorting algorithm did Tony Hoare devise in 1959 while a visiting student at Moscow State University?

Quicksort was born of a translation project: Hoare had to sort the words of Russian sentences before looking them up in a dictionary stored alphabetically on magnetic tape.

75

Adding 0.1 three times does not give exactly 0.3 in most languages, as fractions are stored in which number system?

Base 2 has no exact way to write 0.1, much as one third can never be written out in full as a decimal, so a tiny rounding gap creeps into the sum.

76

Programmers use which physicist's name for a bug that seems to vanish or change whenever they try to study it?

Werner Heisenberg lends his name to the "heisenbug" because attaching a debugger or adding output statements subtly changes timing and memory, so looking at the fault alters it.

77

Ward Cunningham, developer of the first wiki, coined which term for the future cost of quick-and-dirty code?

Technical debt was Cunningham's 1992 metaphor for persuading his boss that shortcuts taken in a financial product would have to be paid for later with extra work.

78

Which common bug, whose classic variety is called a fencepost error, makes a counter stop a step too early or too late?

An off-by-one error hides in a classic puzzle: asked how many posts a 30-foot fence needs with posts every 3 feet, most people say ten, which is one short.

79

Thousands of which portable music player froze on 31 December 2008 because its clock code mishandled a leap year?

Zune 30 players locked up for the whole day because the code counting days could not cope with the 366th day of the year; owners were told to let the battery drain and recharge on New Year's Day.

80

Arthur C. Clarke called the coding slip that doomed NASA's Mariner 1 in 1962 "the most expensive" what "in history"?

The "hyphen" was in truth an overline left out of the handwritten guidance equations; the Venus-bound rocket veered off course and had to be destroyed by range safety.

81

Which author of The Art of Computer Programming became famous for sending cheques to readers who found his errors?

Donald Knuth's cheques were such prized trophies that very few were ever cashed; most were framed, and he later replaced them with certificates from an imaginary bank.

82

Which educational language of 1967, co-designed by Seymour Papert, is known for steering a robot called a turtle?

Logo's turtle began as a real robot with a small retractable pen, and pupils worked out its path by imagining what they would do if they were the turtle.

83

Which scripting language, created in Rio de Janeiro in 1993, is built into Roblox and World of Warcraft?

Lua means "moon" in Portuguese, a nod to an earlier in-house language named SOL, or "sun".

84

Which mathematician devised the Game of Life, a 1970 grid simulation whose cells live or die by simple rules?

John Conway's game went public in Martin Gardner's Scientific American column, and enthusiasts have since built working emulations of computers on its grid.

85

Which hit 1999 PC game did Chris Sawyer write almost entirely in assembly language?

RollerCoaster Tycoon's code was 99% x86 assembly, with only the last one percent in C; Sawyer conceived it after the success of his Transport Tycoon.

86

Which counting game, swapping multiples of three and five for silly words, is a classic coding-interview screening test?

Fizz buzz started life as a group word game that teaches children division, long before interviewers borrowed it to check that an applicant can write a few lines of working code.

87

Which algorithm, first described by John Mauchly in 1946, finds an item in a sorted list by repeated halving?

Binary search runs in logarithmic time, so doubling the length of the list adds just one more check; a million sorted items need only about 20.

88

Which operation, often written with a percent sign in code, returns the remainder after a division?

Modulo is the standard test for odd and even: "5 mod 2" evaluates to 1 because 5 divided by 2 leaves a remainder of 1, while any even number leaves 0.

89

Which 1980s radiation therapy machine gave patients massive overdoses because of race conditions in its software?

Therac-25 had dropped the hardware safety interlocks of earlier models and relied on software checks alone; it was involved in at least six overdoses between 1985 and 1987.

90

Which German engineer designed Plankalkül in the 1940s, the first high-level language devised for a computer?

Konrad Zuse never ran the language on any of his own machines; the first compiler for it was only written in 1975, as part of a dissertation.

91

Which Danish-Canadian programmer, born in Greenland, created the web scripting language PHP and released it in 1995?

Rasmus Lerdorf announced the first public release on a Usenet discussion group in June 1995, hoping that other people would report bugs and help improve the code.

92

The "B" in Bash, the GNU Project's Unix shell, honours which author of an earlier shell from 1979?

Stephen Bourne wrote his shell at Bell Labs as a replacement for the Thompson shell, and Bash, its free successor, is short for "Bourne Again SHell".

93

Which US trading firm lost $440 million in about 45 minutes in 2012 after faulty code flooded the market with orders?

Knight Capital's disaster began when a technician failed to copy new code to one of its servers, which then revived an obsolete function and kept sending orders indefinitely.

94

Unix background processes are called daemons after a thought experiment by which nineteenth-century physicist?

Maxwell imagined a demon that sorts molecules, and programmers on Project MAC around 1963 adopted the word for the tireless helpers that do a system's background chores.

95

The 2001 Agile Manifesto was drafted by seventeen software developers meeting at a ski resort in which US state?

Utah's Snowbird resort beat Chicago and Anguilla in the Caribbean as the venue: one was judged cold with nothing fun to do, the other too slow to reach.

96

Which engineer, who began the LLVM compiler project as a student, went on to create the Swift language at Apple?

Chris Lattner made LLVM the subject of his 2002 master's thesis, and Apple later put him in charge of building its new compiler tools around it.

97

Charles Simonyi's habit of prefixing variable names with their type or purpose is named after which nationality?

The Hungarian label honours Simonyi's homeland, though Andy Hertzfeld joked that it fitted because it made programs look as if they were written in an inscrutable foreign language.

98

Which 1975 book by Fred Brooks argues that adding people to a late software project only makes it later?

The Mythical Man-Month drew on Brooks's experience managing IBM's OS/360, and its central claim became known as Brooks's law.

99

Which term names an informal outline of an algorithm, common in textbooks, that people can read but machines cannot run?

Pseudocode has no broad standard at all, which is the point: it lets an author describe an algorithm to readers whatever language they happen to know.

Think you know Programming?

Put these facts to the test with the interactive quiz.

Take the 99-question quiz

Teaching Programming?

Make a custom quiz — handy for classrooms and study groups.

Make a quiz on anything

Related quizzes