Rust:
Cannot move princess out of
castle
which is behind a shared referenceYou can’t rescue the princess, but you can borrow her.
It will also complain that trying to break into the castle is unsafe, so you have to tell it that you know.
“Alright, but you better be outside of a properly locked up and OSHA-compliant castle with the princess by the time I get back, or I’m not compiling”
And then you do that, but you miss a smoldering ember from one of the castles torches, and everything including the horse and princess catches fire. Next time, pick an escape plan that only requires
unsafe
for the drawbridge.There’s a totally safe way to do it too, I guess, but it involves building a series of replacement castles, and it’s also totally ugly and sinfully slow.
That just means you designed your castle unsafely.
deleted by creator
Just clone the princes and get on with your day.
You use Assembly.
You describe each and every leg movement and each and every step to the castle and over the castle bridge and inside the castle.
You somehow end up in the castle kitchen.
Or more precisely. You end up in a dark room. You’re not sure it’s in the castle.
And the only way back is by counting every step you took on the way in, and if you miss one, the castle buries you.
But if you’re right, you have the princess and return home before the guards are done drawing their swords.
no python? how are normie programmers like me supposed to relate to this?
You have python. You import antigravity. The princess flies off into space. You monkey patch the princess so she has wings.
And this is how I learned about the antigravity module. Pretty cool!
Same! I also learned about
import this
“In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.”lol
Python: You send someone else to rescue the princess on your behalf. That someone else is the C knight.
Only if you have to rescue many princesses in a short period of time
The artist is still waiting for the python cells to render.
Rescuing is only I/O bounded; your argument is irrelevant.
No perl either. Much like python you find a relevant library (in cpan), but unlike python there will be seven different implementations, and any four perl devs will come up with at least ten solutions, nine of which will successfully rescue the princess
Everything will seem to be be going great, but to actually gain access to the castle you’ll have to compare your situation to successful rescues to find the undocumented drawbridge control
So let me summarise this:
Only C and Lisp actually completed the initial task of getting the princess free, and Author clearly favors C over the drooling and homeless lisp hacker. Also, turns out, C greatest weakness helped to save not only the princess but everything she ever possessed! How convenient!
Naah, C stabbed himself in both of his feet while planning. The rest of it is his dying mind hallucinating saving the princess.
Lisp is the true hero, but the author has parenthophobia
You have Rust.
Forget rescuing the princess, that’s unsafe. Lock her down even more!
Python:
from Rescues import Princess Princess.rescue()
map(lambda princess: princess.rescue(), [castle.get_princess() for castle in castles])
Don’t forget to keep your return values…
rescued_princesses = [{"princess": princess, "rescued": princess.rescue()} for princess in [castle.get_princess() for castle in castles]]
from Castle import Princess
Done
Here is the original comic, it’s got the word fuck in it! Direct link to higher-quality image.
Changed the image link, thanks.
You seem very excited so now I have to check it out.
e: holy shit, it does
You have rust, you decide to rewrite the C plan but the only library that supports it uses unsafe code so you go back and rewrite it. Wait what were you working on?
You have Perl.
_=~aj/dy/hfiw8i/g;
$_/a(h0w8)y@;
FWA/E.*FW[tu29uy]/;
(1)hjc/f4ifh38/y;
The princess is saved, but all you can think about is rescuing another, with an entirely different plan. Which is just as well because you have no fucking idea how to explain the one you just wrote and executed.
C# is about right. LINQ was meant to make things easier, or at least the code easier to read. Instead, you gain this addiction to seeing how much functional logic you can fit into one line of code (or a single multi-line query) while still remaining readable.
I feel personally attacked.
Rust:
You crushed the princess under the weight of all the crates you imported
Nothing against the singularity that is a node_modules directory
PHP 8 makes it finally possible to rescue the princess, but you accidentally princess the rescue instead.
PHP 8 makes it possible to rescue the princess but your 83 legacy princesses are all still PHP 5.
I did not want to be reminded of that today 😡
Ruby: there is a built in method called
free_the_princess()
require 'castle' begin Castle.attack rescue Princess puts "Done" end
On Castle, no less.
I’m going to have to print out the Go version for all future “it’s idiomatic” and “but the community!” debates at work
I’m curious about this but I’m barely a programmer now, so if anyone is up to explain
The go community is strongly opinionated in unique ways. For example, using libraries is generally frowned upon. You either use something included in the language itself (standard library) or copy/paste the code you wrote in another project. There’s also advocacy for shorter variable names which generally seems counter to the normal “write descriptive variable name” mantra.
All in all, I hope the ideas / opinions came from a good place and then some people took them as black & white rules. But they also come off as one or two people’s pet peeves who got to build a language around them.
Why’s this look so poo on my phone?
Might be the client. I use eternity and it looks OK on my phone.
Also good on Voyager.
deleted by creator
Your app is written in LISP