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)

708 comments:

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

Thanks. I'm cracking up.

Anonymous said...

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

Unknown said...

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

Eric said...

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

Anonymous said...

:D Thx.

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

Mr. Stone said...

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

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".

Anonymous said...

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

Nick said...

Brilliant! Thank you!

Unknown said...

juasss "John McCarthy and Paul Graham invent LISP"

Brown said...

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

=M said...

Very nice! :) Ada is missing though.

Duck said...

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

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,

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.

Adam Tart said...
This comment has been removed by the author.
Anonymous said...

What about Factor?

Dariusz Dwornikowski said...

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

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.

Anonymous said...

i really love this humour, thank you

Anonymous said...

That was excellent.

First useful use of a blog ever.

Sébastien said...

Thanks a lot ! your post made my day ;)

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

Unknown said...

Made me spurt coffee out of my nose. Thanks!

Visakh said...

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

Anonymous said...

Lua is missing, wtf!?

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.

Anonymous said...

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

Unknown said...

Brilliant!

However I think you should change the Java entry to:

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

regards
Al

blakef said...

Fantastic!

Unknown said...

I forgot, Ditto C#

drjon said...

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

sombriks said...

nice post, the creation of javascript is quite good

Christian said...

This is great! Very funny stuff.

Anonymous said...

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

Corey Goldberg said...

very funny. well done :)

Bucky Schwarz said...

This was just hilarious, well done!!

Anonymous said...

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

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

Keith said...

Now this is a slice of fried gold.

Anonymous said...

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

kenif said...

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

Amy said...

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

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.

Anonymous said...

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

Anonymous said...

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

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.

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.

Ken F said...

But FORTRAN was for men ...

Matt Giuca said...

Awesome, very funny.

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

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!

Anonymous said...

VB Sucks, C# rules.....

great article, really made me LOL

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

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.

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.

rock harris 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....)

Anonymous said...

JAVA IS SUPERIOR!

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.

Anonymous said...

Bravo! This is classic!

Anonymous said...

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

Anonymous said...

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

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

Anonymous said...

Anyone want to dabble in the history of Erlang?

Anonymous said...

Brilliant, but you left out Redcode!

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.

Ryan Farley said...

This is a modern classic. Very nice job.

Steve said...

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

Chris Smith said...

Well done good sir.

@nkiit said...

Beautiful :D

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.

Anonymous said...

you sir, made my day!

great work

Faraz said...

That was really good...

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

Anonymous said...

at which point FORTRAN turned into 4CHAN

Anonymous said...

What, no Eiffel? Sacrebleu!

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?

Pedro Furlanetto said...

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

Anonymous said...

Great stuff!

But where is Clojure?

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.

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?

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.

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

Anonymous said...

Paul Graham didn't invent Lisp all by himself?

Whatdayaknow, you learn something new everyday...

Unknown said...

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

Nataraj Subramanian said...

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

Merc said...

*falls off chair laughing* :D

Anonymous said...

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

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 ).

Sudheer said...

Good one.

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

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.

Martin DeMello said...

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

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).

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.

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!"

Anonymous said...

Where's INTERCAL?

Michael Weingartner said...

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

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

Anonymous said...

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

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.

Unknown said...

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

matts2 said...

No one seems to have noticed the Jane Austen connection.

Anonymous said...

Simply Awesome! Thank you

Grammar nit:
1983 - monotone should be singular

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

cppchriscpp said...

I laughed. A lot.

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.

Unknown said...
This comment has been removed by the author.
Unknown said...
This comment has been removed by a blog administrator.
Anonymous said...

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

Anonymous said...

MicroSoft Basic: Mostly Harmless

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/

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.

dotcommie said...

Add FORTH ...

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

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

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.

Unknown said...

you forgot PHP!

mick said...

Forgetting PHP is a kindness. This is so good.

Anonymous said...

The PERL comment made me die. Thank you!

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.

Anonymous said...

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

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.

Anonymous said...

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

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.

Anonymous said...

That was so funny! Ha ha ha!!!

Anonymous said...

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

Anonymous said...

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

Dionysia said...

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

Anonymous said...

Excellent!

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.

Tim Inman said...

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

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.

sysprv said...

"recursion and condescension," lol :))

Stephen J. Naughton said...

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

yammezz said...

su-bloody-perb!!

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.

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.

James Higginbotham said...

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

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.

Quentin said...

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

Anonymous said...

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

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.

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).

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

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.

Unknown said...

Absolutely spot on. :) But what about Logo?

Rich Z said...

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

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!

Anonymous said...

my favourite FORTRAN program reads:

REALITY, SANITY, and ME
STOP
END

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

Ashley said...

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

Robert Höglund said...

Wonderful!

Karsten Thoms said...

Great article! Thanks for it.

oriste said...

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

Sylvain HENRY said...

Thanks for this post! :)

Isn't it Tina Arena instead of Tina Turner?

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.

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.

Pablo Lima Dias said...

Hilarious, thanks!

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.

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.

Unknown said...

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

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.

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.

Kyle said...

Awesome - made my night!

Pankaj Jangid said...

Thanks. Still laughing...

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

Василий Боровяк said...

You forgot PHP.

Sune said...

Priceless!!!!

david said...

you've exhausted my laugh quota! thankyou

Anonymous said...

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

Norbert said...

Brilliant, was scrumptious with my morning tea.

Jim Hawkins said...

Outstanding
Especially about perl

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.

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.

Anonymous said...

a marvel!
we want more! keep writing!

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?

Vlad Patryshev said...

You forgot Forth.

Aredhel said...

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

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.

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?)

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)

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 :-)

Pirx said...

The right link is this, sorry.

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.

Ray B said...

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

Michael Covington said...

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

no.

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!

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. :)

Anonymous said...

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

Zio said...

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

Anonymous said...

kammenti rulyat!
comments RULEZZ!!

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.

Treu Okie said...

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

Anonymous said...

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

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

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.

Anonymous said...

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

Anonymous said...

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

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.

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

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.

Anonymous said...

Assembler?))

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)

«Oldest ‹Older   1 – 200 of 708   Newer› Newest»