Chris Agocs is a user on mastodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Let's talk about languages and rope!

C family languages give you infinite rope. You can hang yourself, sure, but you can also just pile up more and more rope until there is nothing in your universe but rope.

Java lets you hang yourself, but you have to instantiate a new RopeFactory first.

Go will let you hang yourself, but it's more likely Rob Pike will pop out of the compiler and give you nine warnings about how you're doing it wrong.

Python gives you plenty of rope, but some knots tie themselves around copies of themselves and it's really hard to tell if they're going to work or not, and Python people who have been doing this for years just give you shit about it.

Functional languages don't have rope, just infinite string that you can twist up on itself. If you try to hang yourself, it turns out you're immutable so you just hang a copy of yourself instead.

Chris Agocs @agocs

BASIC has some really clunky building blocks that kinda act like rope, but if you try to hang yourself, it turns out you misunderstood how it interprets closures and you wind up just wrapping this protorope around the whole world. It's okay, though, there's no point high enough to hang from anyhow.

PHP has a get_rope() and a yourselfhanger(), but it turns out that just opens up an arbitrary code execution vuln.

@agocs I learned to program in GWBasic, then jumped to PHP (back when I was in highschool.)

It has taken me years to unlearn some of those habits.

@ajroach42 Freaking same. Looking back at PHP, I'm often glad I was so bad at it.