in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

Here Come the Code Police

Russell got to talking about geek elitism and, specifically how it relates to Jerry Springer type conflicts. After posting the comments between a blogger and an unhappy customer, Russell axes:

Was anyone able to guess the topic of the post? I would tell you, but I can't actually remember anymore. I was too busy being entertained by "Yo mamma's so ugly" contest going on. I vaguely remember there being some good points thrown in there between the flying chairs though, so if you're interested you can check it out here.

This is one of those coder-culture things that's probably been going on since ENIAC - the petty "My app's bigger than your app" machismo.

I can't stand geek elitism. More than anything, it's what turned me off to Linux. At least on the Apple side, I can enjoy my *nix without being bothered since most Apple users bought their machines for iPhoto. I like those people, too, by the by, as they aren't looking to pick fights. They just want to get their stuff done. Though there is a powerful underbelly of the Apple world that's so exclusive even the elitists can't get through the door of their own club.

I especially don't care for it when it's about coding itself. This tech vs. that. Nowadays, it's so often about superficial pseudo-politics and people who think there's a correct way to dev.

Your dog could be having a heart-attack, but you wouldn't even notice because you're so busy telling someone that your favorite OSS database is more important than his commercial database because his commercial database, despite being nothing more than stored ones and zeroes that do something neat, should be on trial in the Hague for the atrocities it's committed against humankind.

Coding is a craft. It's not an art and it's not a science. Every dev tool on the planet is built on decades of cruft. Every language has either originated or perpetuated sloppiness. If you can get something done, then good for you. Extra points if you don't care what anybody else thinks.

My sister [lawyer referral business][bio] started coding before I did. I walked into the living room of our house in 1983. She was seated before our original IBM PC, running at 4.77 MHz, pushing all 256k of RAM to its limits by having used MS BASIC 1.0 to draw a house on Halloween with an owl perched on top. She even did the moon with moody cloud cover. Looking back, it was amazing. She had just turned seven, and this wasn't at a time when you could point and click your way to an app. You had to learn how to build things on your own. The manual was a three-ring binder of circular definitions, and to make matters worse, our cat had peed all over it.

The app wasn't terribly complex, and could hardly even be called an app, but she sat down, wanted to create something, and muscled her way through. If coding were an art, the solution to her problem would have been too free form and abstract. You don't get to express yourself in code unless you have a paralyzing deficit of imagination, but if you're willing to put effort into it, you can express yourself by ordering your computer to do what you want it to. Programming languages are one-way and built on imperative statements. You don't warm fuzzy your way to success, but you also can't be too exacting in your demands.

As for science, I don't see a bit of it in code. Scientists occasionally make stupid mistakes, like forgetting to do a conversion of metrics resulting in the loss of this or that very expensive probe that's traveled part of the solar system to reach another world, and there's corruption in science where one or another petty sonofabitch is more interested in credit than the spirit of making sense of the universe, but the process itself doesn't apply to software development. You can't look down your nose at another coder and tell him his methods are incorrect. I have my own taste and aesthetic about coding, preferring the simplest, clearest way to resolution, but if someone can get something to work, no matter how much it might offend my preferences, the problem has still been solved.

Back when I was contracting and moving from place to place, I could see the mismatched socks in someone's life through the way he absent-mindedly hopped from idea to idea, but your legs and shoes and the pavement don't really care if your socks are mismatched as long as you can still get from one place to another.

This is the style end of the craft. You might be a fancy looking little man like me, or you might be a Poindexter who wants it done the same way every time, and if your applesauce is +/- 1 degree from where you like it, you throw a fit and blame the refrigerator company. It's your style. And, though you might put something together in such a way that it's totally unmaintainable, I'll still applaud your efforts because, as a contractor, I mostly billed by the hour. Your style funded mine; I should be thanking you, not berating you. You dressed me in Prada, and I'm grateful.

You might think your way is correct, but the best you can manage is thinking that it's right. "Correct" refers to an absolute, whereas "right" is a judgment against your own values. It's also smug as hell. You're the guy who needs to tell people they're cutting their steak wrong. It's just steak. Get over it.

My sister stopped coding when she turned eight or so, having accomplished most of what she wanted to do in that area, moving on to collecting My Little Ponies and assembling a makeshift orphanage of Cabbage Patch Kids, but she came back to dev work not too long ago. She was proud of what she'd done and excited to show me. I took a look at it and wondered how she'd put this app together, but that it worked was of much more interest to me than the design. She's probably never used the word "architected", which I think is best since it's ghastly, but she could probably still cut through the crap well enough that she could have an app together before you've diagrammed the object model for your Fahrenheit to Celsius converter.

People like my sister have figured out how to do something I'll probably never get. The lesson to me is that you can still think you're awesome without having an ego. You're happy to pay more attention to improving your own skills than wagging your finger at someone else's.

It can be argued that I'm guilty of most everything I've just written about, and that, by judging people who judge, I'm a hypocrite. Luckily for me, as evidenced by the number of relationships I've managed to burn to the ground over the years, I work in a vacuum of emotional maturity, and I feel perfectly comfortable responding to any accusations of hypocrisy with the phrase I employed on a daily basis at about the same time my sister coded that first little program of hers:

You started it.

Published Wednesday, November 14, 2007 3:51 PM by Rory

Filed Under: ,

Comments

 

TraumaPony said:

Heh, nice post. I agree, people flame eachother too much for the tools they use, not how they use them.
November 14, 2007 4:32 PM
 

Andrew said:

Here's what I abstracted from this post: Rory's sister is both smart AND hot. I think I'm in love.

There were a lot of other words, too, and I'm sure they said something, but I sorta lost focus.
November 14, 2007 7:52 PM
 

kettch said:

It's disgusting how people raise things like platforms, languages, OS's, and source code licenses, to the level of religion. Not just go-to-church-every-Sunday-and-be-a-good-person religion either. I'm talking the strap-a-bomb-to-their-chest-and-run-into-PDC kind of religion.

I think one of the best indicators of good software isn't the language, or the development methodology, or the platform, or the OS, or the license. It's whether or not said software makes you a shitload of money. Anybody who says otherwise is probably a liar, or a filthy hippie.
November 14, 2007 8:08 PM
 

Caffeinated Coder (Russell) said:

Yes, I would rather make love to glass than endure the rantings of someone who just went on an all-night tech kool-aid binge. I especially get grossed out by how the smugness starts oozing out of every orifice like thick mucousey snot after a particularly nasty cold.

It is especially annoying to me that the participants are usually convinced that they are involved in a noble pursuit when all they are really doing is getting caught up in the equivalent of a Jerry Springer slap-fest. I am particularly proud of that picture I found for that blog post. It neatly portrays what I see every time I read those kinds of conversations.
November 15, 2007 6:01 AM
 

Justice~! said:

Whatever Russell!!  You suck and I hate you!!!  Obviously you are just jealous of everyone else's 7331ness!!!  INYAFACE!

November 15, 2007 7:37 AM
 

Lloyd_Humph said:

RE Andrew: "Rory's sister is both smart AND hot"

Don't get that often... I reckon I'll have nailed a smart/hot chick by say... sunday?

:D
November 15, 2007 9:19 AM
 

Caffeinated Coder (Russell) said:

@Justice - Your dyslexia is showing again. All those people wrote that you were 1337 , not 7331...Now go back to tweezing your back hairs or else I'm going to have to open up a can of metrosexual whoop'ass ...;-)
November 15, 2007 10:57 AM
 

The Cowboy said:

Besides, everybody knows the only REAL language is COBOL-74.  All the other languages are just poser wussies!  

"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code. "
--Flon's Law
November 15, 2007 11:12 PM
 

Yuvi said:

I hate politics. Only thing worth hating.
November 16, 2007 5:55 AM
 

pixie said:

It is a great feeling to build something - however it is done.   What I can't understand, is why everyone assumes there is only one right way to do so.

I think that a lot of people have to have a (relatively) simplistic view of the world in order to make sense of it, they just need to filter out some of the noise in this crazy crazy world.  If you can just decide on a few premises about the world, everything gets easier. Of course, you have to defend your premises in order to keep your world simpler, and everyone knows that the best defense is a good offense...

Still, I'd rather see people choosing to go crazy over the one true programming platform or the one true personal computing platform than to go crazy over the one true religion or the one true skin color, or any one of a million much more harmful things.  

Personally, I'm a fan of choice.  I love the fact that people can solve problems differently.  It makes me feel like a kid in a candy store, with a world of possibilities on display for my evaluation and selection.
November 18, 2007 4:28 PM
 

RBL said:

Your sister benefited from the era she started coding in. Back then, the 2% of coding geniuses who were inventing this industry wanted to develop languages and compilers that the 98% of us mere mortals could use. Today you need to be a card-carrying [insert vendor name here] certified cybergeek to code "Hello World."

I taught myself BASIC, and was selling apps commercially in the 80s. I flunked high school algebra, calculus, and even general math. I'm innumerate. But I could code, thanks to Kemeny, Kurtz, Gates, and BASIC.

Can an innumerate kid pick up VB.Net and start coding something meaningful? Can he/she teach themselves to build a meaningful Web app in a few hours? Can they deploy it if they manage to build it? Rhetorical questions.

The tools vendors have abandoned the users, and now cater only to the "professional developers." Languages and dev environments have gone backwards. And as you point out, in the time people spend diagramming their OO apps, and old salt could have built the damn thing in COBOL.

There's too much emphasis on the theoretical purity of design, and not enough emphasis on getting the damn job done, with quality. All this clean, object-oriented, reusable code, and my commercial apps still run like an overloaded tank that just fell into a ditch. I can crash each an every one of them with a few well-placed keystrokes.

Give me "unmaintainable" modular, structured, procedural assembler or BASIC (with it' "not considered useful GOTOs").

When most committed users can build a useful Web app visually, in a single IDE, with a single language that abstracts all the b.s. away and lets them focus on the business objective (instead of esoteric coding conventions), and deploy it with one click (as in "compile"), and not have to jump through 22 hoops, 2 servers, and 3 ISPs to test it, then maybe we'll have advanced the state of the development art.

The dev tools/languages/compilers are supposed to work for us, not the other way around.

{Groan}
November 30, 2007 9:26 PM
New Comments to this post are disabled

About Rory

I *own* this site, you loser.