|
From what I can tell it's pretty common in software and engineering to try and pull humor out of bad design. It's a pretty longstanding tradition in programming language design to specify "esoteric languages," which are programming languages that intentionally make unconventional decisions because they're funny or to see if something workable can be pulled out of the wreck. Before I really got into programming (I don't have much of a CS background and at the time I was only really strong in one or two languages) I spent a lot of time browsing the old Esolang wiki: http://esolangs.org/wiki/Main_Page , that is, for those who don't feel like googling, and at the time I didn't really know enough about programming languages to really appraise the quality of work that was there. Well, a couple years later I'm comfortable saying I know a little bit more and to be really blunt about it, I'm not too impressed. Let me start with an example. WASD. It's a Brainfuck. A lot of esolangs are Brainfucks. The first genre that I saw almost constantly looking around was assembly languages for virtual machines that really are't that clever or unique in their architecture, which includes Brainfuck, includes a bunch of register machines, a lot of stack machines, and plenty of variations on these which follow some inane theme like recipes or profanity. There's also plenty of languages which trivially compile to another language that already exists: LOLCODE is the one that already exists. Another genre that's already heavily represented is languages that have no idea how the computer actually works, ignore how the computer actually works for the sake of making an unfunny joke, or have no idea what innovations have already been made in language design and are convinced despite all evidence or the lack thereof of their own novelty. Here's a few! Parnassus, Hebe Script, and mugh brains (these took forever to find because seven out of eight 'random page' clicks were Brainfucks, stack machines, or Befunges). Anyway, what I think is bothering me -- and I have a feeling that those of you who have to deal with a lot of new programmers are probably bothered by this too, in other contexts -- seems to be
I'm a little tired of writing, but let me link some of my favorite examples of esoteric language design as far as it relates to programming humor. They're not all language specs -- one's a protocol spec and one's a tutorial guide for a non-esoteric language, but suffice it to say that this is the kind of thing I'd like to see more often.
What do these have in common? How about actual jokes, originality, and/or a consistent theme? Do any of you guys think esoteric languages are cool and actually care about quality? Because I'd be totally interested in seeing your drafting, even if you haven't implemented anything.
|
# ¿ Jan 19, 2014 22:01 |
|
|
# ¿ May 16, 2024 21:30 |
|
Pollyanna posted:I have programmed in MUMPS. I would certainly call it 'esoteric'. Yes, so would I. (You poor soul.) The only feature in MUMPS that actually interests me from a standpoint other than perverse fascination is the builtin persistence system, and even that I'm not sure was implemented well or safely. I wasn't really ever a huge Piet fan (it always looked like the same syntactic fascination to me), but I can't really say that without being inconsistent, because I'm a big Perligata fan (which is just Perl expressed in Latin, albeit with a pretty detailed Latin representation). Actually, looking at the spec again, it's more interesting than I thought it was: I always remembered it being about just reading in a stream of pixels to manipulate the stack (a la everyone's first stack machine with more PNG files), probably because the 99 Bottles program reads like this: http://www.99-bottles-of-beer.net/language-piet-1269.html, but it's a bit more complicated than that in its preprocessing of the source file. For the record, since I spent a lot of time railing against Brainfucklikes, I thought Brainfuck was pretty cool the first time I saw it and then literally never again.
|
# ¿ Jan 20, 2014 17:44 |
|
Pollyanna posted:I actually got that wrong, I didn't program in MUMPS. I programmed in this Yeah, I kind of figured you were/had been in healthcare software; I hear a lot of the companies in that sphere are in the stone age. Epic Systems (who still work in MUMPS) is recruiting by my school and I can't help but feel a little sorry for the eager beavers who make it through the interview cycle.
|
# ¿ Jan 21, 2014 03:18 |