The Old Coding Languages That Refuse to Die
Programming languages definitely go out of style, but they rarely die. They can linger long past their heyday, because like a train conductor's ticket punch, they fill a niche better than any higher-tech replacement could. For developers working with old programs, maintaining the beast can be a far better choice than rewriting everything. Here are nine languages from as far back as the 1950s that are still in use today:
Named for: “Algorithmic Language.”
Inventors: A widespread group of European and American computer scientists.
Peak Years: 1958–1968.
Main Use: Mostly scientific computation. ALGOL was essentially the first attempt to write a language that could transcend its platform and be used on many different machines. It turned out to be better for lab work than for commercial applications because it didn’t (in its initial form) have any input-output protocol: That is, an ALGOL program couldn't prompt you for a number but rather had to have those numbers written into the code.
Contemporary Presence: Minimal, but its DNA lie in many major languages used today.
Linguistic Equivalent: Classical Greek.
Named For: “Common Business-Oriented Language.”
Inventors: A large committee that included pioneering computer scientist Grace Hopper, most famous for creating the term “bug” when she found a dead insect stuck in a circuit.
Peak Years: 1960s through 1980s.
Main Use: Big business systems: accounting, bookkeeping, insurance.
Contemporary Presence: It’s still taught in schools because there’s a ton of legacy code out there, notably in big corporate organizations and governments. In 2000, financial institutions had to pull COBOL programmers out of retirement to dig into their old code and rewrite around the Y2K problem. A few years ago, Computerworld reported that young programmers who knew COBOL were commanding a significant salary premium and others were often being told they’d have to learn it to maintain older code.
Linguistic Equivalent: Church Latin
Created: 1964 (introduced 1969).
Named For: "Programming Language One."
Inventors: A committee convened by IBM.
Peak Years: Early 1970s.
Main Use: A general purpose language for the IBM System/360 mainframes, which were employed for everything from bookkeeping to astrophysics. Was intended to supplant COBOL, FORTRAN, and other contemporary languages and was much more widely used in the Soviet Union than in the West.
Contemporary Presence: Lost favor in the 1970s; it was perceived as a resource-hogging, overcomplicated language, and users resisted being locked into yet another proprietary IBM product. But given IBM’s dominance back then, a lot of old PL/I is still out there, and an update released just weeks ago allows it to play with newer Web code.
Linguistic Equivalent: Old Church Slavonic
Named For: Mathematician Blaise Pascal.
Inventor: Niklaus Wirth.
Peak Years: 1980s.
Main Use: Arguably the most widely used descendant of ALGOL, it was used mostly for teaching and the development of software for early Apple computers. Borland’s widely popular 1983 version was called Turbo Pascal.
Contemporary Presence: Still used for teaching object-oriented programming but much less frequently than 30 years ago.
Linguistic Equivalent: Esperanto.
Named For: “List Processing.”
Inventor: John McCarthy.
Peak Years: 1960s.
Main Use: Artificial intelligence, air-defense systems, computer blackjack.
Contemporary Presence: Still one of the dominant languages in AI work.
Linguistic Equivalent: Sanskrit.
Named For: “A Programming Language.”
Inventor: Ken Iverson.
Peak Years: 1960s.
Main Use: Applied mathematics, mostly. Known for extreme simplicity and clarity of syntax. Downside: Required Greek letters and obscure symbols, and thus a special keyboard. Reads right to left, like Hebrew.
Contemporary Presence: Not widespread, but it’s still used in certain very specific niches: DNA identification and weirdly, accounting theory.
Linguistic Equivalent: Navajo.
Named For: “Formula Translator.”
Inventor: John Backus, for IBM.
Peak Years: 1960s and 1970s.
Main Use: The first high-level language that allowed code to be written in something vaguely like English and then translated through a compiler to produce a version that machines can run quickly. Used mostly for heavy-duty scientific computing.
Contemporary Presence: Still in fairly wide use among physicists and engineers.
Linguistic Equivalent: Jane Austen's English.
Named For: From the Greek "logos," meaning "word" or "thought."
Inventors: Seymour Papert, Wally Feurzeig, and a group working with Papert at the MIT Artificial Intelligence Laboratory.
Peak Years: 1970s and 1980s.
Main Use: LOGO (which was derived from LISP) was developed to teach very small children how to program. It displayed a cursor called a “turtle” that responded to onscreen commands.
Contemporary Presence: Still used much as it was. One version works with Arduino, the circuit-building kits beloved in the robotics world.
Linguistic Equivalent: Airport-sign symbols.
Named For: The 19th century proto-programmer Ada Lovelace.
Inventor: Jean Ichbiah.
Peak Years: 1980s.
Main Use: Military and air traffic control.
Contemporary Presence: Still at the heart of air traffic control and will be for the foreseeable future because it is uniquely robust, full of fail-safe provisions.
Linguistic Equivalent: American English with a heavy Appalachian twang.
Correction: Corrects earlier version of this story which stated that Microsoft developed Turbo Pascal. It was developed by Borland.
For more on code, read this next:
Plus, our special report: The World Belongs to People Who Code