Thursday, May 7, 2009

A Brief, Incomplete, and Mostly Wrong History of Programming Languages

1801 - Joseph Marie Jacquard uses punch cards to instruct a loom to weave "hello, world" into a tapestry. Redditers of the time are not impressed due to the lack of tail call recursion, concurrency, or proper capitalization.

1842 - Ada Lovelace writes the first program. She is hampered in her efforts by the minor inconvenience that she doesn't have any actual computers to run her code. Enterprise architects will later relearn her techniques in order to program in UML.

1936 - Alan Turing invents every programming language that will ever be but is shanghaied by British Intelligence to be 007 before he can patent them.

1936 - Alonzo Church also invents every language that will ever be but does it better. His lambda calculus is ignored because it is insufficiently C-like. This criticism occurs in spite of the fact that C has not yet been invented.

1940s - Various "computers" are "programmed" using direct wiring and switches. Engineers do this in order to avoid the tabs vs spaces debate.

1957 - John Backus and IBM create FORTRAN. There's nothing funny about IBM or FORTRAN. It is a syntax error to write FORTRAN while not wearing a blue tie.

1958 - John McCarthy and Paul Graham invent LISP. Due to high costs caused by a post-war depletion of the strategic parentheses reserve LISP never becomes popular[1]. In spite of its lack of popularity, LISP (now "Lisp" or sometimes "Arc") remains an influential language in "key algorithmic techniques such as recursion and condescension"[2].

1959 - After losing a bet with L. Ron Hubbard, Grace Hopper and several other sadists invent the Capitalization Of Boilerplate Oriented Language (COBOL) . Years later, in a misguided and sexist retaliation against Adm. Hopper's COBOL work, Ruby conferences frequently feature misogynistic material.

1964 - John Kemeny and Thomas Kurtz create BASIC, an unstructured programming language for non-computer scientists.

1965 - Kemeny and Kurtz go to 1964.

1970 - Guy Steele and Gerald Sussman create Scheme. Their work leads to a series of "Lambda the Ultimate" papers culminating in "Lambda the Ultimate Kitchen Utensil." This paper becomes the basis for a long running, but ultimately unsuccessful run of late night infomercials. Lambdas are relegated to relative obscurity until Java makes them popular by not having them.

1970 - Niklaus Wirth creates Pascal, a procedural language. Critics immediately denounce Pascal because it uses "x := x + y" syntax instead of the more familiar C-like "x = x + y". This criticism happens in spite of the fact that C has not yet been invented.

1972 - Dennis Ritchie invents a powerful gun that shoots both forward and backward simultaneously. Not satisfied with the number of deaths and permanent maimings from that invention he invents C and Unix.

1972 - Alain Colmerauer designs the logic language Prolog. His goal is to create a language with the intelligence of a two year old. He proves he has reached his goal by showing a Prolog session that says "No." to every query.

1973 - Robin Milner creates ML, a language based on the M&M type theory. ML begets SML which has a formally specified semantics. When asked for a formal semantics of the formal semantics Milner's head explodes. Other well known languages in the ML family include OCaml, F#, and Visual Basic.

1980 - Alan Kay creates Smalltalk and invents the term "object oriented." When asked what that means he replies, "Smalltalk programs are just objects." When asked what objects are made of he replies, "objects." When asked again he says "look, it's all objects all the way down. Until you reach turtles."

1983 - In honor of Ada Lovelace's ability to create programs that never ran, Jean Ichbiah and the US Department of Defense create the Ada programming language. In spite of the lack of evidence that any significant Ada program is ever completed historians believe Ada to be a successful public works project that keeps several thousand roving defense contractors out of gangs.

1983 - Bjarne Stroustrup bolts everything he's ever heard of onto C to create C++. The resulting language is so complex that programs must be sent to the future to be compiled by the Skynet artificial intelligence. Build times suffer. Skynet's motives for performing the service remain unclear but spokespeople from the future say "there is nothing to be concerned about, baby," in an Austrian accented monotones. There is some speculation that Skynet is nothing more than a pretentious buffer overrun.

1986 - Brad Cox and Tom Love create Objective-C, announcing "this language has all the memory safety of C combined with all the blazing speed of Smalltalk." Modern historians suspect the two were dyslexic.

1987 - Larry Wall falls asleep and hits Larry Wall's forehead on the keyboard. Upon waking Larry Wall decides that the string of characters on Larry Wall's monitor isn't random but an example program in a programming language that God wants His prophet, Larry Wall, to design. Perl is born.

1990 - A committee formed by Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher, and People for the Ethical Treatment of Animals creates Haskell, a pure, non-strict, functional language. Haskell gets some resistance due to the complexity of using monads to control side effects. Wadler tries to appease critics by explaining that "a monad is a monoid in the category of endofunctors, what's the problem?"

1991 - Dutch programmer Guido van Rossum travels to Argentina for a mysterious operation. He returns with a large cranial scar, invents Python, is declared Dictator for Life by legions of followers, and announces to the world that "There Is Only One Way to Do It." Poland becomes nervous.

1995 - At a neighborhood Italian restaurant Rasmus Lerdorf realizes that his plate of spaghetti is an excellent model for understanding the World Wide Web and that web applications should mimic their medium. On the back of his napkin he designs Programmable Hyperlinked Pasta (PHP). PHP documentation remains on that napkin to this day.

1995 - Yukihiro "Mad Matz" Matsumoto creates Ruby to avert some vaguely unspecified apocalypse that will leave Australia a desert run by mohawked warriors and Tina Turner. The language is later renamed Ruby on Rails by its real inventor, David Heinemeier Hansson. [The bit about Matsumoto inventing a language called Ruby never happened and better be removed in the next revision of this article - DHH].

1995 - Brendan Eich reads up on every mistake ever made in designing a programming language, invents a few more, and creates LiveScript. Later, in an effort to cash in on the popularity of Java the language is renamed JavaScript. Later still, in an effort to cash in on the popularity of skin diseases the language is renamed ECMAScript.

1996 - James Gosling invents Java. Java is a relatively verbose, garbage collected, class based, statically typed, single dispatch, object oriented language with single implementation inheritance and multiple interface inheritance. Sun loudly heralds Java's novelty.

2001 - Anders Hejlsberg invents C#. C# is a relatively verbose, garbage collected, class based, statically typed, single dispatch, object oriented language with single implementation inheritance and multiple interface inheritance. Microsoft loudly heralds C#'s novelty.

2003 - A drunken Martin Odersky sees a Reese's Peanut Butter Cup ad featuring somebody's peanut butter getting on somebody else's chocolate and has an idea. He creates Scala, a language that unifies constructs from both object oriented and functional languages. This pisses off both groups and each promptly declares jihad.

Footnotes

  1. Fortunately for computer science the supply of curly braces and angle brackets remains high.
  2. Catch as catch can - Verity Stob

Edits

  • 5/8/09 added BASIC, 1964
  • 5/8/09 Moved curly brace and angle bracket comment to footnotes
  • 5/8/09 corrected several punctuation and typographical errors
  • 5/8/09 removed bit about Odersky in hiding
  • 5/8/09 added Objective-C, 1986
  • 5/8/09 added Church and Turing
  • 4/9/10 added Ada (1983) and PHP(1995)

735 comments:

«Oldest   ‹Older   201 – 400 of 735   Newer›   Newest»
Jem said...

In 1964, after downing one to many gin and tonics after work, a couple of British boffins create CORAL. In 1966, during the great gin shortage, they sober up, realize their mistakes, and publish the 'all new' CORAL-66. In their rush to glory they forget about basic I/O functions and make every CompSci lecturers life hell when teaching people programming using the "Hello World" approach.

Seeing value in 'standards' it is adopted/mandated for UK military programming and was in no-way responsible for the cost/duration overrun on the UK Nimrod AEW program in the 1980s. Such was the success of this mandate that the US adopted a similar policy with ADA and got the same results.

Jacques Menu said...

A few quotes from the past:

"I can read hieroglyphs, too" (Communications of the ACM, about APL)

"In Pascal, arguments are passed by Wirth, not by value" (Reverend David Gries, in a NATO summer school - he pronounced 'worth', of course)

"It took you 2.5 hours to understand what this 20 symbol APL program does? Well, it too me 2 to write it!" (André Probst)

"If Prolog is the answer, then what was the question?" (don't remember whom nor where - I'm a Prolog fan, though)

HumorLikeABrick said...

This is great, but it would be better if you included my favorite language ________, which is superior to all other languages IMHO. Seriously, how could you forget _______?

Anonymous said...

While brilliantly conceived, the blog misses the raison d'etre of programming languages: the instinctual human need to ponder incomprehensible error messages.

Anonymous said...

1996, Zeev Zuraski and Andy Gutmans were researching about the effects of THC. One of their experiments succeeded, so they made it open source and published it on Internet under the name PHP. Someone thought it was cool to create web pages while getting high with that substance, but it's not recommended.

Julian said...

To quote...

"You could come up with some funnies for TCL I bet..."

But that's the point TCL isn't funny because it's hard to do that to yourself. Well almost.

Anonymous said...

Very good. But you left out Guido Van Rossum's dead parrot.

Anonymous said...

That was a seriously fun post. Thanks for the best computer related laugh I've had since I heard a sales guy tell us how easy a problem was to solve... :-)

minimooguser said...

There goes my theory. I thought Larry Wall was high on drugs when he came up with Perl but it turns out he was talking to God.

Matt Fedak said...

hilarious!!!!

Robert said...

1958 - Charles H. Moore created Forth, a structured, imperative, method for coding spaghetti. It did not stack up as polish is hard enough to learn left to right.

Brian said...

Hmm. Didn't explain why Scheme was invented. From experience, I think it was invented to remove 3/4 of the first year CS students.

Adriano Ueda said...

Good and funny post!

But, in the post JavaScript's invention year is 1995 and Java is 1996.

However, I think Java was born before JavaScript (or in the same year). At least, this seems reasonable for me.

How could be JavaScript invented before Java, according the post?

Ralph Wilson said...

You forgot to mention that, prior to 1972, Dennis Ritchie first invents A (which doesn't actually work) and then B (which also doesn't actually work) while attempting to invent Unix.

Then there is PL/I, invented by IBM, which combines all the beloved features of ForTran (not the correct spelling) and COBOL and includes teh first use of pointers with all of the massive overheadof COBOL and ForTran and then some.

Great article, brought back fond memories (as well as some painful ones ;-).

GammaBoa said...

Yes, assembler... which is just a high level abstract of hardware. Why isn't there any mention of the guru-ishness required for each of these languages? My captcha is suftstra

Anonymous said...

Marvelous. I agree with the comment that Ada might be worth a mention. Maybe Logo as well, just because schools used it? But really, those would just be icing on the cake.

Andrew said...

Wasn't Java classified as a "Strongly Hyped Language"?

Michael Trigoboff said...

Excellent! Thanks!

spufidoo said...

LOL!
What about CP/M - Computer Program for Morons?

Anonymous said...

I hysterically laughed and could barely avoid spilling cola over my laptop.

IMNSCO, Forth is missing, though.

George said...

1960 TECO was invented at MIT. TECO source was incomprehensible, often even to the author; consequently comments came first on a line, follwed by the code, which took too long to figure out. EMACS was first implemented in TECO. DEC's VTEDIT was implemented in TECO. Transimitting the TECO source for VTEDIT could hang a DECNET connection! The above text is probably a valid, if meaningless, TECO program.

Anonymous said...

you forgot Brainf*ck and PHP

Anonymous said...

Forgot: TUTOR

It's a programing language - look it up.

It's the only 'educational' language I know about that has bit-twiddling as well as branching and goto - with the branching and goto optionally conditional. It also has forced indenting where the first character is a '.' for each level of an "if" and "loop". Add to this, blocks of special states such as "judge" - and really, you even sometimes knew what state you were in at the time.

Note: It did have 512x512 all-points-addressable graphics (orange of course), design-and-download-your-own characters, touch-screen input, slides controller, some forms of audio synthesis. All part of PLATO, which had email, IM, discussion groups, an international following, etc.

A lot of this in the 60's, and all in the 70's.

mighmos said...

What about D? The language which solved all C++ problems, but no one cared because they had all moved to Java, which solved all C++ features.

sweavo said...

PHP does qualify as a programming language, it's just that there's nothing funny about it.

Anonymous said...

Don't forget, BLISS is ignorance.

Pavlina said...

That's awesome. As a non-programmer I always suspected it was something like this.

Eric Knipp said...

This is genius. Thanks for a good laugh.

Anonymous said...

Great article..

LOGO was really cool when I discovered it as a child!!!

BASIC is really just FORTRAN in disguise. Many simularities.. DATA:

GFA Basic for Atari was a better BASIC than any Visual BASIC that ever ran on Windows.

MODULA2 was really just PASCAL.

Comments about Objective-C were right on the money.. and it is historical because it is still hanging around in the GCC compiler family..

And GOTO was never shunned for being non-C like.. goto still rocks in C.

Anonymous said...

What about Algol 60? A language that, according to Tony Hoare, was better than most (or was it any?) of its successors...

And what about PL/1?

Grnch said...

I keep re-reading this every week since you posted it, and it still makes me laugh every time!

The bit about Dennis Ritchie and his powerful gun, oh my... it always cracks me up, the best metaphor for C I've ever seen.

You are a genius.

Anonymous said...

Extremely funny! :-)
Note, however, that the first object-oriented language was Simula, not Smalltalk.

And what about PHP, the Perl for people who consider HTML a programming language that is sometimes not powerful enough?

rgz said...

Funny much.

Now must unlearn...

Alex said...

No mention of the Initial Orders for the LEO computer? Maurice Wilkins is angry!

Anonymous said...

:)))) good stuff

Anonymous said...

I could not finish reading the post. At 1965, I entered an infinite loop so I had to kill the process.

chornbe said...

Holy. Shit. Awesome!

James Thiele said...

1980 - The US Department of Defense adopts the ADA Reference Manual as a Military Spec after determining that the turgid legalese met the requirements of being the longest, most incomprehensible and unimplementable language specification to date. Law schools immediately adopted ADA.

1995 - Chagrined that after a mere fifteen years enough people had actually understood enough ADA to implement working systems the DOD added object oriented concepts in an attempt to further complicate the language.

Jon said...

Cool - Thx. But which bit is fiction?

Jondolar said...

MS-DOS batch file programming still kicks butt (although I can't seem to find work these days). Prompt $P$G

WestfW said...

TECO ?!

Anonymous said...

Alan Kay also, in a fit of pique over having two first names, one of them a girl's, and also as a practical joke on college students who don't take enough English classes, reverses the English convention so that:

Class names, which are generics, StartWithACapitalLetter,

and

variable names, which are proper names, doNot.

The attendant unreadability of all code by people who actually know English retards computer science by centuries and assures jobs for ThoseWhoPreferWriting alanKay rather than writing in English.

Tac-Tics said...

This made me happy in the pants. Thank you.

Mr Son said...

Brilliant man! :D

Garry said...

1975: The DoD committee of Ironman, Steelman, Strawman, Tinman and Woodman are joined by Pebbleman, Sandman plus Stoneman.

After numerous meetings over many years the committe fails to design the horse, their fallback position was the camel, unfortunately they could only achieve Ada.

oneness said...

Appreciate your humorous way of writing. I really enjoyed it!

Adlai said...

You forgot to mention after each language that Real Programmers can still write FORTRAN in it.

Anonymous said...

1986 - Bertrand Meyer founds the first Church of Eiffel based on the principles of object-orientation, design by contract, and flagellation.
... and use of garbage collector

Chris Samuel said...

Absolutely wonderful, thank you so much! :-)

One suggestion - B (around 1969)!

"We have both types of variable, automatic and extern"

Wonderful language, really miss it! More info on DMR's site here: http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html

Michael said...

Very funny... what about:

1943 Zuse finally got tired of pulling levers in his mechanical computers and after attending one too many logic classes about Frege invented Plankalkuel, which had his first implementation in 1998 and was widely considered to be one of the most influential languages that was published late.

1957 Ken Iverson decided that math symbols are good enough for a programming language despite the dominance of 6 to 8 bit characters and invents APL. In 1962, he finally was able to get it published after finding some ancient Greek typesetting machine. 1967, IBM saw a business opportunity in selling APL typewriter wheels and shipped the first APL interpreters.

Anonymous said...

Just made my day.

What about Algol, Ada, Oberon, Modula, Snobol, Logo, B, ...

Anonymous said...

Someone asked about PHP

Brian Oscar Fredrick Hill, a disgruntled systems administrator who was recently layed off adopts the moniker Rasmus Lerdorf and invents PHP which is an acronym for "Pretty Horrible Prose" an ironic joke which references the languages famed consistency of semantics. PHP is actually a plot to ensure system administrators are never out of work as now any normal 1 year old can make a web site before acquiring ball throwing skills. (Un)fortunately, they are predisposed to doing it insecurely. BOFH has many servers to fix these days.

Niel Roos said...

I remember this from school... HAHA

Andrei Vajna II said...

What? No concurrency in the Jacquard loom? What about all those interleaving threads?

blaze said...

No PHP?

Shyam said...

Brilliant! Can't stop laughing.

agian said...

PostScript mention not did you!

Anonymous said...

1995: Rasmus Lerdorf decided the www needed to be destroyed. He invented PHP to be written by l33t script kiddies to create websites that had security holes the size of venus embedded within

chumgrinder said...

But APL *is* already on the list. If you take the 37th character from every paragraph, the result is an APL program that prints its own humorous historical blog entry.

Farhan Mannan said...

Awesome

Anonymous said...

//* LET US NEVER FORGET IBM MVS JCL
//* ITS TOTALLY OPAQUE SYNTAX
//* STARING AT PAGES OF GREEN BAR
//* CORE DUMP
//STEP EXEC PL1XCLG,GOPGM=PROG1
//PL1.SYSIN DD *

Martin Evans said...

You've just brightened up my day. Thank you :-)

c unit testing said...

Wow, that is one crazy long post on programming... but very good and obviously it must have taken a lot of research. I didn't see anything about why Scheme was invented, though. Did I miss that?

Uli Kusterer said...

Hi,

would love to see the whole xTalk family of languages in there. I'm sure there's lots of jokes in HyperTalk and its "the X of Y of Z under A in the kitchen sink" constructs, and throw Lingo as a distant relative that mutates into ActionScript in there...

Puh-leaze? :-)

Uli Kusterer said...

Wow! D would be a great choice of language to cover. Especially considering how many programming languages of that name are out there (dtrace, Mars, ...).

Jesús Gómez said...

hilarious. Thanks

enthemic said...

Love that the only mention of Delphi is "Anders Hejlsberg invents c#"

Erik240 said...

Someone apparently thought it a brilliant idea to rip you off without attribution: http://www.cvaieee.org/html/humor/programming_history.html

fun eh?

Resuna said...

Awk, the Bourne shell, Forth, Tcl, and Postscript were obviously left out because they were created to actually solve real problems instead of write "hello world" more stylishly.

Anonymous said...

I'd love to see entries for Factor and APL.

Anonymous said...

a: push LOL
jmp near a
>>stack over run error

Dave said...

Bloody hilarious... I nearly choked on my cold beverage and in doing so nearly spat it all over the screen.

Linus Sjögren said...

Brilliant, but you're missing Lua.

ishiryu said...

Wasn't 1999 the year that Tupac Shakur posthumously released Scritch. However, no one ever heard of it because so MIT preps stole it and released it as Scratch?

Anonymous said...

XSLT is clearly missing. A descendant of Scheme. What about XPath, XQuery, XSD?

deafmetal said...

Actually regarding L6, "Level" has 2 L's, no counting error occurred.

Mike said...

APL is missing - it is definitly a write only lanuage ... somthing like web scripting;-)

Very funny ... Don't believe C# was invented 2001 - I can remember an old UML tool that offered the opportunity to generate C# code ...? But that was before - originally an easy C++.

Mike said...

APL is missing - it is definitly a write only lanuage ... somthing like web scripting;-)

Very funny ... Don't believe C# was invented 2001 - I can remember an old UML tool that offered the opportunity to generate C# code ...? But that was before - originally an easy C++.

Porlock Junior said...

anonymous has grossly slandered Bell L6, the Bell Laboratories Low Level Linked List Language, created by people who could in fact count quite well. Their language, of course, counted for very little in computer history, but it was fun to bootstrap (to a senior programmer's spec) (via Fortran for the first, non-bootstrapped implementation) a variant called Blimp, which was in use for a time at Lawrence Berkeley Labs.

Anonymous said...

In 2008, Don Syme at Microsoft Research creates F#, a language that unifies constructs from both object oriented and functional languages. Microsoft loudly heralds F#'s novelty.

Rob Lewis said...

In the early 1980s I sat down to design a new language that was more suited to the foibles of human programmers. That document is lost, but I remember my favorite new construct: the "IF ONLY" statement, used to express the hoped-for results of a computation. For example, "IF ONLY array A now contained the solution matrix".

DaveL said...

MDL (1970) and ZIL (1979) use angle brackets due to the Lisp-induced parenthesis shortage. Unfortunately both are eaten by grues. Grues infest MIT and Activision to this day.

Anonymous said...

MATLAB needs to be inserted somewhere in here other than the creators posterior.

jhfsprint said...

I loved your history and would suggest adding:
CLOS (Common LISP Object System) as the first ANSI specified OO language, and CLIPS (C-Language Integrated Production System) the successor to OPS5.

BTW, the use of condescension has a wonderful ambiguity as in:

Condescension (aka accommodation) is a theological principle linked to divine revelation within the Christian church. The principle of Condescension is that God, while being in his nature unknowable and unreachable, has nevertheless communicated with mankind in a way in which humans can understand and respond.

V.Woodward said...

This was funny until I got to the comment about Jovial - could have gone the rest of my life never hearing that name again!

Great work!

Jagat Sastry said...

The best article I have ever read! Ever! Couldn't stop laughing at the monoid-monad quote!

Catherine said...

Wow. What ignorance, even among the best of you. APL is definitely missing from your list. And to think, Ken Iverson influenced almost everyone who did make it on to your list.

This why I'm making a documentary about APL.

http://www.aprogramminglanguage.com/

Greg said...

How do you know you're a geek? When the goto joke has you twitching with helpless laughter.

Anonymous said...

You could add something about ActionScript. Even tough Steve Jobs adds Flash, it has become an important part of the internet.

bathala said...

How about dBaseIII+

Kai said...

Java (and C#) are the culmination of 56 brilliant years of high level language development.

zgwortz said...

Heh... Here's another request for FORTH, the worlds first Write-Only Language. And I think APL needs a mention for it's innovative name, if nothing else. Another good one for the list might be Befunge, which was inspired by playing a game of Pacman, or something like that... ;-)

Anonymous said...

2010 - James Iry coins the term Programmable Hyperlinked Pasta (PHP).

Anonymous said...

Funny. I love it. I would love to see something written about PL/1, Algol, Simula and Modula.

Ryan said...

1998: After time traveling into the past, Adobe executive programmers unleash a new language based on an old language based on another old language. Thus ActionScript is created. It is designed specifically to be too processor-heavy to run on iPhones, while portable versions are not skilled enough.

Steve Jobs is unaware of the event until nearly 10 years later.

Pam said...

1968 - god creates RPN. Godless Texans forget it a few years later.

Anonymous said...

.later years few a it
forget Texans Godless .RPN creates god - 1968 ...said Anonymous

William Pietri said...

Hi! I have mistaken this for an actual history of programming languages, and I have a suggestion. No, I didn't read the title. Why do you ask?

Anyhow, please insert my favorite obscure language in here. Don't worry about making up a joke for it; because nobody knows about the language, they wouldn't get the joke anyhow.

Anonymous said...

Closure, Groovy, ProLog and Erlang are missing? Come on, Erlang... wtf?

ramilani12 said...

go to my google reader!

Sunil Mehta said...

Thank you. I thought I would fall off my chair - I was laughing so hard. Wonderful job!

edoxtator said...

RPG: IBM, realizing that COBOL has given accountants with literary aspirations their very own programming language, now turns to the programmers and announces, "So... what we got here for youse guys is a language dat LOOKS like assembler, WRITES like assembler, BUILDS like assembler, but guess what? It ain't assembler, brother!" Programmers universally agree that this approach outstrips COBOL and begin designing NAND gates through left-hand indicators.

RobertMarkBram said...

OMG, never have I wanted to LOL and ROTFL so much in response to a programming related item of humour. Well done sir!

Later still, in an effort to cash in on the popularity of skin diseases the language is renamed ECMAScript.

OMG!

litebug said...

I just scanned it but saw no mention of PL/I (Programming Language One), an IBM proprietary language which I learned in the 1970s and used until I retired in 1999. I think it is still being used where I worked. It was designed for both business and scientific applications and was much more powerful and sophisticated than the COBOL of that era (probably still is). It is a 3rd generation, IBM mainframe language. It was chosen for my shop back in the 70s as it was the only 3rd generation language which could access data on a bit level. Had IBM not stupidly, and short-sightedly, decided to keep it proprietary, it very well would have (and should have) replaced the much inferior COBOL.

Trungie said...

This is so funny it hurts! Thank you.

Anonymous said...

This is missing Assembler (the first try to rename those wires and switches to something sufficient unreadable), Logo (that's the turtle Alan Kay was talking about), and Lua (embedded language, so your toaster, wristwatch and washing machine can run it, too and rapidly gained popularity in games like WoW).

Greetings, LX

Anonymous said...

The Phil Wadler quote has to be true...

Anonymous said...

You're way ahead of your time! ;)

(At least it's Tue May 11 10:17:57 CEST 2010 here.)

Anonymous said...

Doh, until I noticed that the first comments were from last year... sorry for my lack of coffee :)

Anonymous said...

It's Redditor, not Redditer >.>

Nice work though!

Anonymous said...

A possible addition for you.
In 1966 a Committee of the American National Standards Institute gathers and produces an updated version of FORTRAN (FORTRAN 66). Their first attempt was so successful that they repeat this every 11-12 years and are still at it. It is expected that within a century or so FORTRAN will have evolved into C++ (at which time Skynet will be able to compile FORTRAN 55).

Anonymous said...

In addition to the FORTRAN 66 comment I'd like to note this nearly made me spray coffee all over my monitor. Thanks a bunch its a riot.

Girls Are said...

Well, as someone who always hated programming but was very good at it, that was just wonderful. Very wonderful.

Girls Are Geeks

Uncle Duke said...

Ah - you left out Erlang: invented by Erricson for the purpose of creating programmers who can no longer go back to object languages. Erricson successfully corners the market on something which nobody wants.

Anonymous said...

Let's not forget ALGOL. It came before Al Gore created the Internet.

Buyog said...

This is awesome. Funniest thing I've seen all day, thanks. :)

antwatkins said...

Brilliant!

K9SQL said...

Incomplete indeed! No mention of Algol, the first language created by a committee and which included all known programming constructs, but was so complicated that nobody could write a complier for it.

Anonymous said...

You forgot Modula too.

Jerry said...

Just ridiculously funny. Probably more accurate than 98.5% of what I learned in college. You rock.

Clever Monkey said...

In 1973 Charles Moore and Elizabeth Rather received messages from an alien civilization while working on control software for radio telescopes. The aliens could only communicate in all-caps and in reverse Polish notation.

The messages were intended to re-encode human DNA for the purposes of turning us all into intergalactic slaves, but Moore misunderstood the term "control" and ended up creating FORTH, a language for interfacing with toasters.

Later on, the same aliens tried to take over via Hollywood and Star Wars, but that just resulted in Yoda.

Emerson Mitchell said...

I programmed for 40 years, read about most of these, but was only paid for COBOL. Which no longer is new, never was theoretically sound, but which probably runs most programs on most big business computers.

Loved the jokes in the comments written in code!

Of course, if you need speed you use assembler for the hardware you are targeting. Not that anyone cares, the hardware is so fast and the compilers are so good.

BTW, why do programmers hate languages other than their own?

Nerve said...

Brilliant!

bwana said...

But you forgot two of most important, SNOBOL and SMOR!

bwa

Phred said...

The inventor of Obj-C was inbred and passed that inbredness onto Obj-C.

The Old Wolf said...

Oh, how sad. PL1 and SNOBOL are not on the list... ;)

bangoker said...

You forgot to mention J++, Anders makes modifies Java and makes it run only on windows.

After J++ death by sun, Anders decides to beat them to release Java 2.0, makes it windows exclusive and calls it C#

Anonymous said...

:D witty!

Andreas said...

In 1943 german engineer Konrad Zuse invented the programming language Plankalkül. Due to it's use of Fraktur script it had some acceptance problems.

thorin said...

Fantastic!


IMO either:


a) This chronology could be turned into a moderated community projecct (so that every random stupid langauage gets a look in) or,


b) That this comment plus some suitable observation about Richard Stallman could turn into an ironic entry in the chronology about how community projects don't always make things better...

Piotr J. Walczak said...

Delightful! What did you smoke ?

Prakash R said...

Nice.

A book titled "Hitchhiker's guide to programming languages" along the lines of this article might sell well...

Prakash R said...

Nice.

A book titled "Hitchhiker's guide to programming languages" along the lines of this article might sell well...

egorFiNE said...

This is *brilliant*!

Anonymous said...

We want Charles Babbage!

Thank you for the good laugh :p

John said...

:-)
SNOBALL 1962 Farber, led to the breakup of AT&T.
GPSS 1964(?) Gordon, led to SimScript, GASP, ...
Relational Algebra 1970 Codd,led to SQL, QBE, ...

yaccman said...

Two languages I missed, being an old-timer:

APL -- otherwise known as Chinese Basic. Deeply subsidized by the typeball industry.

PL/I -- accurately described as a thousand-bladed Swiss army knife.

Seriously, C becomes much more comprehensible when you realize that most of the Unix folks worked on Multics and wrote in PL/I.

Antoni said...

I have been in these code reviews in an old group. I think the argument was

- Dev A: Spaces – taste great.
- Dev B: Tabs – less filling.

And then just repeats for 30 seconds. Maybe 15 seconds during the Super Bowl.

Great stuff.

Anonymous said...

I hate to nitpick, but although Alan Kay may have been the first to call it "object programming", the concept was invented in the 60's in the worlds first object oriented language, Simula

Anonymous said...

You forgot MAD (Michigan Algorithm Decoder). Had IBM not pushed FORTRAN, none of the rest of this would have happened since MAD had it all - and in the early 1960s at that.

Anonymous said...

Jovial was an interesting language using it for 3 or 4 years in the late 60's. It was said when Jules ran into a problem in his compiler he would walk over rewire the computer..

Anonymous said...

1994: Tim Berners-Lee ignores anal-retentiveness of Computer Scientists and refuses to accept that addresses must resolve: URIs are born, resulting in the creation of the World Wide Web. Berners-Lee is later knighted for his vision.

Anonymous said...

1983: The Occam language for transputers attempts to show that serial thinking is all wrong. A vortex of quantum eventualities occurs that results in the inventor materialising in a parallel universe where Variables actually vary and Constants actually remain the same.

Anonymous said...

Man, you totally need to turn this into a wiki!

Erick said...

That is really funny. I got a good laugh out of it. Programming humor is always a good thing. My old joke, is that I am still waiting for the D language to get popular. Recently I picked up "The Mythical Man-Month" by Brooks, interesting read for programmers.

Erik said...

Great article!

I hate to be picky but most critics also denounced Pascal because its syntax "x := x + y" is less concise than C's "x += y".

Harbor Lit said...

you funny brah.

twig said...

haha brilliant!

passed this along to the guys in my dev team and loving it!

Noel said...

1992 - All the telephones in the world ring concurrently as Ericsson's Stephen King announces Erlang to the world.

Nuke said...

Where are Prolog (http://en.wikipedia.org/wiki/Prolog) and Forth (http://en.wikipedia.org/wiki/Forth_(programming_language))?

Nuke said...

PROLOG is mentioned, I stand corrected. Another one everybody forgot about: LOGO, remember Turtle Graphics?

Nuke said...

PROLOG is mentioned, I stand corrected. Another one everybody forgot about: LOGO, remember Turtle Graphics?

Anonymous said...

I disagree with what Gabriel C. said. I don't think you'll hear "Stairway to Heaven" at La Scala especially with all those people in fancy clothes Milan' around.

Jim said...

Brilliant!

Sam said...

Absolutely fab! I was looking out for the mention of Erlang, surely that deserves a section

Anonymous said...

Obviously 100% written by a C evangelist...
There's more to programming than C, you know..
(ps: yes, I know it was intended to be funny; but it wasn't; because c sucks; c++ too; sarcastiC;)

rbr said...

Absolutely cannot stop laughing! thanks for this post!

JPh BLANCHARD said...

An APL, designed by Kenneth E.IVERSON at 1964, an mathematical notation using array operators and recusivity...
A good description : http://en.wikipedia.org/wiki/APL_(programming_language)

Anonymous said...

All of this can be written in one (long) line in APL, given the right keyboard.

Clarissa said...

Funny stuff, even for me who really only does HTML & Perl. I can think of some sandwiches to go along with this acronym soup. Like HTML = Ham,Tomato,Mayo,Lettuce, ADA = Anchovies,Dijon,American. BASIC = Bologna, American, Served Ice Cold. C = Cheezburger. C# = Cheezburger w/Sharp Cheese. C++ = Cheezburger w/everything. Java is what it is. PL/I = Plate of Lettuce NOT Iceberg. This could go on for hours...

rvb_texas said...

I see that another has already suggested PL/1 ... if you create an entry for it, you must include a reference to its evil MiniMe: PL/C

Jring7 said...

Kinda late but suggest you recognize the JOVIAL COMPOOL as the start of social networking presaging Gerry Weinberg.

Anonymous said...

"x := x + y" in Pascal would be "x += y" in C.

Anonymous said...

Excellent!!

One of my old Lecturers advised the B programing language was developed first and because programmers cannot spell they simply call the next programming language C.

miles said...

I am confused. Why the repetition of "Larry Wall"? Perl's one of the few mainstream languages with pronouns...

Nedim said...
This comment has been removed by the author.
Nedim said...

Brilliant!

Bill said...

Very nice. May I offer an item:

1968- GOTO declared illegal, immoral, fattening, and a terrorist plot by Edsger Dijkstra in a letter to the editor, but it is successfully defended by Don Knuth based on its usefulness in making pasta dishes.

//Bill (left over JCL syntax)

Fitz said...

Assembler was invented by someone that liked to be flogged, but couldn't figure out a way to get it done while at work.

Fitz

Eugenio said...

LOL, what about putting this stuff on a wiki page letting anyone to "evolve" it?

Anonymous said...

bye

rajbow said...

perfect :)
:D

Brad said...

You have tapped into the same well of humorous pseudo-knowledge as John Hodgman. WONDERFUL!

So funny I could not read it all in one sitting.

Scott said...

How about an entry for MUMPS?

homunq said...

2009: In an effort to invent a language that would immediately have more search results than even C, Google invents Go.

GrayGaffer said...

K9sql - "but was so complicated that nobody could write a complier for it."

I know this is a funny page, but that is a bit harsh. Tony is famous for having done exactly that, on the Elliott 803, in 1963 or there-abouts. This was a machine with maybe 8KW main core memory, and used magnetostrictive nickel delay lines for main CPU registers. I wrote and ran my very first program on that machine - Sieve of Eratosthenes, in Algol 60, typed onto paper tape using a Frieden Flexowriter. Good times. All procedural languages we use today are derived from Algol 60. All, that is, except FORTH, but that is used only by dyslexic programmers like myself.

prafuitu said...

HAI
CAN HAS STDIO?
VISIBLE "What?! No LOLCODE? :))"
KTHXBYE

Justin said...

The perl one made LOLz at work.

Awesome list!

Anonymous said...

Don't forget Microsoft J#! Oh, and Visual FoxPro was another terrible idea.

Anonymous said...

Epic. Truly epic.

Anonymous said...

The list should have included

Plankakul if for no other reason that is has the coolest name.

http://en.wikipedia.org/wiki/Plankalk%C3%BCl

Brian Tkatch said...

You really need to replace Larry Wall with Bob Dole.

Anonymous said...

Hilarious! How did I miss this for so long?

Alvonsodaniel said...

design of the layout perfect and i must commite this article one of the best i ever read mortgage calculator make money online komputer

Byblack00 said...

Thanks. I'm cracking up.sikis

Martin Brother Bagge said...

The one solution of Nazi Germany where Poland was captured maybe.

Martin Brother Bagge said...

See 1995.

Martin Brother Bagge said...

Not really, see the second note =)

Martin Brother Bagge said...

Objective C is in there check in the mid 1980s

LES said...

I would have thought PL/I would have been a great source of humor.

Relavak said...

My favorite has always been APL. You need to know every alphabet known to mankind and few alien ones. I remember writing the game of life in about 20 characters. It is a good contest language - who can write the shortest sequence of characters to do complex function.

carlo said...

asdasfadf

Lyndon Adams said...

Brilliant!! What a great way to start the day.

Carlo said...

trhrjytjt

Carlo said...

I'm so interested about those topics because because I like so much computers for that reason I think people who like this will be so happy. Sildenafil Citrate

Web design hampshire said...

Languages wars are usually sad but languages history is definitely funny! Thanks. really i am also Impressive .
web design hampshire

Carlo said...

This is story could be perfect if you put in there something different which catch the people's attention because in some passages this is a bit boring. You should put there some phrases taken from Sildenafil book to get it interesting.

Raoul Bot said...

Thank you. This was great fun to read.

Jack Ring said...

Not quite.
Object Technology was introduced by Smalltalk.
O-O was introduced by those who were so investedin procedural programming they could not allow OT to take hold.

diogobaeder said...

Where's Erlang? Can't see it in the list! :-P

«Oldest ‹Older   201 – 400 of 735   Newer› Newest»