Programming Trivia
0Loading crowd target
0Loading crowd target
8correct to beat the crowd
This programming trivia quiz has 99 free questions with answers and covers the languages and the culture around them: who created C, C++, Java, JavaScript, Ruby, Go, Rust, Swift, Kotlin, PHP, Perl, Fortran, COBOL, Lisp, BASIC, Pascal and TypeScript, where their odd names came from, and the mascots, mottos and in-jokes that grew up around them. It also digs into coding culture and its famous disasters: the moth in the Harvard Mark II, Dijkstra's letter about goto, the Mars Climate Orbiter unit mix-up, the Ariane 5 overflow, the eleven-line npm package that broke the internet, why Git is called Git, and how Stack Overflow got its name. It suits developers, students and anyone who has ever fixed a bug by explaining it to a rubber duck. Every answer was checked against the relevant Wikipedia article and cites the sentence that establishes it, and the difficulty runs from first-week-of-bootcamp to questions that will stump senior engineers.
30 of 99 questions with answers and explanations. Play the quiz
Q 01Which programmer created the C language at Bell Labs in 1972?
Dennis Ritchie
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.
Q 02Brendan Eich created JavaScript in 1995 while working at which company?
Netscape
Netscape hired Eich in April 1995; he wrote the first JavaScript prototype in about ten days, and it shipped in Netscape Navigator 2.0.
Q 03When JavaScript first shipped in a browser beta in September 1995, what was it called?
LiveScript
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.
Q 04Who designed the Java language at Sun Microsystems?
James Gosling
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.
Q 05Java was first named after which tree, which stood outside the office of the language's lead designer?
Oak
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.
Q 06What did Bjarne Stroustrup call the C++ predecessor he began in 1979?
C with Classes
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.
Q 07The name C++, suggested by Rick Mascitti, refers to which feature of C?
the increment operator
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.
Q 08In 2018 Guido van Rossum took a 'permanent vacation' from which Python community title?
Benevolent Dictator For Life
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.
Q 09Yukihiro Matsumoto said one factor in naming Ruby was that it was a colleague's what?
birthstone
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.
Q 10Go 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.
Q 11Graydon Hoare created Rust in 2006 while at which organisation, its sponsor from 2009?
Mozilla
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.
Q 12Rust enforces memory safety without a garbage collector using which compile-time mechanism?
the borrow checker
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.
Q 13Swift, introduced at Apple's 2014 WWDC, was created to replace which older Apple language?
Objective-C
Q 21John McCarthy's Lisp, begun in 1958, takes its name from which phrase?
List Processor
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.
Q 22John Kemeny and Thomas Kurtz created BASIC in 1964 at which school?
Dartmouth
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.
Q 23Micro-Soft's first product, a BASIC interpreter, was written for which computer?
Altair 8800
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.
Q 14The Kotlin language is named after what kind of place?
an island in the Gulf of Finland
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.
Q 15Before it became a recursive backronym, what did the letters PHP originally stand for?
Personal Home Page
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.
Q 16Which animal, seen in the letters PHP, is the language's mascot?
Elephant
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.
Q 17Who developed Perl in 1987 as a Unix scripting language to make report processing easier?
Larry Wall
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.
Q 18In October 2019, Perl 6 was officially renamed to what?
Raku
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.
Q 19Which IBM engineer proposed and led the team that delivered the first Fortran compiler in 1957?
John Backus
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.
Q 20What does the name COBOL stand for?
Common Business-Oriented Language
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.
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.
Q 24Which Swiss computer scientist designed Pascal, released in 1970?
Niklaus Wirth
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.
Q 25Which lead architect of C# and creator of Turbo Pascal also worked on TypeScript at Microsoft?
Anders Hejlsberg
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.
Q 26The earliest known 'hello, world' program appears in Brian Kernighan's 1972 tutorial for which language?
B
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.
Q 27Rubber duck debugging takes its name from an anecdote in which book?
The Pragmatic Programmer
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.
Q 28What did Harvard Mark II operators tape into their logbook in 1947 as the 'first actual case of bug being found'?
a moth
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.
Q 29Edsger Dijkstra's famous 1968 letter argued which statement should be considered harmful?
goto
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.
Q 30Mars Climate Orbiter's 1999 loss came from pound-force seconds being read as which SI unit?
newton-seconds
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.