Git the Princess!
October 8, 2016 9:05 AM   Subscribe

 
The best part of this is that Lisp is the only that actually rescues the princess.
posted by Slap*Happy at 9:10 AM on October 8, 2016 [18 favorites]


Looking back at my childhood, I think the main reason I ended up in the half-ass semi-programmer data-hacky job I have and not becoming an actual developer was an early, traumatic brush with PHP.
posted by Hollywood Upstairs Medical College at 9:12 AM on October 8, 2016 [1 favorite]


That's interesting: I can't add "C#" as a tag. I guess Metafilter can't save the princess either.
posted by Chocolate Pickle at 9:17 AM on October 8, 2016 [4 favorites]


Really the PHP would should be "loads 15 vendor libraries that are OOP wrappers around internal PHP functions because the standard library is garbage. .. and then fantasize that you could use python instead."

Why yes I do earn a living with PHP, how did you guess?
posted by boubelium at 9:28 AM on October 8, 2016 [9 favorites]


Needs an ML panel.

Also needs a Haskell lazy joke somewhere.
posted by destrius at 9:44 AM on October 8, 2016 [2 favorites]


Slap*Happy: Lisp is the only that actually rescues the princess

Well the C one did meet that particular requirement...
posted by merlynkline at 10:08 AM on October 8, 2016 [5 favorites]


In Ruby, there's a gem for the castle, and the princess, and the rescuing, and everybody knows that so nobody's actually impressed, but you're obligated to tell everyone about it anyway.
posted by Sequence at 10:13 AM on October 8, 2016 [5 favorites]


Ruined by the final frame. That isn't something to joke about lightly, especially considering what the biggest killer of people in IT is.
posted by BinaryApe at 10:23 AM on October 8, 2016 [7 favorites]


No I don't mean PHP.
posted by BinaryApe at 10:23 AM on October 8, 2016 [10 favorites]


Perl: you hurl a random selection of kitchen implements at the castle with a catapult, then crawl in through the sewer and leap from the highest tower clutching the mangled corpse of the princess.

(My actual perl experience: you take a taxi to the castle and ask if the princess can come out to play. She does. Everyone complains that nobody could possibly understand how that worked and if we ever have to do it again we'll have to start from scratch so you wasted everyone's time... rant... grumble... get off my lawn...)
posted by merlynkline at 10:26 AM on October 8, 2016 [7 favorites]


Swift: You spend all day trying to express that the catapult, castle, and princess are not optional, then the compiler crashes at link time.
posted by jeffamaphone at 10:46 AM on October 8, 2016 [4 favorites]


Visual Basic for Applications: You rescue the princess, but don't feel good about yourself at all. You pretend you have never rescued a princess at all when other knights talk about their attempts. Your liege gives you a sack of gold and a new title though.
posted by Grimgrin at 10:56 AM on October 8, 2016 [15 favorites]


Ugh. I guess this would be funny if it was made 30 years ago? I mean, lazy humor is one thing but mirroring the incredibly dysfunctional software development community in a graphical form is just sad.
posted by Foci for Analysis at 11:12 AM on October 8, 2016 [1 favorite]


Nah it's more "all programming languages suck" (except the inscrutable magic of LISP I guess). Pretty obvious jokes though.
posted by atoxyl at 12:31 PM on October 8, 2016 [1 favorite]


That's interesting: I can't add "C#" as a tag.

But can you add "C♯", with the actual musical notation sharp sign the language name incorporates?

*sits down with a smug expression*
posted by Harald74 at 12:57 PM on October 8, 2016 [3 favorites]


Nope, that doesn't work, either.
posted by Chocolate Pickle at 1:32 PM on October 8, 2016 [1 favorite]


My experience with PHP would be "you rescue the princess, but you have to fight off a horde of trolls shouting 'YER DOIN' IT WRONG!'"
posted by sutt at 1:45 PM on October 8, 2016 [6 favorites]


Python: You find yourself in front of two different castles, with a GILa monster in each that is very, very slowly sipping on a six-pack of Tab. Weirded out, you go elsewhere to look for the Princess in a sensible language.
posted by a lungful of dragon at 2:17 PM on October 8, 2016 [1 favorite]


Any ML family language: You write up a very detailed plan to save the princess. You can see that it won't work on paper, and you feel stupid. You tinker with it. Still not working, but you have only yourself to blame. Finally, the validity of the plan becomes perfectly clear (it typechecks). All princesses are saved forever, but the one for whom you wrote it died of old age before you could execute the plan.
posted by phrontist at 5:25 PM on October 8, 2016 [3 favorites]


Nah it's more "all programming languages suck" (except the inscrutable magic of LISP I guess).

This comment and the horse's expression of triumph in the LISP fourth panel made this all worthwhile.
posted by Slap*Happy at 8:01 PM on October 8, 2016


The other kind of ML:
You load up a dataset of all previous princess-saving attempts in the history of the world, carefully setting aside a subset for validation. Your new model works admirably, but when you deploy to production you wind up with a goat instead of a princess. Looking over the training data, you learn that the initial dataset contained almost entirely rescues of princesses in pyramids, rather than castles. It doesn't really explain the goat, but it at least gives you something to think about as you drink away your troubles.
posted by kaibutsu at 11:05 PM on October 8, 2016 [6 favorites]


Whenever PHP fans hear their beloved language bagged on, they always drag out this old chestnut:
A bad workman blames his tools!
Oh honey, no: I'm blaming your tools…
posted by rum-soaked space hobo at 4:15 AM on October 9, 2016 [4 favorites]


rum-soaked space hobo: The problem with this analogy is that in software engineering tool-maker and tool-user aren't always straightforwardly distinct roles. We build the languages (even if they are just idioms within a language) we get ourselves into trouble with.
posted by phrontist at 7:47 AM on October 9, 2016


Ruined by the final frame. That isn't something to joke about lightly, especially considering what the biggest killer of people in IT is.

That's not especially unusual, given that IT tends toward younger white men. The biggest killers of all Americans age 25-34 are accidents and suicide [pdf]. The biggest killers of white Americans ages 20-34 are accidents and suicide [pdf]. The biggest killers of white, male Americans ages 20-39 are accidents and suicide (same source).

"Computer programmers, mathematicians, and statisticians" have a higher suicide rate than some professions, but much lower than many others.

I'll grant that the joke might not have been in good taste (e.g. could just as well shown the knight giving up and becoming a farmer or something), but I don't know that the suicide rate among IT workers is one of them.
posted by jedicus at 9:39 AM on October 9, 2016


Programming language of the future: you tell the AI to go rescue the princess.
It does, but you wonder if all the screaming and explosions you hear are somehow related.
posted by eye of newt at 9:47 AM on October 9, 2016


Oh, and with all its comlexity and power, the only one who can understand a typically convoluted Perl program is the one who wrote it.

Here's a Perl knight on his way to save the princess.
posted by eye of newt at 9:58 AM on October 9, 2016


Lua: You create a princess named Horse to ride to the princess named Castle to save a princess. You call a native C function named Sword, but forget to push an argument onto the stack. You end up saving Horse.
posted by hanoixan at 2:03 PM on October 9, 2016


Ada: declare a castle package with a rescue method and a princess type. Use design-by-contract preconditions and post-conditions to ensure the rescue goes smoothly. Use tasks so that if there's more than one princess, you can rescue all of them at the same time without bumping into each other climbing the tower and falling to your collective deaths. Bonus princesses are always good.

When you compile it, you find the princess in the castle is somehow not the same type of princess as the rescue method expects. After 2 days of scratching your head (and forgetting you probably should have created a "princess" generic, because why would you want to limit what kind of princesses you can rescue?), you say "screw it...what could go wrong?" and use a compiler pragma to coerce it into ignoring the princess type mismatch.

When you invoke "rescue", the princess is twisted inside out and the castle implodes spectacularly. A dragon shows up and burns you to a crisp.
posted by kjs3 at 1:00 PM on October 11, 2016 [1 favorite]


« Older [ELECTION 2016] ♪♫ He’s never gon' be President...   |   Open register at the store Newer »


This thread has been archived and is closed to new comments