ilinamorato,

You have Rust. (the knight in this panel looks very cool, wears sunglasses, and probably has a ponytail)

You’ve been told how easy it is to rescue the princess. Absolutely nothing will get in your way, they say; nobody can possibly get access to your plan, and you can even rescue multiple princesses simultaneously! (in this panel, the knight is imagining rescuing three princesses from three different castles at the same time)

You start working on your plan. It’s elegant and beautiful. You write articles on Medium to tell other knights how to rescue their princess. You tell everyone who will listen about your plan. You become a Rust zealot. You never rescue the princess. (In this panel, the knight is nowhere to be seen, and the princess looks bored in her tower. The knight is across the field, at a festival with the banner “RUSTCONF” flying overhead)

lseif,

yeah but memory safety tho

WaterWaiver,

Yeah not one mention of “I’ll never forget you Princess”

ilinamorato,

Great punch-up. I wish I’d thought of it.

wolo,

I’ll never std::mem::forget you…

kSPvhmTOlwvMd7Y7E, (edited )

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!

Shareni, (edited )

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

stebo02,
@stebo02@sopuli.xyz avatar

no python? how are normie programmers like me supposed to relate to this?

iAvicenna,
@iAvicenna@lemmy.world avatar

import army

CanadaPlus,

Which is a library written in C, of course.

psud,

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

evranch,

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

aniki,

The artist is still waiting for the python cells to render.

scratchresistor,

Rescuing is only I/O bounded; your argument is irrelevant.

troyunrau,
@troyunrau@lemmy.ca avatar

You have python. You import antigravity. The princess flies off into space. You monkey patch the princess so she has wings.

stebo02,
@stebo02@sopuli.xyz avatar

And this is how I learned about the antigravity module. Pretty cool!

aniki,

Same! I also learned about


<span style="font-weight:bold;color:#a71d5d;">import </span><span style="color:#323232;">this
</span>
HerbalGamer, (edited )
@HerbalGamer@sh.itjust.works avatar

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

CodeMonkey,

Python: You send someone else to rescue the princess on your behalf. That someone else is the C knight.

scratchresistor,

Only if you have to rescue many princesses in a short period of time

remotedev,

Ruby: there is a built in method called free_the_princess()

CmdrKeen, (edited )
@CmdrKeen@lemmy.today avatar

<span style="color:#323232;">require 'castle'
</span><span style="color:#323232;">
</span><span style="color:#323232;">begin
</span><span style="color:#323232;">  Castle.attack
</span><span style="color:#323232;">rescue Princess
</span><span style="color:#323232;">  puts "Done"
</span><span style="color:#323232;">end
</span>
karmiclychee,

On Castle, no less.

scratchresistor,

Python:


<span style="color:#323232;">from Rescues import Princess
</span><span style="color:#323232;">Princess.rescue()
</span>
CmdrKeen,
@CmdrKeen@lemmy.today avatar

<span style="color:#323232;">from Castle import Princess
</span>

Done

bob_lemon,

map(lambda princess: princess.rescue(), [castle.get_princess() for castle in castles])

scratchresistor,

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]]

Aceticon,

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.

sunbeam60, (edited )

Or more precisely. You end up in a dark room. You’re not sure it’s in the castle.

nilloc,

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.

mindbleach,

But if you’re right, you have the princess and return home before the guards are done drawing their swords.

Nugelz,

Why’s this look so poo on my phone?

MaliciousKebab,

Might be the client. I use eternity and it looks OK on my phone.

chandz05,

Also good in Boost on my phone

EatYouWell,

Seconded

Octopus1348,
@Octopus1348@lemy.lol avatar

Also good on Voyager.

doeknius_gloek,

Also good with Boost once I opened the image and clicked “HD”.

Nugelz,

Thank you that fixed it!

Unforeseen,

Also good in Connect on my phone

30p87,

Not the best quality, but still easily enjoyable on Eternity Nightly

tja,
@tja@sh.itjust.works avatar

Also good in sync on my phone

Octopus1348,
@Octopus1348@lemy.lol avatar

Sync manages these long vertical images the best.

Honytawk,

Your app is written in LISP

r00ty,
@r00ty@kbin.life avatar

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.

Curdie,

I feel personally attacked.

nailbar,

PHP 8 makes it finally possible to rescue the princess, but you accidentally princess the rescue instead.

ISMETA,

PHP 8 makes it possible to rescue the princess but your 83 legacy princesses are all still PHP 5.

nailbar,

I did not want to be reminded of that today 😡

Gobbel2000,
@Gobbel2000@feddit.de avatar

Rust:

Cannot move princess out of castle which is behind a shared reference

marcos,

Just clone the princes and get on with your day.

Octopus1348,
@Octopus1348@lemy.lol avatar

It will also complain that trying to break into the castle is unsafe, so you have to tell it that you know.

CanadaPlus, (edited )

“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.

Rodeo,

That just means you designed your castle unsafely.

Hazzia,

Skip the castle and call the princess directly!

magic_lobster_party,

You can’t rescue the princess, but you can borrow her.

cactusupyourbutt,

…good enough.

Ill get her back in 3 minutes

EnderMB,

Always good to see Jon Skeet get some love. I’d love to know in terms of quantity just how many people he’s helped over the last decade or so.

thedirtyknapkin,

if we count the number of people who have used products with code helped by him; we’re probably around 50% of all humanity by now. at least…

Honytawk,

I just wonder how many he would have saved if he didn’t write the language in the first place

revlayle,

wat

Skeet did not write or create c#

Daxtron2,

Literally every time I’ve ever posted a question on SO that’s related to .NET, Skeet comes to my rescue.

magic_lobster_party,

He has used this comic as his profile pic on Twitter and StackOverflow for quite a while.

PhlubbaDubba,

Rust:

You crushed the princess under the weight of all the crates you imported

fallingcats,

Nothing against the singularity that is a node_modules directory

flumph,
@flumph@programming.dev avatar

I’m going to have to print out the Go version for all future “it’s idiomatic” and “but the community!” debates at work

SnipingNinja,

I’m curious about this but I’m barely a programmer now, so if anyone is up to explain

flumph,
@flumph@programming.dev avatar

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.

killeronthecorner,
@killeronthecorner@lemmy.world avatar

Swift: Apple releases a new version of the castle and deprecates the princess before you finish your implementation

turing_spider574,

the author did another comic with swift and it’s pretty much what you said lol

toggl.com/blog/kill-dragon-comic

moomoomoo309,
@moomoomoo309@programming.dev avatar

I love the Lua one because it’s so true, LuaJIT is magic and Mike Pall is the only one who understands it as its creator.

fossilesque,
@fossilesque@mander.xyz avatar

The Python one should have been an environment joke.

uid0gid0,

The Patsy from Monty Python in the PHP section got me

AnUnusualRelic,
@AnUnusualRelic@lemmy.world avatar

“Message for you sir!”

argh

troyunrau,
@troyunrau@lemmy.ca avatar

I have that as my cell phone notification. It’s amazing.

Here’s a download link if anyone else wants it: drive.google.com/file/d/…/view?usp=sharing

AnUnusualRelic,
@AnUnusualRelic@lemmy.world avatar

Duh. I can’t believe I never thought of it, just because it was a model.

Hazzia,

Thank you for your contribution to the betterment of society.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programmer_humor@programming.dev
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 24925280 bytes) in /var/www/kbin/kbin/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php on line 174

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4210688 bytes) in /var/www/kbin/kbin/vendor/symfony/error-handler/Resources/views/logs.html.php on line 25