Hacker News new | past | comments | ask | show | jobs | submit login
A Brief, Incomplete, and Mostly Wrong History of Programming Languages (2009) (james-iry.blogspot.com)
213 points by ldubinets on May 12, 2013 | hide | past | web | favorite | 33 comments

I like this. I like this a lot. I think far too often people take the concepts we study too seriously. Things get challenging, things get precise, but the moment the humor leaves, the creativity is gone.

Think of how easy it would be to learn something if you make a joke every 5 minutes while learning it (about the subject). In your mind, you turned this abstract concept into something else, something funny, something with pathways and connections that weren't expected. You manipulated it, changed it, saw it in a new light. When you were trying to find humor, you created pathways to other things that you thought were similar. You already connected the object in your brain before you knew where it fit, just by trying to find humor in it.

The really, really good ideas are the ones that almost sound like jokes, but there's an ever so slight hint of severity to them.

Edit: I think I missed the point I was trying to make. Give this to a freshman computer science student. They get to read a fun story. Instead of an intense debate about which language is the best for thing X, or being forced to learn language Y, they get an overview of the entire history, with some cheeky humor that they can remember when they find a bit of truth, or a bit of false, in this story. I will bet they remember this thing better than a 300 page book dedicated to all of the subtle differences between the languages. Plus, they might laugh and enjoy what they're doing.

One of the first books I encountered as I set out on a serious study of computer science was The Hacker's Dictionary. There are surely shortcomings and faults, and it was kind of out of date even when I read it (even more now), but it was just so much fun! It expressed a certain silliness and hackish sense of humor that I strongly resonated with, and reading the book motivated me to learn things like Lisp, Emacs, and TeX, and to read (parts of) Knuth, and to volunteer for GNU. That book inspired me to actually learn and do stuff in programming way more than any "serious" book on programming.

I first learned "programming" from my brothers copy of "a fortan coloring book". The early 80s were a wonderful time for accessible computer literature. I suppose _why's poignant guide to ruby is probably the closest I've seen since.

> The really, really good ideas are the ones that almost sound like jokes

One way of trying to generate creative ideas is to take something that exists, and imagine changing some aspect of it, and think about how that might work out in the world (See http://www.amazon.com/dp/B000RQLZRO/?tag=dedasys-20 )

Often, humor relies on something being backwards, twisted around, or out of context, too.

Motivation. Humor gives them a reason to focus. Classic non-comp sci example was an o-chem instructor's homework making us translate a collection of "funny" chem structures and IUPAC nomenclature into each other. All I really remember was some ridiculous multi-line textual IUPAC definition that translated into a giant centipede with ketone groups for legs, or something like that.

The trouble with giving this to a freshman is that a lot of the humour relies on knowledge of the respective languages - I'm pretty sure a lot of it would go over heads without a fair bit of experience.

Intense self selection for neophiles means they'd probably disregard it on the basis that anything more than 1 year old is obsolete and useless and nothing can be learned from it. They'll energetically invent yesterday, tomorrow.

I'd disagree with old interpretations like RAW and to some extent ESR in that the neophiles tend to now be regarded more as some kind of court jester figure for those (businessmen?) who exploit their vulnerability WRT linear history vs circular history rather than being regarded as heretics and all that other RAW language.

I remember having read this before, but I always get a good chuckle from it; all of the snark is incredibly well done. I always burst out laughing when reading "Lambdas are relegated to relative obscurity until Java makes them popular by not having them."

Most pertinent to HN: "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."

After reading that, now I want learn it.

This honestly made my day. There's really no beating

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

1965 - Kemeny and Kurtz go to 1964."

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

Reminds me of C being described as "a language that combines all the elegance and power of assembly language with all the readability and maintainability of assembly language".

Always a good read. My favorite is Javascript, though Lisp "recursion and condescension" is good too.

I'm confused by the title. Which bit was wrong?

It took me a couple minutes too... The first comment sorts it out though. Turns out that Jacquard's loom was multi-threaded after all.

Made me chuckle. Especially "'look, it's all objects all the way down. Until you reach turtles.'"

Any well-versed programmer will instantly recognize the turtle joke.

Actually, "turtles all the way down" isn't a programming joke (http://en.wikipedia.org/wiki/Turtles_all_the_way_down). But I suppose you're referencing Logo?

Yes, Logo was actually what I was referencing. I knew about the expression, but it was interesting that the author of the article would use that specific catchphrase, probably knowing that turtle graphics is commonly used to teach programming to newbies.

And cosmologists.

> Other well known languages in the ML family include OCaml, F#, and Visual Basic.

I feel like this went over my head... is this a .NET joke? Is there more to it than just that just that Visual Basic is the antithesis of ML?

Maybe it refers to Erik Meijer?

A famous Haskell developer that went to Microsoft to work on Visual Basic team and started there the LINQ project?


Is there more to it than just that Visual Basic is the antithesis of ML?

Nope, you've got it. This is the joke.

Maybe Erik Meijer?

Love the PHP one "...PHP documentation remains on that napkin to this day."

And I write PHP daily!

PHP documentation is actually pretty good, there is a joke to be had about the comments on the docs though.

It is enjoyable. Most "history of programming..." stuff is a snoozathon. More teachers should learn from the popularity of the "for Idiots" books. (The most-talked-about teacher in my HS acted out parts of the Civil War with costumes et. al.)

> 1958 - John McCarthy and Paul Graham invent LISP.

Lol, PG was born in 1964! He invented Lisp even before he was born :P I'd credit PG for "re-inventing" Lisp though.

Haha this is great. Funny stuff, well done.

This is probably more accurate history: http://en.wikipedia.org/wiki/History_of_programming_language...

and this is a good book on programming languages in general: http://www.amazon.com/Concepts-Programming-Languages-Robert-...


Heh. classic fun.

Registration is open for Startup School 2019. Classes start July 22nd.

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