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
- Fortunately for computer science the supply of curly braces and angle brackets remains high.
- 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)
Thanks. I'm cracking up.
ReplyDeleteJacquard's loom wasn't concurrent? It was pretty thoroughly multithreaded, I'd have thought!
ReplyDeleteAs the story goes, when Odersky got the idea for Scala, he was high on pizza and listening to "Stairway to heaven"
ReplyDeleteLanguages wars are usually sad but languages history is definitely funny! Thanks.
ReplyDelete:D Thx.
ReplyDeleteYou did however forget some important/interesting languages e.g. Objective C (all things Apple?)
I can't stop laughing... thanks man! :)
ReplyDeleteObjective 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.
ReplyDeleteI'd say, it didn't make "History".
A laugh a line. Brilliant. Critics love "A Brief, Incomplete, and Mostly Wrong History of Programming Languages" and so will you.
ReplyDeleteBrilliant! Thank you!
ReplyDeletejuasss "John McCarthy and Paul Graham invent LISP"
ReplyDeleteOh God - that was hilarious!!!!! Thank you for the best laugh I've had in ages!!!
ReplyDeleteVery nice! :) Ada is missing though.
ReplyDeleteNo mention of PHP? Is that because most people don't consider it a programming language?
ReplyDeleteAnd every 3 years, Alan Kay gets a fellowship title at another company (Apple, HP, Disney) and re-invents Smalltalk under a different name,
ReplyDeleteSorry it wasn't enlightening which I thought it would be.
ReplyDeleteAnd 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.
This comment has been removed by the author.
ReplyDeleteWhat about Factor?
ReplyDeleteSOrry but why Poland becomes nervous by the fact that TIOOWTDI ?
ReplyDeleteI am now a far better programmer for having read this. I hardly ever use gotos anymore and have given up eating meat. Bless you.
ReplyDeletei really love this humour, thank you
ReplyDeleteThat was excellent.
ReplyDeleteFirst useful use of a blog ever.
Thanks a lot ! your post made my day ;)
ReplyDelete10 LET FUNNY = 1
ReplyDelete20 IF FUNNY <> 0 GOTO 50
30 PRINT "LAME"
40 END
50 PRINT "YOU WIN THE INTERNETS"
60 END
Made me spurt coffee out of my nose. Thanks!
ReplyDeleteI can't help it...Man! Awesome!!
ReplyDeleteLua is missing, wtf!?
ReplyDelete"Engineers do this in order to avoid the tabs vs spaces debate."
ReplyDeleteUnfortunately, 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.
Very good! I don't get all the jokes but bonus points (bonii points?) for making Haskell amusing.
ReplyDeleteBrilliant!
ReplyDeleteHowever I think you should change the Java entry to:
'Java finally fixed C++ but inadvertently evolved into skynet'
regards
Al
Fantastic!
ReplyDeleteI forgot, Ditto C#
ReplyDeleteBWAHAHAHA!!!! Oh, I think my stack overflowed...
ReplyDeletenice post, the creation of javascript is quite good
ReplyDeleteThis is great! Very funny stuff.
ReplyDeleteVery funny, but you somehow forgot the first OO-langauge, Simula.
ReplyDeletevery funny. well done :)
ReplyDeleteThis was just hilarious, well done!!
ReplyDelete@Duck
ReplyDeleteIndeed PHP is a scripting language. Just like C# and imo it shouldn't be in that list either.
Yeah, hey Perl is a scripting language too. It's just more ridiculous even than PHP.
ReplyDeleteYou could come up with some funnies for TCL I bet...
Very funny. Thank you
Now this is a slice of fried gold.
ReplyDelete$ sed -e '/Peanut/s/\(Ree\).\(e\)/\1s\2/g'
ReplyDelete# hint: you forgot regexps! (and shell ;-)
You left out FORTH, the only language with scriptural authority?
ReplyDelete(God said, "Go Forth, but he couldn't find the run button... ")
This was such fun to read. Thanks, you made my day.
ReplyDeleteThis is all 100% accurate of course, but incomplete. Don't forget:
ReplyDelete1968: 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.
I am angry because you omitted my favorite language! Let's say it's Dylan this time.
ReplyDeleteWhat, no Lua? Video gamers everywhere will cry fowl!
ReplyDeleteThanks. I needed this to brighten my day. I can relate to the Prolog section, but I'm surprised that Ada wasn't mentioned.
ReplyDeletePHP: 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.
ReplyDeleteBut FORTRAN was for men ...
ReplyDeleteAwesome, very funny.
ReplyDeleteYou misspelled "still" ("stil") in the funniest paragraph, the 1995/JavaScript paragraph.
I got the brief and the incomplete, but, so far, I haven't found any errors.
ReplyDeleteAnyway, 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!
VB Sucks, C# rules.....
ReplyDeletegreat article, really made me LOL
> Smalltalk 1980
ReplyDeleteJust 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
What about this one:
ReplyDelete1993 - 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.
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.
ReplyDeleteThat was all kinds of awesome.
ReplyDeleteShould'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....)
JAVA IS SUPERIOR!
ReplyDeleteIgnore everyone who's telling you what's missing. It's delightful and hilarious exactly the way it is.
ReplyDeleteYou win the Internets, indeed. Good stuff.
Bravo! This is classic!
ReplyDeleteNow that was funny. Although, I cant believe that no one has yet complained that APL did not get a nod.
ReplyDeleteI'm surprised APL isn't in the list! Talk about a much maligned language that had a fierce following!
ReplyDelete1964 -- 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
ReplyDeleteAnyone want to dabble in the history of Erlang?
ReplyDeleteBrilliant, but you left out Redcode!
ReplyDeleteOh my god. This is so freakin funny, I have tears running down my cheeks and I almost fell out of my chair. Twice.
ReplyDeleteThank you.
This is a modern classic. Very nice job.
ReplyDeleteI would have included the massive EJB fraud foisted on the world by Sun circa 2001
ReplyDeleteWell done good sir.
ReplyDeleteBeautiful :D
ReplyDeleteVery good, but...
ReplyDeleteC# 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.
you sir, made my day!
ReplyDeletegreat work
That was really good...
ReplyDeletebut where is Visual Basic? it is perhaps the most derided of all languages.
at which point FORTRAN turned into 4CHAN
ReplyDeleteWhat, no Eiffel? Sacrebleu!
ReplyDeleteMy favorite was L6 (Low Level Linked List Language). Someone couldn't count.
ReplyDeleteAnd 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?
You forgot Charles Babage. http://en.wikipedia.org/wiki/Charles_Babbage
ReplyDeleteGreat stuff!
ReplyDeleteBut where is Clojure?
I prefer to think that this is the official history of programming languages and hope to see it on wikipedia soon as fact.
ReplyDeleteAwesome! but there's a bunch of easy pickings for real stupidity you missed:
ReplyDeleteRPG, 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?
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.
ReplyDeleteIf you haven't seen it, the Stroustrop 'Why I invented C++' interview is awesome:
ReplyDeletehttp://www.odgaard.org/jeod/funny/interview.html- j
Paul Graham didn't invent Lisp all by himself?
ReplyDeleteWhatdayaknow, you learn something new everyday...
HAI
ReplyDeleteCAN HAS STDIO?
VISIBLE "What about LOLCODE?!?!!"
KTHXBYE
*rolling on the floor laughing*
ReplyDeleteThe one about Haskell was especially good.
thanks mate!
*falls off chair laughing* :D
ReplyDeleteThis was hilarious.....Thanks for sharing a programmers pain... :)
ReplyDeleteThanks, Funny Stuff so many gems in there has me laughing so hard..
ReplyDeleteWhat about Lingo ( has arrays which start at 1.. pfft disgrace ).
Good one.
ReplyDeleteWhat, --insert programming language here-- is not listed?
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.
ReplyDeletebrilliantly funny throughtout. and 1965 was pure, inspired genius :)
ReplyDeletePreviously 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).
ReplyDeleteJames 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.
ReplyDeleteSorry everyone for my comment maligning Objective C. I used sour milk in my cereal and couldn't think straight after that.
ReplyDeleteHistory 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!"
Where's INTERCAL?
ReplyDeleteAn excellent revision of history. Don't forget Prograph though!
ReplyDeletehttp://en.wikipedia.org/wiki/Prograph
Ok Historians:
ReplyDelete1955(?) Somebody at IBM forgets to clear the E Register and the JSR is born.
Where is RPG?
ReplyDeleteAm 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.
Typical of programmers to forget SQL. Is it because all of them hate databases and goes to any length to avoid them?
ReplyDeleteNo one seems to have noticed the Jane Austen connection.
ReplyDeleteSimply Awesome! Thank you
ReplyDeleteGrammar nit:
1983 - monotone should be singular
For your consideration:
1973 - add MILF to the end list
I laughed. A lot.
ReplyDeleteThis 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.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteThe Programming Language Abstract link above is spiked. Don't click it.
ReplyDeleteMicroSoft Basic: Mostly Harmless
ReplyDeleteIf 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:
ReplyDeletehttp://blog.jaoo.dk/2008/11/21/art-and-code-obscure-or-beautiful-code/
Anonymous wrote:
ReplyDelete> 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.
Add FORTH ...
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteFlex/AIR will have to be added in the future, with some comments on Adobe's plans for world domination.
ReplyDeleteHere are a couple I came up with.
ReplyDelete1960 - 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.
you forgot PHP!
ReplyDeleteForgetting PHP is a kindness. This is so good.
ReplyDeleteThe PERL comment made me die. Thank you!
ReplyDelete1986 - 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.
ReplyDeleteMight I add a request for Dylan, invented by Apple in the early nineties?
ReplyDelete1967 - 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.
ReplyDelete1986 - Bertrand Meyer founds the first Church of Eiffel based on the principles of object-orientation, design by contract, and flagellation.
May I ask for the history of the J language? :)
ReplyDelete0000 - 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.
ReplyDeleteThat was so funny! Ha ha ha!!!
ReplyDeleteFANTASTIC!! This is collectable!
ReplyDeleteA word about Jules would have been Jovial, too:-)
1993 - Brain**k [-]>[-]<>++++++++++[<++++++++++>-]<-.>++++[<++++>-]<-.>++++[<---->-]<+++.----.>++++[<++++>-]<+++.>++++[<---->-]<+.-.>++++++++[<-------->-]<----.>++++++++[<++++++++>-]<++.>+++++[<+++++>-]<--. by Urban Müller.
ReplyDeleteYou are made of win -- best bday present I've received in nearly *ever*.
ReplyDeleteExcellent!
ReplyDelete1999 - 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.
ReplyDelete"1965 - Kemeny and Kurtz go to 1964." Cracked me up.
ReplyDeleteIt seems an Underflow-In stack!
ReplyDeleteMany very popular missing from your "Very brief, incomplete ..." list.
Not to mention the very few, Simula, Snobol, Icon (and Unicon), etc.
"recursion and condescension," lol :))
ReplyDeleteThanks that's great keep it upto date :D
ReplyDeleteSteve
su-bloody-perb!!
ReplyDeleteWhat 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.
ReplyDelete1987 - 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.
ReplyDeleteJames, nice to know that you didn't leave your humor in Austin
ReplyDelete1988: 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.
ReplyDeleteHilarious. What about object Pascal, central to the Lisa and early Macs?
ReplyDeleteHow can you forget the most -- ahem -- versatile language of all: RPG, in all its evolving versions?
ReplyDeleteI 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!
ReplyDeleteGreat blog.... left me with a huge grin. My hat's off to the individual who has creat'd it.
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).
ReplyDeleteLate 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.)
ReplyDelete(This isn't really a fair characterization of any of the above, of course!)
-- One of the co-conspirator grad students
Gee, 140 comments and only one (miscapitalized) reference to ...
ReplyDelete1962 - 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.
Absolutely spot on. :) But what about Logo?
ReplyDeleteExcellent! You forgot Ada, though. Too bad the developers of Ada didn't.
ReplyDeleteHow 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!
ReplyDeletemy favourite FORTRAN program reads:
ReplyDeleteREALITY, SANITY, and ME
STOP
END
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.
ReplyDeletecaptcha: cycos
As one satirist to another: Dude, that was awesome.
ReplyDeleteWonderful!
ReplyDeleteGreat article! Thanks for it.
ReplyDeleteBCPL aka the first curly brackets programming language.
ReplyDelete'nuf said.
Thanks for this post! :)
ReplyDeleteIsn't it Tina Arena instead of Tina Turner?
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.
ReplyDelete1990 - 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.
ReplyDeleteHilarious, thanks!
ReplyDeleteGreat 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.
ReplyDelete2003 - 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.
ReplyDelete10 FOR I=1 TO 10
ReplyDelete20 PRINT "ROFLMAO"
30 NEXT I
40 END
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.
ReplyDeleteVery funny.
ReplyDeleteAren'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.
Awesome - made my night!
ReplyDeleteThanks. Still laughing...
ReplyDelete"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.
ReplyDeleteThankfully, 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
You forgot PHP.
ReplyDeletePriceless!!!!
ReplyDeleteyou've exhausted my laugh quota! thankyou
ReplyDeleteYou forgot Simula, and gave Smalltalk the fake Simula should have gotten! :-P
ReplyDeleteBrilliant, was scrumptious with my morning tea.
ReplyDeleteOutstanding
ReplyDeleteEspecially about perl
So much brilliant stuff in this, hats off to you, sir. The C++ entry alone... And the novelty of C#.
ReplyDeleteBy 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.
170 comments, and not one of them mentioning Dijkstra being sensible and just using a typewriter. :(
ReplyDeleteAlso what about cellular automata, funge variants, and D? ;)
Brilliant work, though; love the pre-C things being criticised for not being C-like enough.
a marvel!
ReplyDeletewe want more! keep writing!
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?
ReplyDeleteYou forgot Forth.
ReplyDeleteVery cool! Thanks a lot for this load of fun :)
ReplyDeleteSNOBOL? FORTH? One-liners from APL?
ReplyDeleteThere's a wealth of additional material for you to invoke in your next opus.
Thanks for the laughs.
For those fond of seldom-met languages:
ReplyDeletehttp://www.99-bottles-of-beer.net/
I particularly like Chef, and it's derivative, Sous-Chef! (maybe because of my name?)
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)
ReplyDeleteI 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 :-)
ReplyDeleteThe right link is this, sorry.
ReplyDeleteAnd 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.
ReplyDeleteMachine Language
ReplyDeleteRules
What else can cause a PC to
SMOKE ?
Or even a Mac
?- How many Prolog programmers does it take to change a lightbulb?
ReplyDeleteno.
1995 - Rasmus Lerdorf is born, fulfilling an ancient apocalyptic prophecy. As it is written:
ReplyDeleteHe 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!
Uh, an important milestone in the 1940s for languages was left out. Chuck Norris was born in 1940, and thus invented kung fu.
ReplyDelete"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. :)
Hey, I loved how Larry Wall created perl! ;-)
ReplyDeleteI see, now that's why Perl looks like that! :-D
ReplyDeletekammenti rulyat!
ReplyDeletecomments RULEZZ!!
great!
ReplyDeleteBTW, 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.
Wow the comments are almost as fun as the article. Thanks for the humor!
ReplyDeleteActually there was no Skynet in 1983 ;) ... as long as "Terminator" is not based on some C/C++ developer stuff that is ;)
ReplyDeleteI 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.
ReplyDeleteSo 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
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.
ReplyDeletewasn't it Snoopy of Charlie Brown fame that said "Don't eat yellow SNOBOL?"
ReplyDeleteGreat post. Thanks. Missing REXX the everything is STRING language!
ReplyDeleteFrom wikipidia: "The Plankalkül was eventually more comprehensively published in 1972 and the first compiler for it was implemented in 1998."
ReplyDeleteIn 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.
"It's funny 'cause it's true." - Homer Simpson
ReplyDeleteI've told that EczemaScript skin disease joke at public talks over the last few years -- it's still fresh.
Thanks for the LOL,
/be
Actually Dijkstra hand-wrote most of his later articles -- abandoning even the typewriter.
ReplyDeleteOne 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.
Assembler?))
ReplyDeleteIn 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.
ReplyDeleteSeeing 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.
A few quotes from the past:
ReplyDelete"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)