May 28, 2004

A Reader Writes, A Writer Screeds
Posted by

A reader wrote me today, asking about some geek-related subjects. Most of the message was personal, so it's not important to go over it here, but he did ask:

I see that you've gone to the dark side with ASP rather than choosing goodness and light and Java and JSP. I assume your clients don't really care about the underpinnings, true?

Naturally, that prompted a bit of a screed, even though he was clearly writing in jest.

The argument about ASP.NET-JSP-PHP-ColdFusion-Apple-Oracle-SQL Server-MySQL-ETC. is a lot of crap. Businesspeople don't know what the differences are, and they couldn't care less. If you try to explain it to them, their eyes just glaze over, and they change the subject to the NFL or NBA as quickly as they can. Outside the geek community, this couldn't be less of a concern.

I live in the .NET world because I've always been a Microsoft guy. I started programming 20 years ago in BASIC, then moved into the various flavors of Access and Office VB, then into VB for desktop apps, and VBA for office automation, then to ASP when IIS came out. All the other languages I learned in college in the early 80s, like COBOL, ADA, Fortran, Pascal, and RPG are all dead now.

Heck, in 1982, when I started college, I was programming in RPG with punch cards on an IBM System 64. Practically everything I learned in college about computers, aside from general principles, turned out to be a complete waste of time and money, investing in what were already dead technologies.

The economics courses turned out to be a far more lasting contribution to my knowledge. All the computer stuff I've learned since then, I've had to learn on my own, because the technology kept--and keeps--changing. The early 1980s were a bad time to be learning computer science. The revolution was coming and the old regime was swept away.

But, VB survived, became a real native machine-language compiled product, and now has transmogrified into .NET. Maybe if PHP or JSP did something that the MS products didn't I would switch, but, frankly, with .NET there's a whole world of true object-oriented programming, complete with thousands of useful namespaces and web services that no one else has. I can do stuff with .NET right out of the box that I don't see happening anywhere else. I'm lazy, I know the technology, and it has all the bells and whistles I need, especially since it now incorporates polymorphism, inheritance, and all the rest. Frankly, I think .NET is a revolutionary change in the way programming is done, and no one at all has anything like it.

There's a reason why MS products are so widespread, and it's not because thick-necked Microsoft goons are threatening people with grievous bodily harm if they don't use Microsoft stuff. I just don't buy into the idea that, say Scott McNealy or Steve Jobs are better people than Microsoft or their corporations are somehow more oriented towards goodness than Microsoft. Corporation are corporations, and they all do business in more or less the same way. It's not like Larry Ellison spends half his busness day feeding widows and orphans.

Look, I've spent plenty of hours sitting before a Sun Enterprise server hacking away at the command line. If I wanted to do that, I would've stayed with DOS. I could've spent the last eight years hacking away at the command line for Oracle databases, or using SQL Server's graphic interface to drag and drop relationships.

Guess what I chose? Did I mention I'm lazy?

And, let's face it, Windows is the standard desktop OS. Like it or not, the real world needs a natural monopoly on the OS, so that training, networking, etc., can all be standardized across the enterprise, and with their customers. As it happens, Microsoft won that battle. So why not stick with that same manufacturer's products, and do work that can work essentially universally?

The customer tells me "I want a database that stores X data, and I want to present it on the web." At the end of the day, if I do that, and meet or exceed the specs, then, "mission accomplished". The customer doesn't give a damn about how it works. That's what he's paying me for. If he wanted to be a geek, he'd go out and buy horn-rimmed glasses and a pocket protector.

Before ASP, I used ColdFusion v2.0 to do database stuff. Now, I use ASP.net, and it doesn't require I learn a whole new markup language to use it.

Did I mention I'm lazy?

It's the same when I do desktop apps. Sure, I could spend 8 months or so writing a nice little C++ program. Or I could spend 2 and do it in .NET. I'm sure the C++ program might be faster, or a tiny bit better in some other way.

So what? The guy who's footing the bill for this at $125 an hour is gonna have a really strong preference for the 2-month solution over the 8-month solution, especially if, when all's said and done, he, as a user, won't be able to see any real difference. If the question is between paying for 2 months of work for a 98% solution, and 8 months for a 100% solution, the customer will always, always choose the 98% solution.

My basic position is, 1) use the tools you know best and can work in the fastest, and 2) meet or or exceed the customer specs. All other concerns are pointless quibbling about how many angels fit on the head of pin, and are only of interest to the hard-core geek crowd. Your customer wants a quick, effective solution, not a long conversation with a Java technology messiah.

Are you really good at ColdFusion? Then you go to town, baby! Make your customer happy with it!

But don't bore me any talk about how Macromedia has revolutionized CFML with its ColdFusion MX, and, by the way, Bill Gates has sex with goats.

I just couldn't be less interested.

TrackBack

Comments

Yep - technology is irrelevant; what's relevant is the design and maintainability of the program.

Code shouldn't be obscure. It should be simple, kept in small, understandable chunks, and the underlying database locked tight. That's completely language independent. And, I'm in full agreement - why take 8 months to write something when it can be done in 2?

And the rest of it goes "blah blah blah," I know.

<CFLOOP>That being said, I've yet to meet anyone who's "really good with Cold Fusion."</CFLOOP>

And that being said, I had NO web coding experience and still managed to display interactive data with Cold Fusion in less than a day.

Can someone pay me $125 an hour, please?

hln

Posted by: hln at May 30, 2004 06:54 PM

COBOL is dead? Someone better let the business world know, because there are still millions of lines of code being used every day.

It might not be growing, but it's a long way from disappeared.

Posted by: Ted at May 30, 2004 09:43 PM

Well, it's dead in the, "Hey, I've got an exciting new COBOL project I'd to get started on!" sense.

It lives on in legacy systems mainly because it would cost too damn much money to replace X million lines of COBOL code.

Posted by: Dale Franks at May 30, 2004 11:54 PM