Wednesday, September 16, 2009

Why Do Programming Languages Die?

4[1] I’ve often wondered why programmers seem to be in a hurry to declare what they’ve spent so much time and effort on as “obsolete”, “passe” and “old” as soon as the next buzzword language pops up.  I liken this to getting a screwdriver and immediately saying “well, I won’t be needing those wrenches anymore.” 

Logic would usually dictate that we add the new to the old, and expand our arsenal of logical tools (and our resumes) to enable us to tackle a broader range of problems.  But we don’t.  We “move on”.

The first programming language I ever touched was COBOL.  That was in my 2 year school, going for my AAS degree.  We spent a few weeks covering “first, second, and third generation” programming languages.  GBASIC, FORTRAN, ADA, C, PASCAL, and everyone’s favorite of favorites: Assembler.  Hold on, I have to close my eyes, take in a deep breath and sigh with a dumb post orgasmic smile for a minute, just a sec…

ok.  I’m back.  Where was I?  Oh yeah…

At the end of that educational stint I became immersed at work in an effort to break free of the shackles of what a west coast programmer had bound us to, which held us back due to region-specific focus issues.  Nice way of saying he was only concerned with making it work for his users out in Oakland.  We had different needs and “he” (they, actually) weren’t listening to us.  So, I got curious and dove into teaching myself AutoCAD R10 and AutoLISP, ADE and DIESEL, etc.  That led me on a long path of programming, and more languages.

What seemed odd to me was that the common view in meetings, classrooms, conferences, and media, is that once the new thing is out, the old has to be left behind.  After all: it’s old.  We treat people like that in America too, but that’s for another discussion.  I learned other languages like VB, VBScript, JavaScript, C++, Java, SQL, KiXtart, and onto XML, HTML, XSLT, CSS, PHP, ASP, VB.NET, ASP.NET, PowerShell, and whatever.  Who really cares.  I never let go of any of them and more often than I ever expected: I was hit with a task that required me to put other hats on and go in to fight the fire.

If you’ve been programming for more than ten years, think back on what languages you have ever used in the past.  Ever used.  Even played with.  What do you miss about them?  Is it syntactical?  Is it structural?  Is it extensibility?  Is it a nuance?  Or does it just remind you of a really crazy drunken party and someone’s underwear hanging from your car antenna?  Most of us feel like we’re always playing keep-up in order to avoid feeling (or being viewed as) “left behind” with respect to our peers.  It’s really a dumb, self-imposed angst.  Vendors keep pumping the hype to sell the next product line, and we go after the bait like trained fish.

Programmers all have their favorite languages, for whatever reason.  But, ask yourself why you no longer use that language.  What specific things led to you leaving it behind?  Would you want to use it again if the situation called for it?  Why?

Post a Comment