|
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 |
|
|
# ? Jun 5, 2024 22:46 |
|
Actually, nobody cares. (USER WAS PUT ON PROBATION FOR THIS POST)
|
# ? Jan 20, 2014 00:17 |
|
They can be interesting if they have something new to say, but otherwise, meh. Like, intercal is funny because its an old joke specification never intended to be implemented that was written by someone who was actually funny. That it can actually be impleneted and used as a real language is almost extraneous to the point. Brainfuck, likewise is interesting because it has some novel features that in the process demonstrate a few interesting features of computability. And Malbolge is interesting for the the fact its utterly unprogrammable in practice although attempted to be proveably programmable in theory (Turns out it wasnt turing complete due to a memory constraint, but the attempt was laudable at least) But theres a sea of clones that add nothing, and aren't really that funny either. duck monster fucked around with this message at 04:38 on Jan 20, 2014 |
# ? Jan 20, 2014 04:35 |
|
I like Piet as an esolang. Actually new and interesting things like that are pretty cool. "Esolangs" which are just an existing esolang (or actual programming language - I'm sure someone's tried to pass off a MUMPS variant as a new esolang) but with the serial numbers filed off are really silly though.
|
# ? Jan 20, 2014 05:32 |
|
I have programmed in MUMPS. I would certainly call it 'esoteric'.
|
# ? Jan 20, 2014 06:28 |
|
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 |
|
Homespring is a relatively unlazy esolang. It has the obligatory needlessly complex syntax, but the more interesting part of it is that it defines a unique model of computation driven by a gratuitous metaphor rather than just being Yet Another Stack Machine. It also reads well when the coder isn't lazy and just pads out the required token count with lorem ipsum (that's a FizzBuzz implementation).
|
# ? Jan 20, 2014 18:07 |
|
MUMPS is wonderful and I won't hear anything negative said about the disease of a language.
|
# ? Jan 20, 2014 18:16 |
|
I actually got that wrong, I didn't program in MUMPS. I programmed in this:code:
|
# ? Jan 20, 2014 20:47 |
|
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 |
|
I don't really understand your complaint. I mean, it would be nice if EVERYTHING was more interesting, sure. Isn't programming the last place we tell people not to do things unless they do them right? If the wild hair on your rear end ends up creating some programming language someone else doesn't find humorous enough, who cares? At least you're still part of the 2% of the population creating instead of just consuming. It's very possible I misunderstood your complaint, though.
|
# ? Jan 21, 2014 20:54 |
|
It would be great if some of the effort expended on new EPLs were spent instead on other parts of the esoteric software stack. We need perverted editors, version control and UI frameworks too. You can't tell me the ideas aren't out there.
|
# ? Jan 24, 2014 08:15 |
|
I think this is kinda novel. It's a scheme-like language taking advantage of the fact that Haskell's type system is Turin-complete by compiling down to Haskell type signatures, then ghc typechecks it to compute the final result.
|
# ? Jan 29, 2014 10:58 |
|
Gazpacho posted:It would be great if some of the effort expended on new EPLs were spent instead on other parts of the esoteric software stack. We need perverted editors, version control and UI frameworks too. You can't tell me the ideas aren't out there. perverse editor: TECO perverse version control: visual sourcesafe, microsoft's source code destruction system perverse ui frameworks: every "front end" js library
|
# ? Jan 29, 2014 17:36 |
|
Otto Skorzeny posted:perverse ui frameworks: every "front end" js library this one is sort of necessary though, given the kinds of UIs we're trying to shove into a document markup language
|
# ? Feb 2, 2014 09:10 |
|
C++ seems to be rapidly evolving into an esoteric language. I've seen some C++14 coding examples showing off the awesome power of some of the new features, and it just ends up as an unreadable, unmaintainable tangle of templates and wacky syntax additions. Kernighan and Ritchie must be spinning in their graves.
|
# ? Feb 2, 2014 21:04 |
|
Stoatbringer posted:C++ seems to be rapidly evolving into an esoteric language. I've seen some C++14 coding examples showing off the awesome power of some of the new features, and it just ends up as an unreadable, unmaintainable tangle of templates and wacky syntax additions. Brian Kernighan is still alive
|
# ? Feb 3, 2014 01:04 |
|
Otto Skorzeny posted:Brian Kernighan is still alive Maybe he's a vampire?
|
# ? Feb 3, 2014 11:19 |
|
Esoteric languages are interesting in so far as they try out some strange new idea about how to code and prove its possible, even if insanely hard. This makes brainfuck interesting, and any given stack language uninteresting (Why do it, when forth proves the point elegantly and cleanly). Of course something like malbolge is interesting because despite the best efforts of its creator you can theoretically write software in it. And Intercal is actually just really funny (No serious, google the original spec, its classic old world computer humor) But theres if your not actually funny (your not), or you have nothing novel to add other than obsfucation, your esoteric language wont ever be interesting.
|
# ? Feb 5, 2014 06:03 |
|
The best esolangs are Whitespace and HQ9+, 'nuff said.Stoatbringer posted:C++ seems to be rapidly evolving into an esoteric language. I've seen some C++14 coding examples showing off the awesome power of some of the new features, and it just ends up as an unreadable, unmaintainable tangle of templates and wacky syntax additions.
|
# ? Feb 6, 2014 00:21 |
|
It might be because at heart I'm a filthy humanities lover, but Shakespeare is my favourite esolang. Just look at it doing 'Hello World!', it's ridiculous, but in a wonderful way. Shakespeare posted:
|
# ? May 28, 2014 15:52 |
|
Here you are, op. http://urbit.org/
|
# ? Jun 1, 2014 12:22 |
|
I actually like the opposite of esoteric languages better. When the syntax of a totally earnest language enables strange or unreadable code by trying to be too flexible or clever. Or just ill conceived. MUMPS:code:
code:
|
# ? Jun 26, 2014 16:08 |
|
I like the idea behind Taxi. http://bigzaphod.github.io/Taxi/ Basically, the idea is that you're giving instructions to a taxi driver who has to pick up passengers all over the city, while keeping gas in your tank. The passengers pay you and you buy gas with the money they pay you.
|
# ? Jun 26, 2014 20:07 |
|
|
# ? Jun 5, 2024 22:46 |
|
My favorite MUMPS program:code:
|
# ? Nov 25, 2014 01:54 |