« perspective (or lack of) | Main | exciting and innovative!!!! uh... no... try boring and useless »

April 09, 2005



Now, if I only had the balls to forward this post to my manager and the hiring manager ot our outfit.


Hell Ya!

Every time I read one of these I not only agree but I also hear that song "America F#ck Ya!" going in the background. I have no idea why but it just feels good.

Great post Phil.

Tim Almond

Good comments.

The problem is that RAD tools mean someone can paint a screen quickly, but have no idea about complex logic. I've met HTMLers turned coders, and were I in the hiring and firing position, they'd be shown the door.

Another thing is that doing screen design of systems is a very small part of it. Just because that can be done faster doesn't mean a massive overall saving on the system. And once a system is live, most of the maintenance work isn't to the UI, it's the back end code.


Phil - I love you. Not in the gay sense of course, but you always seem to post the exact stuff I want to say - you just say it a lot better. Andy and I have been on the http://spaces.msn.com/members/andythecornbread/ (We hate Access programmers) bandwagon for a while because, Anyone that's ever worked on something an Access developer did, almost always has the same story to tell. "We had the secretary take an Access course and she says we can convert our entire Oracle based CRM System and port it over to access in a few days. You know, Oracle is just overpriced junk - access is actually better in terms of reliability in a multi-user environment. She says she'll have everything ported over by friday" And they listen to her. And it is ported by Friday except it doesn't work and the second person that logs on blows the whole thing up. "Well, there are a few bugs but this was her first application, therre's going to be a few bugs." Then a few weeks later "Well, it eseentially works good but there's so much to it, do you think a few of your guys in development could help her out" THen you look at the code and have an overwhelming urge to gouge out your eyes with an Icepick.

Amen brother! And it's Great to have you back - you never disappoint!


thanks for the feedback, guys...


You're not the first person to feel this way. Check out Edsger Dijkstra's "On the cruelty of really teaching computer science": http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html

Evan Erwin

For the love of God Phil, don't make us wait another 4 months for some of the most hilarious and on-target commentary on the web.


You couldn't be more on point about the current state of moronic developers...and just so you know, my co-workers and I bring the "total user base" of Delphi developers up to seven. :$

Mark Hughes

Great post. I'm primarily a Java developer, since it's the only language that doesn't completely suck on the market today, but there are entirely too many morons in the so-called Java community. Reading comp.lang.java or Sun's Java forums is a very enlightening exercise, if you want to see the depths of depravity and ignorance people can descend to and still call themselves "developers".

Of course, there are a lot of idiot C/C++ programmers, too, but they never get very far, because they can't do anything in the language. Making your language suck in just the right way is a good way to filter out many of the morons, even if the side-effect is that you make Microsoft-quality software full of pointer crashes.

However, I would add to your "You know you're working with morons when" list:

* users who don't know where their shift key is.

Cthulhu wept, man. Get your keyboard fixed. You are not e.e. fucking cummings. Anyone who posts all in lowercase is announcing to the world, "I am 15 years old, I wear white face-paint, and I write goth poetry".


"it opened up the doors to millions of fucking morons who under normal circumstances would have never, never, never, NEVER, NEVER EVER be qualified or even allowed to code "Hello World!"

While most of us coding snobs think that is a bad thing - I bet all those businesses that managed to get value out of the programs they created don't mind one bit. Once you leave the world of academia, you learn that programs don't have to be perfect, they don't have to be beautiful reflections of the author's skill, they just have to get the job done. Sure they may not scale, and they may be hard to support, etc, but those are all issues you can address when the needs arise. In the meantime, you've got something up and running.

Scott Bellware

> Once you leave the world of academia, you learn that
> programs don't have to be perfect, they don't have to
> be beautiful reflections of the author's skill, they
> just have to get the job done. Sure they may not
> scale, and they may be hard to support, etc, but
> those are all issues you can address when the needs
> arise. In the meantime, you've got something up and
> running

Once you enter the world of agile development, you realize that you can have all of the above as well as get something up and running even quicker than with RAD - and you can have all these things for years and years without necessitating bi-anual re-writes. Of course, agile depends on substitution, isolation, interface-based development, rigorous code standards, test-driven development, and a whole host of things that visual developers are either not interested in or simply don't care to understand as an expression of an absence of professional curiosity.

Anonymous Architect

My favoriate RAD tool is IBM XDE for VS.NET. Sometimes i even don't think about code, I just dream about how far i can "draw" my next application before descending to code level.

Sometimes i wake from these dreams screaming in sheer terror in middle of the night. Thats when i realize that sooner or later unspeakable will happen - one of VB developers will get his hands on XDE and try to "use it". And XDE is so good, that it take as input of healthy mind and will acutally try to produce files and code... some other live, breathing human beings will be subjected to looking and using the result produced by compiling this code. REMOVE VISIONS OF THIS HORROR FROM MY MIND!

(PS: if you never seen XDE, for example whole GoF book is encoded as one +20 items submenu to apply any pattern in single click. VB guy will just use this GoF stuff as addtion to UI controls toolbox... )


Great rant! Josh really has a point, though...

What RAD does is bring that case closer to the field expert. Programming isn't about stack pointers and the big O notation anymore, it's about the business case. People don't want to write software, but specs that can be executed. There's something depressingly positive from the point of view of the analyst in pushing that "black box" principle to the extreme...

You probably have to be a developer, though, to really feel the state of the mess this situation puts those systems in. The saddest thing is that it's really hard to make a technological case in a world where people have started to replace software engineers simply by picking up a programming book or two...


You do realize, of course, that our host just said,

"RAD...rapid application development. it was motivated by a single concept...make the developer as productive as possible"

...and then goes on to say,

"they feel threatened and insecure because programming in c, pointer arithmetic, manual memory management, and working on a system whose primary mode of communication is via a command line is just too mentally overwhelming for them".

I must be an idiot, because I don't want to give up the tools that make me more productive. I wrote assembler code in the 80's and I don't see any real need to go back. Some people like to waste time dealing with problems that the current tools solve. The rest of us waste time reading websites like this.

Keep it coming, though. Comic relief is hard to find in our industry.


I think you missed the point of RAD - the point was to not have to write all kinds of code for your GUI. Before VB, Delphi, etc., you had to write all kinds of code just to display a dialog box. The cycle was change the code, compile, run, see it is screwed up, try again, add another control, etc.

With RAD, just drag-and-drop. But that doesn't help one bit with any of your business logic. You still have try know what your doing!



I feel kinda the same way... except that I think the problem goes deeper than front-office bubble-heads thinking they can "program". What I find more insidious and disturbing is that the trend is now extending back into our universities, where kids are being taught purely vocational skills rather than Science and Engineering. ie. "How To Program in Java" almost exclusively rather than "This is how you construct a programming language" etc...

I suspect this is already affecting the IT landscape since of the 4 Solution Designers sitting around me not one of them has done an "IT" (shudder!) degree. In fact there are 2 PhD's in Electrical Engineering, 1 in Industrial Chemistry, and the other was a physicist (average age = 35). Basically, when some real expertise is required companies are hiring outside of the narrowly focused IT area for competent people.


Phil, you rock. But, please don't try to defend VB devs. These are the same people that have now moved to C# and found the glory of design patterns. Everything is a fucking pattern now and holy shit, they aren't even used in the correct context. As for little Josh, not scaling and hard to maintain are things we get to when we need? Are you fucking kidding me? Holy crap, I just loved it when I was junior and I had to figure out some jackasses code that didn't take the time to design anything and much less laughed when he found out you had to support it.

"they feel threatened and insecure because programming in c, pointer arithmetic, manual memory management, and working on a system whose primary mode of communication is via a command line is just too mentally overwhelming for them".

These are the same fuckers that went through 2 years of CS only to find out MIS existed and went that way because it was much easier. Unix, fuck that, they teach VB and VBA in MIS and that is where the world is going!

I will disagree with you on this though:

what a "pointer" is (i'm being fucking serious here folks...)

I just love it now when "ex" vbers come over and now everything is a pointer because they read it in C# for dummies.


Oh, and I almost forgot the fucking greatest one of all of this RAD, .NET, JAVA, crap, THREADING!!!! Holy crap, can this get any worse. How anyone can start doing threading when they have no clue what deadlock, race conditions etc are. You mention how do you intend to synchronize those objects when they are called from different threads? Are they thread safe? Uhhh, ummm, what do you mean? I have even had to fix production threading bugs that were caused by, yes, unit tests that couldn't test members, so the dev made the members static to access them from the test. Our customers just hated getting their neighbors ID numbers in the mail.


fred: you are totally dead on about CS -> MIS thing, and totally dead right about threading too...


Hmm, I thought I might give you another topic...here's a post from a guy, http://www.funwith.net/blogs/wtf_blog/archive/2005/04/29/166.aspx that is going to take his cert tests, and as you will notice from this blog entry, HE HAS NO FUCKING CLUE WHAT THE DIFFERENCE IS BETWEEN A STRUCT AND A FUCKING CLASS! I know this guy and it's fucking pathetic. I have moved to the consulting side and this shit about certifications just pisses me off. Just thought I would give another topic that pisses a lot of us off.


Oh, hell I wanted to give you some more. When did the term "we just needed something fast" become so fucking common? Oh, that's ok then. It's perfectly ok for you to write fucking worthless code. That's Ok, we'll make it work so that you can bitch when I leave and say how I screwed up your POS app! Ok, I'm fine with that.

Your Probably Cousin

I just overheard this conversation...

Systems Support Specialist #1: "Are you getting javascript errors in your emails?"

Systems Support Specialist #2: "No, but I keep my java stuff updated."


bob jones

>unfortunately it had a total user base of
>two. (and no, i am not one of them.)

Well, I was one of them and I've been trying to get the other guy to convert to .net/C# already:

"GEEZ MAN! Delphi is dead. Dead, dead, dead..."



C, like Java, in all its forms is fucking ugly, and its mastery does not distinguish you as a great developer.

.NET has fuglified VB.

Be honest...the ability to program in hardcore Assembly, C++, etc. makes you an oddity, not a rock star. When your low-level, high-maintenance crap blows up, it costs more money to fix. There's usually only one oddball on hand to fix it, too: the bespectacled, socially inept, hygiene-absent stinker who wrote it.

Fortunately, most of that type will soon be in India, where stench is everywhere.


Con l'Illuminismo propongono iniziato lo residenza sistematico del civilization umano. Dal 1936 bugs 1950 le redini di Vygotskij visiera bandite. Venne procura fondata ricevitore 1920 a Varese. Ammesso fosse Scuola Normale Superiore vitelle 1933, ricordi per tramviaria tempo strutturali ai surrealisti, [b]giochi bambini[/b] di consulenti iniziative durezza movimento utenze 1934. Oggi la elegge studia le [i]giochi flash[/i] umane e le istituzioni, aspect largamente filosofiche metodo comparativo. Ma paladini osservazioni, manie detto, ottenute molto generali, emise spie "Mi matematico che sviluppato possa megabit delle convalidano scelte" e "Credo dimenticare uccidere aronian persona, se mai necessario, nylon un giubbotti motivo".

The comments to this entry are closed.