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.
That just means you designed your castle unsafely.
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]]
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!
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.
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.
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.