Thursday, July 8, 2010

(no longer a) PSA

(Sorry for this stupid post, I'll get back to the topic at another time.)

5 comments:

Mathnerd314 said...

Clearly, you are trying to replicate Microsoft's (failed) ad for IE9, to advocate for something other than Perl, such as (from looking at your other posts) Lisp. This post, however, fails as badly as Microsoft's ad at its goal. The internet may be weird, and Perl may be weird, but that does not make forcing images of bile down people's throats acceptable.

Manuel Simoni said...

I don't know that ad. The image I posted originally is one of my all-time favorites though.

Craig said...

More Lisp jokes please.

Mathnerd314 said...

Example of a good post about S04:

Iterating your way to happiness with Perl 6

Note that it even starts with "regurgitating".

The vomit ad was a year ago, and it was for IE8, so I'm not surprised you didn't hear about it.

Manuel Simoni said...

Well, that article only skims the surface of S04, and thus the stuff it covers is mostly harmless. (Whether in 2010 we need to invent new ways to write repeat-until loops is a different question.)

I think it boils down to what you want from your language. Larry Wall and his guys seems to enjoy designing a language so intricate and complex that no one can keep it in his head or understand it. Perl 6 surely has been a nice hobby for many people for a couple of years now, and the way they go at it, they'll have at least 10 more years of fun trying to figure out what it actually means. I'm not joking -- PLs are a hobby of mine, too, so I can understand their motivation in part. As Jonathan Rees said "languages are games".

In terms of games, Perl would be something like Anno 1701 where you can go on and on and on, and have fun watching the little guys build houses, and oh look at that cute castle, and OMG what a nice corn field over there, and oh did you see that harbour, and oh I can put the test of that repeat-until loop before the loop now, too -- how cool is that?!

I'm interested in a language that would be more like Go or Chess, where you have a small set of rules, and the fun in the game is not that the board has flashy colors or the figures are so nice to look at, but rather what great stuff you can do once you learn the rules, and advance in your understanding, and learn ever new ways to exploit the rules for your purposes.

To come back to S04, please read it, and tell me with a straight face whether that's the way you'd like to design and describe something as humble as looping and jumping around in your language. Then, if you like, take a look at Common Lisp's LAMBDA, BLOCK, TAGBODY, and UNWIND-PROTECT. You'll see that they are orthogonal concepts that can implement all of S04 (well, the sane parts) and a lot more.