Friday, May 25, 2007

Not quite dead

In a recent article Computer World lists the "top 10 dead (or dying) computer skills", some of the spots on the list I agree with but some I don't.

One that I totally don't agree with is number six, "C programming". Anyone who claims that the C language is dead or dying simply doesn't see the software industry for everything it is and doesn't understand how many different kinds of software there is out there.

Fine, you might not see the latest snazzy web applications from Google being written in C or even a huge amount of desktop-applications for that matter (even if I believe that quite a lot of the Linux/Unix-apps are written in C, the Linux-kernel for one). But that doesn't mean there isn't a shitload of software everywhere around us written in C.

To my knowledge most embedded software is written in C. Things like controller software for household appliances, cellphones and such things, devices like that all have a fair chunk of C spinning through their circuits.

Another great example is GNU/Linux-software. The Linux-kernel is written entirely in C I believe and so is most of the apps that make up the GNU-toolset.

So basically, C is not dead or dying. Claiming that almost makes you an idiot.

The claim that the languages Cobol and ColdFusion are dying however, I can basically agree with that. They're not dead though. I don't think it's fair to pronounce a language like Cobol as dead since there is still so damn much software out there that's written in this archaic language.

The reason there's still many mission critical pieces of Cobol code, or any dying language for that matter, running out there is simply that there are a heck of a lot of legacy systems that haven't been upgraded, rewritten and so on. The reason for that is, in my experience, that most companies are cheapskates.

Rather than invest the time and money in upgrading an ancient system they have their developers spend time on patching the system with horrible work-arounds and crappy add-ons just to keep it going. If anybody were to suggest a complete redesign and rebuild of an existing system somebody close to the company's finances probably would say "Why? It still works, doesn't it?" and shut it down with a suggestion of patching it some more if there are any problems with it.

Pretty much the only thing that'll convince the people at the top of the company food chain that a new system needs to be developed is if the old one crashes and burns completely. When that happens though, the software people are most likely to be blamed for it and having a shiny new software bundle in place and up and running will be something that will be expected of them in a snap more or less.

I really wish that the people handling the money in companies that rely on IT for their business had a little more knowledge as to what IT and software is about and how it works. That way we'd see less and less of things like medieval systems running Windows 3.11 software patched into oblivion, and I can guarantee you that most developers would me happier with putting in some extra hours building something new and exciting than spending their days fixing and working around the short-comings of ancient code bases.

No comments: