Fri 11 April 2014 In tech. tags: nerdishprogramming

I was chatting online with some friends from school, when the topic of programming came up. This wasn't much of a surprise, since we all do this for a living, but it did lead to a discussion on Java. I've made my stance on Java pretty clear, but Kalsi made an interesting point on the topic:

I don't even think Java is a bad language. It's like a spoon: you can pretty much use a spoon as any other utensil. And people do. And it makes me mad. But I'm not mad at the people who make spoons [...] nor do I think spoons are shitty utensils.

We then went off on a tangent to apply this to pretty much everything else we could think of, and I figured I'd share the fruits of our labour in this article. Some of what follows originates from Kalsi, some from my part of that discussion, and some just flowed out while I was writing this article.

(I've excluded an entry on Ruby on Rails for now, since it's off-topic.)

.NET

You don't actually have any utensils. Your weird roommate, however, has a drawer full of silverware, which he gives to you whenever you ask. Honestly, it's pretty nice stuff, but you have no ownership over it, and your roommate's pretty picky about always putting it back when you're done with it. He's also kind of odd about his drawer, and you're never sure that you aren't going to wake up someday and find half of the drawer missing, or all of the spoons replaced with shovels, or all of the knives suddenly double-ended.

Maybe you should just move out.

Assembly

You're eating with a revolver instead of a spoon. "It's faster," you claim to your incredulous colleagues, but really you just get off on the thrill of nearly scattering your brainmass on the wall every time you eat soup. You're always concentrating so hard on your keeping a steady but light grip that you hardly notice if you're eating pasta or your pet gila moster, Hernandez, who admittedly had it coming, since he should have figured out to stay away from you like everyone else.

C

Instead of forks and knives, you bought a surplus of wood blocks and a whittling knife. The first time you made soup, you ended up with a mouthful of splinters and an empty stomach. However, you're definitely learning, and it's been hours since the last time you got a splinter from one of your homemade utensils. You've gotten good at whittling, and you kind of have to, unless you want to accidentally carve a hole in the side of your face.

C++

You've got a hunting knife and a carving fork. About as good for prison fights as steak dinners, you know to use other tools in circumstances befitting them (or at least you do since the accident). The whittling knife still sits in the corner, but you haven't touched it in months, and you're kind of glad for that since the nightmares haven't subsided yet. The fork and knife also came with a darkened box that supposedly contains a single spoon, but every time you eat something new you get a funny feeling that it's a different spoon.

Javascript

Instead of a fork or spoon, you get some vague "Utensil" that looks like it came from one of the other boxes, yet claims to be all-purpose. Every time you change your Utensil in any way, you change every other Utensil in existence. This wouldn't be so bad, but other people aren't as good at taking care of and cleaning their Utensils, so yours gets grungy and bogged down at unpredictable (but incessant) intervals. Some guy came along one day and decided to "upgrade your Utensil," but really he just added a bunch of unnecessary and poorly-designed features on what was supposed to be a simple way to eat soup. You can't even drink things reliably now, since it's been modded to act like a straw. Still, it's the most convenient solution available, so you grumble along until the day it inevitably develops sentience and decides to murder you.

PHP

PHP is eating with your hands. You'll get the job done (most of the time), but you're going to make a mess.

Python

Python is a glass fork. Yes, it's pretty. Yes, it's fairly versatile, you can use it for anything you want and it will probably be okay, but it won't be fast, because the faster it's used the more likely it is to splinter and crack. Sure, it will continue to look pretty, but that will become less and less important as it cuts more tiny holes into your mouth and digestive tract. It also really shouldn't be used for something big, since that's just asking for it to immediately shiv you in the lips.

Scala

A box comes in the mail with a spoon and a 3D-Printer. At first you use the spoon, because it's what you're used to and the printer keeps making funny noises. Over time, though, you learn to print a fork and a knife, then different-sized variants for different foods. Then chopsticks and electric carving knives. At some point you start making utensils that look like nothing the world has seen before, things you couldn't put into words if you tried. After days, you produce an object that resembles a fork at first glance but, when held at 72 degrees to the ground, launches its contents toward the nearest wall at Mach 3.

(This may be in progress, if it ever updates again. If not, it's not)

-J