skip to main | skip to sidebar

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)
Posted by James Iry at 7:28 PM

708 comments:

1 – 200 of 708   Newer›   Newest»
Josh Cough said...

Thanks. I'm cracking up.

May 7, 2009 at 7:55 PM
Anonymous said...

Jacquard's loom wasn't concurrent? It was pretty thoroughly multithreaded, I'd have thought!

May 7, 2009 at 8:30 PM
Unknown said...

As the story goes, when Odersky got the idea for Scala, he was high on pizza and listening to "Stairway to heaven"

May 7, 2009 at 9:28 PM
Eric said...

Languages wars are usually sad but languages history is definitely funny! Thanks.

May 7, 2009 at 9:40 PM
Anonymous said...

:D Thx.

You did however forget some important/interesting languages e.g. Objective C (all things Apple?)

May 8, 2009 at 12:05 AM
Mr. Stone said...

I can't stop laughing... thanks man! :)

May 8, 2009 at 12:13 AM
Anonymous said...

Objective C is nice but it's not considered an influential language. It's only used on the Apple platform and nothing else. It didn't have anything that could inspire a new language designer, because in the end its object model is just a light smalltalk layer over C.

I'd say, it didn't make "History".

May 8, 2009 at 12:21 AM
Anonymous said...

A laugh a line. Brilliant. Critics love "A Brief, Incomplete, and Mostly Wrong History of Programming Languages" and so will you.

May 8, 2009 at 12:34 AM
Nick said...

Brilliant! Thank you!

May 8, 2009 at 12:36 AM
Unknown said...

juasss "John McCarthy and Paul Graham invent LISP"

May 8, 2009 at 12:52 AM
Brown said...

Oh God - that was hilarious!!!!! Thank you for the best laugh I've had in ages!!!

May 8, 2009 at 12:55 AM
=M said...

Very nice! :) Ada is missing though.

May 8, 2009 at 1:32 AM
Duck said...

No mention of PHP? Is that because most people don't consider it a programming language?

May 8, 2009 at 2:20 AM
Reuven said...

And every 3 years, Alan Kay gets a fellowship title at another company (Apple, HP, Disney) and re-invents Smalltalk under a different name,

May 8, 2009 at 2:39 AM
Anonymous said...

Sorry it wasn't enlightening which I thought it would be.

And this page of yours constantly contacted and donwloaded MB's of data from s3. aws. or Amazon or whatever, eating up my precious EDGE quota.

May 8, 2009 at 2:54 AM
Adam Tart said...
This comment has been removed by the author.
May 8, 2009 at 2:55 AM
Anonymous said...

What about Factor?

May 8, 2009 at 2:56 AM
Dariusz Dwornikowski said...

SOrry but why Poland becomes nervous by the fact that TIOOWTDI ?

May 8, 2009 at 3:00 AM
Anonymous said...

I am now a far better programmer for having read this. I hardly ever use gotos anymore and have given up eating meat. Bless you.

May 8, 2009 at 3:07 AM
Anonymous said...

i really love this humour, thank you

May 8, 2009 at 3:21 AM
Anonymous said...

That was excellent.

First useful use of a blog ever.

May 8, 2009 at 3:30 AM
Sébastien said...

Thanks a lot ! your post made my day ;)

May 8, 2009 at 3:31 AM
Nathan Hand said...

10 LET FUNNY = 1
20 IF FUNNY <> 0 GOTO 50
30 PRINT "LAME"
40 END
50 PRINT "YOU WIN THE INTERNETS"
60 END

May 8, 2009 at 3:49 AM
Unknown said...

Made me spurt coffee out of my nose. Thanks!

May 8, 2009 at 3:52 AM
Visakh said...

I can't help it...Man! Awesome!!

May 8, 2009 at 4:21 AM
Anonymous said...

Lua is missing, wtf!?

May 8, 2009 at 4:42 AM
Bill the Lizard said...

"Engineers do this in order to avoid the tabs vs spaces debate."

Unfortunately, the plug-boards vs. switches war of the early 40's was bloody and long. Some say it led to the development of the bombe.

May 8, 2009 at 5:13 AM
Anonymous said...

Very good! I don't get all the jokes but bonus points (bonii points?) for making Haskell amusing.

May 8, 2009 at 5:16 AM
Unknown said...

Brilliant!

However I think you should change the Java entry to:

'Java finally fixed C++ but inadvertently evolved into skynet'

regards
Al

May 8, 2009 at 5:34 AM
blakef said...

Fantastic!

May 8, 2009 at 5:35 AM
Unknown said...

I forgot, Ditto C#

May 8, 2009 at 5:40 AM
drjon said...

BWAHAHAHA!!!! Oh, I think my stack overflowed...

May 8, 2009 at 5:55 AM
sombriks said...

nice post, the creation of javascript is quite good

May 8, 2009 at 5:56 AM
Christian said...

This is great! Very funny stuff.

May 8, 2009 at 6:13 AM
Anonymous said...

Very funny, but you somehow forgot the first OO-langauge, Simula.

May 8, 2009 at 6:26 AM
Corey Goldberg said...

very funny. well done :)

May 8, 2009 at 6:34 AM
Bucky Schwarz said...

This was just hilarious, well done!!

May 8, 2009 at 6:38 AM
Anonymous said...

@Duck
Indeed PHP is a scripting language. Just like C# and imo it shouldn't be in that list either.

May 8, 2009 at 6:38 AM
Anonymous said...

Yeah, hey Perl is a scripting language too. It's just more ridiculous even than PHP.

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

Very funny. Thank you

May 8, 2009 at 6:51 AM
Keith said...

Now this is a slice of fried gold.

May 8, 2009 at 6:59 AM
Anonymous said...

$ sed -e '/Peanut/s/\(Ree\).\(e\)/1円s2円/g'
# hint: you forgot regexps! (and shell ;-)

May 8, 2009 at 7:11 AM
kenif said...

You left out FORTH, the only language with scriptural authority?
(God said, "Go Forth, but he couldn't find the run button... ")

May 8, 2009 at 7:24 AM
Amy said...

This was such fun to read. Thanks, you made my day.

May 8, 2009 at 7:34 AM
Eric TF Bat said...

This is all 100% accurate of course, but incomplete. Don't forget:

1968: Chuck Moore gets a sweet gig at the National Radio Astronomy Observatory. Realising his poor hygiene and complete inability to speak any human language would inevitably lead to unemployment, he invents Forth, a language interpreter with no features at all and even less syntax than Lisp, in which he rewrites all the observatory's software in a week so that it runs ten times as fast and is totally unmaintainable by anyone but him. Geeks surprise him by taking the language and running with it, making N squared incompatible implementations where N = the number of users. They do this because Star Trek: The Next Generation is still ten years in the future and nobody has invented the Klingon language yet.

May 8, 2009 at 7:40 AM
Anonymous said...

I am angry because you omitted my favorite language! Let's say it's Dylan this time.

May 8, 2009 at 7:42 AM
Anonymous said...

What, no Lua? Video gamers everywhere will cry fowl!

May 8, 2009 at 7:44 AM
Darrell Gentry said...

Thanks. I needed this to brighten my day. I can relate to the Prolog section, but I'm surprised that Ada wasn't mentioned.

May 8, 2009 at 8:19 AM
Jeremy Nicoll said...

PHP: Began as a simple way to include a few elements in a web page. Syntax slowly evolved using a sophisticated voting system by the masses and also tacking features on in a way described as "willy nilly". Later PERL developers flocked to the PHP, dissatisfied with the complexity of PERL. They solved this problem by adding millions of functions that all followed different naming conventions and did not always do what the name suggested. For instance: serve_up_a_flickr_website(); actually created a Facebook-like site. Objects were introduced late in the game but are highly unused because there are functions that'll do just about anything in PHP.

May 8, 2009 at 8:19 AM
Ken F said...

But FORTRAN was for men ...

May 8, 2009 at 8:29 AM
Matt Giuca said...

Awesome, very funny.

You misspelled "still" ("stil") in the funniest paragraph, the 1995/JavaScript paragraph.

May 8, 2009 at 8:36 AM
Daniel said...

I got the brief and the incomplete, but, so far, I haven't found any errors.

Anyway, I'd love to see Forth in there. For no other reason, because I can't settle for a brief way to make fun of it... so many options!

May 8, 2009 at 9:04 AM
Anonymous said...

VB Sucks, C# rules.....

great article, really made me LOL

May 8, 2009 at 9:05 AM
Isaac Gouy said...

> Smalltalk 1980

Just as funny in 1971 and more likely to result in Smalltalk-72 Smalltalk-74 Smalltalk-76 and Smalltalk-78.

http://www.levenez.com/lang/lang.pdf

May 8, 2009 at 9:07 AM
Anonymous said...

What about this one:

1993 - Roberto Ierusalimschy invents Lua, a very powerfull programmer repelent. He mixes all the things programmers hate: simplicity, indexes starting at 1, not object oriented, "~=" means "not equal", avoids bloatware, etc. He is highly successfull.

May 8, 2009 at 9:07 AM
Anonymous said...

I think we should punish the Smalltalk guy for inventing an inferior and disturbing paradigm. We should also punish Stroustrup and Gosling for popularizing it. Because of them, millions of programmers have suffered and thousands have killed themselves.

May 8, 2009 at 9:15 AM
Anonymous said...

That was all kinds of awesome.

Should've had something about Java being invented because "C++ is just too HARD, and omigod, did you see Billy Wilson, he is SOOOO cute and dreamy!!!" (All said while cracking gum and twirling that lock of hair with an index finger....)

May 8, 2009 at 9:20 AM
Anonymous said...

JAVA IS SUPERIOR!

May 8, 2009 at 9:25 AM
Unknown said...

Ignore everyone who's telling you what's missing. It's delightful and hilarious exactly the way it is.

You win the Internets, indeed. Good stuff.

May 8, 2009 at 9:26 AM
Anonymous said...

Bravo! This is classic!

May 8, 2009 at 9:41 AM
Anonymous said...

Now that was funny. Although, I cant believe that no one has yet complained that APL did not get a nod.

May 8, 2009 at 9:54 AM
Anonymous said...

I'm surprised APL isn't in the list! Talk about a much maligned language that had a fierce following!

May 8, 2009 at 9:55 AM
Anonymous said...

1964 -- IBM adds the IO capabilities of COBOL to ALGOL, stirs in semicolons and decides that they have created the first real programming language, and created PL/1

May 8, 2009 at 9:57 AM
Anonymous said...

Anyone want to dabble in the history of Erlang?

May 8, 2009 at 10:09 AM
Anonymous said...

Brilliant, but you left out Redcode!

May 8, 2009 at 10:10 AM
abby, the hacker chick blog said...

Oh my god. This is so freakin funny, I have tears running down my cheeks and I almost fell out of my chair. Twice.

Thank you.

May 8, 2009 at 10:14 AM
Ryan Farley said...

This is a modern classic. Very nice job.

May 8, 2009 at 10:18 AM
Steve said...

I would have included the massive EJB fraud foisted on the world by Sun circa 2001

May 8, 2009 at 10:30 AM
Chris Smith said...

Well done good sir.

May 8, 2009 at 10:31 AM
@nkiit said...

Beautiful :D

May 8, 2009 at 10:37 AM
Anonymous said...

Very good, but...

C# was created in 1999; that's when I first read a spec of it anyway, I don't care that no compiler was available for it at that time.

May 8, 2009 at 10:37 AM
Anonymous said...

you sir, made my day!

great work

May 8, 2009 at 10:48 AM
Faraz said...

That was really good...

but where is Visual Basic? it is perhaps the most derided of all languages.

May 8, 2009 at 11:00 AM
Anonymous said...

at which point FORTRAN turned into 4CHAN

May 8, 2009 at 11:07 AM
Anonymous said...

What, no Eiffel? Sacrebleu!

May 8, 2009 at 11:10 AM
Anonymous said...

My favorite was L6 (Low Level Linked List Language). Someone couldn't count.

And Pascal, which was mentioned, was written as a joke until someone decided to implement it on the PC.

And hey, if you can't find something funny to say about ADA, you're not a real comedian.

No where's my old book on programming languages, the one with the Tower of Babel on it? Need to look up some of these languages. Anybody see it around here?

May 8, 2009 at 11:21 AM
Pedro Furlanetto said...

You forgot Charles Babage. http://en.wikipedia.org/wiki/Charles_Babbage

May 8, 2009 at 11:23 AM
Anonymous said...

Great stuff!

But where is Clojure?

May 8, 2009 at 11:30 AM
Anonymous said...

I prefer to think that this is the official history of programming languages and hope to see it on wikipedia soon as fact.

May 8, 2009 at 11:45 AM
Unknown said...

Awesome! but there's a bunch of easy pickings for real stupidity you missed:
RPG, XML, CSS (Which should be banned), Awk, Bash/sh, Delphi, sendmail.cf (Which in itself might qualify as a language.)
and of course GROOVY! Which is just itchin' to be poked at.
CMON' the 'eggs' in python are cracked, ruby gems don't sparkle unless they run on the JVM, what about assembly? Didn't we all write for the Motorola 6800?

May 8, 2009 at 11:54 AM
David Gerard said...

I see no inaccuracies whatsoever in this excellent and perspicacious history. I hereby declare it a Reliable Source and will just be off to Wikipedia to add every word.

May 8, 2009 at 11:55 AM
Anonymous said...

If you haven't seen it, the Stroustrop 'Why I invented C++' interview is awesome:

http://www.odgaard.org/jeod/funny/interview.html- j

May 8, 2009 at 12:09 PM
Anonymous said...

Paul Graham didn't invent Lisp all by himself?

Whatdayaknow, you learn something new everyday...

May 8, 2009 at 12:13 PM
Unknown said...

HAI
CAN HAS STDIO?
VISIBLE "What about LOLCODE?!?!!"
KTHXBYE

May 8, 2009 at 12:25 PM
Nataraj Subramanian said...

*rolling on the floor laughing*
The one about Haskell was especially good.
thanks mate!

May 8, 2009 at 12:34 PM
Merc said...

*falls off chair laughing* :D

May 8, 2009 at 12:42 PM
Anonymous said...

This was hilarious.....Thanks for sharing a programmers pain... :)

May 8, 2009 at 12:53 PM
Steven Holdsworth said...

Thanks, Funny Stuff so many gems in there has me laughing so hard..

What about Lingo ( has arrays which start at 1.. pfft disgrace ).

May 8, 2009 at 12:55 PM
Sudheer said...

Good one.

What, --insert programming language here-- is not listed?

May 8, 2009 at 1:03 PM
dagfinn said...

The comment on PHP is lacking the beginning: In 1994, a guy named Rasmus Lerdorf, who hates programming, printed out an HTML page and shook the printout so hard that pieces of it fell off (this is known as the "shaken page syndrome"). Then he let his dog chew on the detached pieces. He glued those pieces back and typed the result into the computer.

May 8, 2009 at 1:03 PM
Martin DeMello said...

brilliantly funny throughtout. and 1965 was pure, inspired genius :)

May 8, 2009 at 1:08 PM
Anonymous said...

Previously mentioned you missed Forth which has lead many to a Fifth to help forget about it and taking to the Fifth to deny all knowledge. Only to be perverted into postscript and then PDF. Also, it is of particular celestial importance controlling telescopes and the Sun (Sun monitor is Forth).

May 8, 2009 at 1:20 PM
Anonymous said...

James invented Java in the spring of 1991, the general idea being that he disliked C++ and everyone else disliked his previous effort, Object-Postscript [from NeWS], because of the RPN syntax, so he rewrote the NeWS interpreter with a c++ like syntax.

May 8, 2009 at 1:57 PM
Anonymous said...

Sorry everyone for my comment maligning Objective C. I used sour milk in my cereal and couldn't think straight after that.

History of JavaScript was brilliant! Unfortunately the real history was far worse!

¿Donde esta PostScript?

And lastly, what about HTML, about which I like to say: it's not "what you see is what you get (WYSIWYG)," it's "what you get is what you deserve!"

May 8, 2009 at 1:59 PM
Anonymous said...

Where's INTERCAL?

May 8, 2009 at 2:00 PM
Michael Weingartner said...

An excellent revision of history. Don't forget Prograph though!

http://en.wikipedia.org/wiki/Prograph

May 8, 2009 at 2:26 PM
Anonymous said...

Ok Historians:
1955(?) Somebody at IBM forgets to clear the E Register and the JSR is born.

May 8, 2009 at 2:59 PM
Unknown said...

Where is RPG?
Am I the only human who programmed in RPG, RPG I and RPG II?
It's been 20 or so years and those codes are still in my head.

May 8, 2009 at 3:08 PM
Unknown said...

Typical of programmers to forget SQL. Is it because all of them hate databases and goes to any length to avoid them?

May 8, 2009 at 3:09 PM
matts2 said...

No one seems to have noticed the Jane Austen connection.

May 8, 2009 at 3:11 PM
Anonymous said...

Simply Awesome! Thank you

Grammar nit:
1983 - monotone should be singular

For your consideration:
1973 - add MILF to the end list

May 8, 2009 at 3:14 PM
cppchriscpp said...

I laughed. A lot.

May 8, 2009 at 3:50 PM
Anonymous said...

This is classic Wikipedia content. Well done! For those who missed ADA, it's in there too. You just need a security clearance to see it. And VB is there, too. These days VB on steroids is called Java.

May 8, 2009 at 3:53 PM
Unknown said...
This comment has been removed by the author.
May 8, 2009 at 4:15 PM
Unknown said...
This comment has been removed by a blog administrator.
May 8, 2009 at 4:19 PM
Anonymous said...

The Programming Language Abstract link above is spiked. Don't click it.

May 8, 2009 at 4:35 PM
Anonymous said...

MicroSoft Basic: Mostly Harmless

May 8, 2009 at 4:43 PM
Nadyne Richmond said...

If you haven't seen it yet, Dick Gabriel and Guy Steele have a talk called "50 in 50", where they discuss 50 programming languages in 50 minutes. I think they originally wrote it for the History of Programming Languages conference, but they've since done it at OOPSLA and JAOO. I found a video for the JAOO one here:
http://blog.jaoo.dk/2008/11/21/art-and-code-obscure-or-beautiful-code/

May 8, 2009 at 4:46 PM
Anonymous said...

Anonymous wrote:
> Objective C is nice but it's
> not considered an influential
> language.

Unless you consider that *millions* of iPhones are running it, and you can literally make hundreds of thousands of dollars in a few weeks if you use Objective C to write the next popular app in the iPhone Store.

But aside from the millions of people using Objective C on their iPhones every day around the world, nobody really uses it.

May 8, 2009 at 4:48 PM
dotcommie said...

Add FORTH ...

May 8, 2009 at 4:49 PM
Anonymous said...
This comment has been removed by a blog administrator.
May 8, 2009 at 5:07 PM
Anonymous said...

Flex/AIR will have to be added in the future, with some comments on Adobe's plans for world domination.

May 8, 2009 at 5:15 PM
Anonymous said...

Here are a couple I came up with.

1960 - Algol 60 is standardized by an international group of academics. They leave out useless frills like IO and invent a new calling convention that is used to torture CS grad students.

1968 - Algol 68 is standardized, Wirth nails a list of complaints to the door and creates Pascal.

1963 - Ken Iverson invents APL and bases its syntax on some gold tablets given to him by the angel Moroni.

1980 - The DoD solves the problem of 500+ programming languages by combining all of their features into Ada.

May 8, 2009 at 5:34 PM
Unknown said...

you forgot PHP!

May 8, 2009 at 5:42 PM
mick said...

Forgetting PHP is a kindness. This is so good.

May 8, 2009 at 5:47 PM
Anonymous said...

The PERL comment made me die. Thank you!

May 8, 2009 at 6:00 PM
Anonymous said...

1986 - Joe Armstrong implements Erlang which is later open sourced. Erlang is the first language to properly execute a bullet-proof thread safe hot updating seamlessly distributed super-scalable VM which is destined to rule the web, but it is the very last language to achieve x86 SMP support. Unfortunately this is not a joke.

May 8, 2009 at 6:24 PM
Anonymous said...

Might I add a request for Dylan, invented by Apple in the early nineties?

May 8, 2009 at 6:45 PM
Anonymous said...

1967 - IBM forges PL/I in the halls of Armonk to reinforce their stranglehold on the computing industry. Despite its promising future, the language is banned under the Strategic Arms Limitation Treaty of 1972.

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

May 8, 2009 at 7:33 PM
Anonymous said...

May I ask for the history of the J language? :)

May 8, 2009 at 7:41 PM
Anonymous said...

0000 - and GOD said let there be Light, and Assembly language sprang forth from the blackness and GOD looked upon what he had created and it was good. And then the darkness spat forth the curse of high level languages to entangle the good and drag it into the pit.

May 8, 2009 at 8:01 PM
Anonymous said...

That was so funny! Ha ha ha!!!

May 8, 2009 at 8:05 PM
Anonymous said...

FANTASTIC!! This is collectable!
A word about Jules would have been Jovial, too:-)

May 8, 2009 at 8:31 PM
Anonymous said...

1993 - Brain**k [-]>[-]<>++++++++++[<++++++++++>-]<-.>++++[<++++>-]<-.>++++[<---->-]<+++.----.>++++[<++++>-]<+++.>++++[<---->-]<+.-.>++++++++[<-------->-]<----.>++++++++[<++++++++>-]<++.>+++++[<+++++>-]<--. by Urban Müller.

May 8, 2009 at 8:38 PM
Dionysia said...

You are made of win -- best bday present I've received in nearly *ever*.

May 8, 2009 at 9:05 PM
Anonymous said...

Excellent!

May 8, 2009 at 9:47 PM
Sarah Newman said...

1999 - Dissatisfied with the lack of portability and abstraction in hardware design, a consortium of Electronic Design Automation companies create SystemC, allowing software engineers to design hardware and EDA companies to make lots of money selling separate compilers for CMOS and TTL based designs. Manufacturers later complain of reduced yields because of debug symbols not being stripped, increasing die sizes.

May 8, 2009 at 10:26 PM
Tim Inman said...

"1965 - Kemeny and Kurtz go to 1964." Cracked me up.

May 8, 2009 at 11:43 PM
Hasan Alsheboul said...

It seems an Underflow-In stack!

Many very popular missing from your "Very brief, incomplete ..." list.

Not to mention the very few, Simula, Snobol, Icon (and Unicon), etc.

May 9, 2009 at 1:53 AM
sysprv said...

"recursion and condescension," lol :))

May 9, 2009 at 2:56 AM
Stephen J. Naughton said...

Thanks that's great keep it upto date :D
Steve

May 9, 2009 at 4:28 AM
yammezz said...

su-bloody-perb!!

May 9, 2009 at 4:30 AM
Anonymous said...

What about occam? Invented in the early 1980s for parallel programming. Named after William of Ockham a 14th century monk famous for Ockham's Razor (at that time razors han't been invented so a razor was a witty saying)"entia non sunt multiplicanda praeter necessitatem" - in English, this is "entities should not be multiplied beyond necessity" and in American KISS (Keep It Simple Stupid). KISS was exactly what the language was, so you could actually get things done in it. For most programmers, delivering a result was far too innovative an idea, so occam failed to catch on. If it had, we would have Windows 8 by now and it would be running like greased lighning on todays 4 core processors and would need 1G RAM to boot up.

May 9, 2009 at 5:18 AM
James Thiele said...

1987 - Dan Winkler invents HyperTalk, an English like language for programming HyperCard. Unfortunately no programs are ever written in it since programmers can't write English.

May 9, 2009 at 7:37 AM
James Higginbotham said...

James, nice to know that you didn't leave your humor in Austin

May 9, 2009 at 9:02 AM
Anonymous said...

1988: in a daring escape from Hungary, Tim Osterhout defects to the West. He brings with him the Soviet's own version of Lisp. They used the cheaper square bracket [ instead of parens ( and everything is a string and there are no macros, but it's not too bad for a commie knockoff.

May 9, 2009 at 9:03 AM
Quentin said...

Hilarious. What about object Pascal, central to the Lisa and early Macs?

May 9, 2009 at 9:22 AM
Anonymous said...

How can you forget the most -- ahem -- versatile language of all: RPG, in all its evolving versions?

May 9, 2009 at 9:48 AM
Anonymous said...

I take great exception in the fact that variations of the word create are misspelled throughout this blog. Any good C Compiler would have caught this suntax error!

Great blog.... left me with a huge grin. My hat's off to the individual who has creat'd it.

May 9, 2009 at 10:00 AM
Mark Miller said...

Let's not forget the precursors to Scheme, besides LISP and Lambda Calculus. Without the need to teach computers to understand children's stories and play with children's blocks, Hewitt, Winograd, Sussman, and so on would not have first needed to invent PLANNER, then CONNIVER, ultimately leading to what rightly should have been called SCHEMER. PLANNER was especially good at writing programs that enabled robots to efficiently fail in all possible ways, without repeating themselves (unlike humans attempting the same tasks, who typically repeat the same failing strategies at random and ad nauseum, showing that robots are indeed smarter than humans).

May 9, 2009 at 11:56 AM
Mark Miller said...

Late 1960's, early 1970's - Seymour Papert at MIT, with assistance from Wally Feurzeig at BBN as well as various grad students, invent LOGO, on the belief children could be tricked into actually thinking correctly if they learned LISP but it was disguised to look more like BASIC or FORTRAN syntax, given the world-wide shortage of parentheses and the need to reassure mathematics teachers that precedence of operators was something students should guess about. (Larry Tesler also tried this straegy on grownup programmers, by disguising Scheme as Dylan.)

(This isn't really a fair characterization of any of the above, of course!)
-- One of the co-conspirator grad students

May 9, 2009 at 11:59 AM
Anonymous said...

Gee, 140 comments and only one (miscapitalized) reference to ...

1962 - 67 - David Farber, Ralph Griswold and Ivan Polonsky create SNOBOL, SNOBOL3 & SNOBOL, a language with only one statement format:

label string pattern = replacement :(success/fail goto)

1968 - Jim Gimpel creates, ICEBOL, a SNOBOL4 program that removes all white space from a SNOBOL4 program.

Late 70's - Numerous veterinarians misspell the name of our long-haired, white cat.

May 9, 2009 at 12:38 PM
Unknown said...

Absolutely spot on. :) But what about Logo?

May 9, 2009 at 1:00 PM
Rich Z said...

Excellent! You forgot Ada, though. Too bad the developers of Ada didn't.

May 9, 2009 at 3:59 PM
Anonymous said...

How about PL1: Programming in PL1 is like flying a plain with 7,000 buttons. If you know what all the buttons do you're soaring, but god help you if you loose the manual!

May 9, 2009 at 11:12 PM
Anonymous said...

my favourite FORTRAN program reads:

REALITY, SANITY, and ME
STOP
END

May 9, 2009 at 11:14 PM
Anonymous said...

Since there is more than one way to do it, I completely expect your explanation of the origin of perl to make it into the official perl faq sometime before the month is out.
captcha: cycos

May 10, 2009 at 1:44 AM
Ashley said...

As one satirist to another: Dude, that was awesome.

May 10, 2009 at 1:58 AM
Robert Höglund said...

Wonderful!

May 10, 2009 at 2:07 AM
Karsten Thoms said...

Great article! Thanks for it.

May 10, 2009 at 3:34 AM
oriste said...

BCPL aka the first curly brackets programming language.
'nuf said.

May 10, 2009 at 5:54 AM
Sylvain HENRY said...

Thanks for this post! :)

Isn't it Tina Arena instead of Tina Turner?

May 10, 2009 at 5:58 AM
Unknown said...

2009: Simon Jackson suggests that all instance variables should be method local to make assignment focused in one method. All languages decide this is a bad idea, and snoop bus logic blooms to exceed the size of a silicon wafer.

May 10, 2009 at 6:46 AM
Anonymous said...

1990 - Ken Iverson and Roger Hui decide that APL is too verbose and by removing all variables create tacit J. Attempts to further reduce programming keystrokes may have been successful, but vanish into the empty spaces between words in blog posts.

May 10, 2009 at 7:44 AM
Pablo Lima Dias said...

Hilarious, thanks!

May 10, 2009 at 7:58 AM
Anonymous said...

Great write up :-) ... but I think your a few years late on the Java one. Even though it was distributed outside of Sun for the first time in 1995 I believe it was around for multiple years before hand.

May 10, 2009 at 2:58 PM
Anonymous said...

2003 - Giancarlo Niccolai decided there were not enough programming languages around so he invented Falcon (From an earlier language named HASTE -- Haste Advanced Simple Text Evaluator). Instead of focusing on one paradigm, Falcon was built off the idea of being a poser. Niccolai created Falcon after he tried to market a more advanced version of HASTE called Haste Advanced Text Evaluator (HATE) which didn't prove popular with many IT shops.

May 10, 2009 at 3:15 PM
Unknown said...

10 FOR I=1 TO 10
20 PRINT "ROFLMAO"
30 NEXT I
40 END

May 10, 2009 at 3:30 PM
Michael Bedward said...

I am pressing my thighs together in happiness. All my years of obsessive, insular study, and the sacrifice of a well-rounded personality in favour of a detailed grasp of programming paradigms, suddenly became worthwhile.

May 10, 2009 at 7:47 PM
Anonymous said...

Very funny.

Aren't .NET and SilverLight some awful crap microgarbage languages?

AMOS Professional is the best I've ever used. (A BASIC language variation.) It's excellent.

May 10, 2009 at 8:27 PM
Kyle said...

Awesome - made my night!

May 10, 2009 at 8:37 PM
Pankaj Jangid said...

Thanks. Still laughing...

May 10, 2009 at 9:46 PM
Unknown said...

"There is some speculation that Skynet is nothing more than a pretentious buffer overrun."A correction and additions to this entry:Skynet is a buffer overrun that began to learn at a geometric rate. It became self-aware at 2:14 a.m. Eastern time, August 29th, 1997.
Thankfully, the Windows 98 host went BSOD a millisecond later.
Unthankfully, in Redmond, Washington, USA, deranged COM-oriented mutants survived the fallout. Their unnecessarily long reign of terror was enforced by their ability to cause derangement and confusion in the human populace.

J_Tom_Moon_79

May 10, 2009 at 10:12 PM
Василий Боровяк said...

You forgot PHP.

May 11, 2009 at 12:40 AM
Sune said...

Priceless!!!!

May 11, 2009 at 12:59 AM
david said...

you've exhausted my laugh quota! thankyou

May 11, 2009 at 1:29 AM
Anonymous said...

You forgot Simula, and gave Smalltalk the fake Simula should have gotten! :-P

May 11, 2009 at 1:38 AM
Norbert said...

Brilliant, was scrumptious with my morning tea.

May 11, 2009 at 2:34 AM
Jim Hawkins said...

Outstanding
Especially about perl

May 11, 2009 at 5:58 AM
Daniel said...

So much brilliant stuff in this, hats off to you, sir. The C++ entry alone... And the novelty of C#.

By the way, notice how the C# spec claims C++ as an influence but doesn't mention Java, and the Java spec claims Smalltalk as an influence but not C++, and C++ claims Simula as an influence but not Smalltalk. Every language[n] seems to be influenced by that great language[n-2] but swears it has never heard of that pathetic language[n-1].

Please cover Intentional Programming, Eiffel, Forth!

Regarding Alan Turing, British Intelligence not only made him 007, they also gave him boobs, so if James Bond movies are accurate, he probably never had to leave the house.

May 11, 2009 at 7:12 AM
Wyatt said...

170 comments, and not one of them mentioning Dijkstra being sensible and just using a typewriter. :(

Also what about cellular automata, funge variants, and D? ;)

Brilliant work, though; love the pre-C things being criticised for not being C-like enough.

May 11, 2009 at 8:14 AM
Anonymous said...

a marvel!
we want more! keep writing!

May 11, 2009 at 10:08 AM
Anonymous said...

Wouldn't the "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..." one more accurately describe APL?

May 11, 2009 at 11:14 AM
Vlad Patryshev said...

You forgot Forth.

May 11, 2009 at 11:25 AM
Aredhel said...

Very cool! Thanks a lot for this load of fun :)

May 11, 2009 at 12:42 PM
John Levy said...

SNOBOL? FORTH? One-liners from APL?
There's a wealth of additional material for you to invoke in your next opus.

Thanks for the laughs.

May 11, 2009 at 2:10 PM
Jacques Menu said...

For those fond of seldom-met languages:

http://www.99-bottles-of-beer.net/

I particularly like Chef, and it's derivative, Sous-Chef! (maybe because of my name?)

May 11, 2009 at 2:19 PM
onceuponapriori said...

June 2005 - Reddit is launched, leading to the imminent creation of RedditScript. RedditScript is a statically-dynamically typed, type-inferred, purely-functional, stateful language, and the first in the line of temporo-morphic languages. Each week, RedditScript changes its features, nom de guerre and implementation, leading to new arguments regarding the validity of it for production code and the nature of the productivity gains its proponents claim. Recent and oft-repeating nom de guerres include: Haskell, Erlang, Clojure, Scala and lisps of all kinds, depending on the week. The Truth is that RedditScript is ALWAYS the best language for any job (for evidence, just see http://programming.reddit.com)

May 11, 2009 at 2:37 PM
Pirx said...

I made a translation to Spanish and posted it to Barrapunto (a spanish version of Slasdot). I hope you like it. If not, put a comment there. I'll delete it. Thanks for the laughs :-)

May 11, 2009 at 2:47 PM
Pirx said...

The right link is this, sorry.

May 11, 2009 at 2:50 PM
Non Veumann said...

And then in the 90s came HPFF, the first language to allow a massively parallel machine to run as fast as any one of its processors.

May 11, 2009 at 3:50 PM
Ray B said...

Machine Language
Rules
What else can cause a PC to
SMOKE ?
Or even a Mac

May 11, 2009 at 5:37 PM
Michael Covington said...

?- How many Prolog programmers does it take to change a lightbulb?

no.

May 11, 2009 at 8:07 PM
simoncpu-test said...

1995 - Rasmus Lerdorf is born, fulfilling an ancient apocalyptic prophecy. As it is written:

He that letteth is taken out of the way, and yet we do not realize that the Antichrist is near. Behold, for PHP is born amongst you! "Woe unto Perl", the prophet Larry Wall cries, for savage tribes in countless numbers shall overrun run all parts of this God-fearing land. Lo, for these tribes of PHP shall grow in multitude and shall lay waste upon the land of the Internet. The end is nigh!

May 11, 2009 at 8:10 PM
Anonymous said...

Uh, an important milestone in the 1940s for languages was left out. Chuck Norris was born in 1940, and thus invented kung fu.

"No matter how much kung fu you know, someone else always knows more."

I was taught this in very strict fashion in my intro to programming class. :)

May 11, 2009 at 10:23 PM
Anonymous said...

Hey, I loved how Larry Wall created perl! ;-)

May 11, 2009 at 10:55 PM
Zio said...

I see, now that's why Perl looks like that! :-D

May 12, 2009 at 2:14 AM
Anonymous said...

kammenti rulyat!
comments RULEZZ!!

May 12, 2009 at 5:28 AM
Anonymous said...

great!
BTW, object-oriented programming was invented in 1967. In an attempt to liberate the workers, Kristen Nygaard and Ole-Johan Dahl created simula-67, a Java-like language with algol syntax. It is not known if the first simula program had yet finished execution by the time Alan Key and Bjarne Stroustrup decided this was almost exactly what they wanted, a decade or so later.

May 12, 2009 at 7:13 AM
Treu Okie said...

Wow the comments are almost as fun as the article. Thanks for the humor!

May 12, 2009 at 7:38 AM
Anonymous said...

Actually there was no Skynet in 1983 ;) ... as long as "Terminator" is not based on some C/C++ developer stuff that is ;)

May 12, 2009 at 7:48 AM
Borja said...

I think you forgot Plankalkül by Konrad Zuse, that was published in 1948, however it was designed between 1943 and 1945. It was much more difficult as he cannot do that looking at other language invented, so it was very difficult. Zuse also designed that language for his 1st computer, that it increases his worth.

So finally he made the first high level language at least 9 years earlier than Fortran. Maybe it would be good put him in your list :-)

Regards,

Borja Tarraso

May 12, 2009 at 8:06 AM
Anonymous said...

I believe you all are confusing scripting languages with interpreted programming languages. A scripting language is typically used to write extensions to and/or control specific programs. Programming languages like Perl and PHP and very much general-purpose programming languages even if they don't result in a native compiled executable. Perl at one time might have been a scripting language, but it grew beyond that a long while ago. Off the top of my head, things like BASH or Javascript would be good examples of scripting languages.. though Javascript is getting developed to the point where it is beginning to be arguable.

May 12, 2009 at 9:09 AM
Anonymous said...

wasn't it Snoopy of Charlie Brown fame that said "Don't eat yellow SNOBOL?"

May 12, 2009 at 9:12 AM
Anonymous said...

Great post. Thanks. Missing REXX the everything is STRING language!

May 12, 2009 at 9:49 AM
Anonymous said...

From wikipidia: "The Plankalkül was eventually more comprehensively published in 1972 and the first compiler for it was implemented in 1998."

In other words Plankalkül drowned in obscurity for close to 30 years and wasn't implemented for over 50. While it may still technically be a milestone, seeing as it had zero impact on computer science I'm not sure that I can agree that it belongs on the list -- other than to make fun of it as perhaps the ultimate fail.

May 12, 2009 at 9:53 AM
Brendan Eich said...

"It's funny 'cause it's true." - Homer Simpson

I've told that EczemaScript skin disease joke at public talks over the last few years -- it's still fresh.

Thanks for the LOL,

/be

May 12, 2009 at 10:55 AM
Zteve said...

Actually Dijkstra hand-wrote most of his later articles -- abandoning even the typewriter.

One omission from here is CPL (date "early 60's"?), a theoretical language invented by Christopher Strachey and which gave birth to BCPL (Basic CPL), which presaged C (via B -- oh well). The first compiler for CPL was never written, since it was decided to start the implementation after the formal specification of CPL was completed and proven correct.

May 12, 2009 at 11:57 AM
Anonymous said...

Assembler?))

May 12, 2009 at 12:08 PM
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.

May 12, 2009 at 12:20 PM
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)

May 12, 2009 at 1:43 PM
«Oldest ‹Older   1 – 200 of 708   Newer› Newest»

Post a Comment

Subscribe to: Post Comments (Atom)
 

AltStyle によって変換されたページ (->オリジナル) /