Hacker News new | past | comments | ask | show | jobs | submit login
A Brief, Incomplete, and Mostly Wrong History of Programming Languages (james-iry.blogspot.com)
391 points by DanielRibeiro on Jan 24, 2012 | hide | past | favorite | 45 comments

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

Hands down epic definition win.

My favourite is actually:

    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.

This was actually a remix[1] and nod to the legendary guide, "Shooting yourself in the foot in various programming languages,"[2] which has slowly evolved over the course of usenet, gopher, and websockets.

I'm convinced that this list will one day be fed recursively into a prolog console and become skynet.

1. http://blip.tv/goodiebag/everything-is-a-remix-part-1-413601... 2. http://www.toodarkpark.org/computers/humor/shoot-self-in-foo...

I think skynet is smarter then the average two year old though.

Nice one. I really liked this one though:

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

[1] Fortunately for computer science the supply of curly braces and angle brackets remains high.

[2] Catch as catch can - Verity Stob: http://www.theregister.co.uk/2006/01/11/exception_handling/

The wonderful thing about Lisp though is that you can write a macro to produce more parentheses! However, to do this you have to be able to write a macro.

You know what they say...it takes parentheses to make parentheses.

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

I don't know why, but this had me laughing uncontrollably:

1983 - Bjarne Stroustrup bolts everything he's ever heard of onto C to create C++.

I hate the factual inaccuracies in this post.

For example, it says that Rasmus Lerdorf got the idea for PHP at a neighbourhood Italian restaurant, but Qeqertarsuaq has no Italian restaurants.

Yeah, it also says that Larry Wall came up with Perl by falling asleep and hitting his head on the keyboard, when in fact Perl was created through a genetic algorithm -- that's why it takes so long for Perl 6 to happen, because those specs they call Synopses keep changing and therefore the fitness metric is not stable.

:-) I think some will miss the funny bit about him being the prophet, etc.: Larry Wall is very religious, e.g. that's why it's called "bless".

Only two minor quibbles:

1) did not mention Clojure.

2) broke the amusing narrative a bit in the middle by including a true story (Perl).

Really funny otherwise.

We've had this story here several times before, most notably:




Syntax error

(you forgot the GOTO :)

Ouch, down-voted. Who said programmers have no sense of humor? Well how about this way:

"Mental pleasure are never cloy; unlike those of the body, they are increased by repetition, approved by reflection, and strengthened by enjoyment." - Nathaniel Cotton

Ok, a third time for the literalists, but I think it is my last attempt. Nothing spoils a news.ycombinator.com comment party like the scolding professor who comments: "We've had this story posted a number of times here. One ruler to the hand for each iteration." Particularly with something so comical. This blog post should be re-posted at least monthly. And for the humor-impaired weekly.

No do as you will with me cruel world. You can take away my karma and even my upvote, but you can't take away my dignity.

(On the other hand, if the down votes were for recommending GOTO instead of GOSUB, then this is completely understandable.)

It was a good joke and there were some nice comments. If you want to relive the comment thread again and again, the web is full of places where the joke would still be fresh.

HN would be just a little bit better without these "lets do the comment party again" threads.

Appreciate your reply, and without needlessly belaboring the issue any more then I have, perhaps a "greatest hits" page for worthy articles would be in order as suggested below. Because truly, it can be difficult to ensure seeing every worthy article that makes it's way up the HN page.

Absolutely brilliant. As a relative HN newbie, this really should posted about once a year.

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

I'd go further: why not have a "Wall of Fame" section on HN to which we can nominate submissions that deserve a permanent link somewhere?

UPDATE: I've submitted this comment as a question here: http://news.ycombinator.com/item?id=3505201

This has to be the best line - It is a syntax error to write FORTRAN while not wearing a blue tie.

Legend has it that Casual Friday in that golden age of IBM meant that you could work that day with your suit jacket unbuttoned.

Since we're all tossing out our favorite lines, I'll nominate the Prolog entry. I know nothing about Prolog but it still gives me a laugh on every read. 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.

"1965 - Kemeny and Kurtz go to 1964." gave me a big smile...

I didn't get that one, actually. Am I just being dumb or is there a backstory?

  10 PRINT "<rude message here>"
  20 GOTO 10
They used to sell computers in stores that you could walk up to and program. BASIC was the command prompt for some computers. The above was the inevitable result.

My favorite trick was to poke values into the sound registers, THEN goto!


  10 BEEP
  20 GOTO 10

Actually I was thinking more along the lines of programming the SID to output a sawtooth waveform and modulate it for extra annoyance, but whatever floats your boat.

It's just a humorous way of saying they were stuck in the past (probably because they didn't integrate other language advances into basic).

reference to GOTO in basic

should that not be "It is a syntax error to write FORTRAN while not wearing a Lab coat" CFD Programmers would of course add Wellies.

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

If you haven't already I would really recommend you to read the book:

The Information: A History, a Theory, a Flood


Great detailed historical perspective and lots of aha moments.

What in particular about it did you like? Does it have stuff that's not 'generally known' amongst the hacker set?

If you're the sort of person who has read the Jargon File, understands algorithmic complexity, and finds beauty in Hofstadter, you probably know everything in Gleick's book. I kept waiting for a punchline, but there wasn't one.

That's true. I still do think there was some good historical info that I at least wasn't aware of.

The oldest use of programming was in ancient times. They even had automated plays that were "programmed" with ropes and spindles.

Sadly, the records of much of which were probably lost with the library of alexandria.


a rare instance of programming humor that is actually fun

I wouldn't mind an entry about the metastasis of Javascript beyond the confines of the browser. The awfulness of JS refuses to go away!

The node and coffeescript crowd is going to want ot have a meaningful dialog with you

Coffeescript is just a tacit admission that Javascript is capital-N Nasty.

As long as it's not a modal one...

//Programmable Hyperlinked Pasta (PHP)//

No wonder it is being served by a 'server'! :)

LOVE it! :) :)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact