Surviving the Programming Language Dead Pool
I have been writing code professionally for about 20 years now. Here is an homage to the programming languages that I used to be friends with but have lost contact (no love lost). In chronological order:
- Atari 800 Basic
- DEC Fortran (written on a DEC Writer, no terminal!)
- DEC Pascal
- DEC COBOL
- Mac Hypercard (on a Mac Classic, circa 1988)
- Mac Filemaker
- MVS 360 Assembler
- MVS COBOL
- Borland Turbo Pascal (my introduction to OOP)
- Borland Turbo C++
- Microsoft C
- Microsoft GW-Basic
- Visual Basic 1.0 up to .NET
- Visual C++
- C#.NET
- Sybase Transact-SQL (which turned into Microsoft Transact-SQL)
- Borland Paradox
- Powerbuilder (this is getting embarrassing)
- Java (J2EE, JSP, Struts, blah, blah, blah)
- ASP 3.0 and ASP.NET
I won’t mention the various third-part IT tools with their own proprietary scripting languages which I would rather forget about.
Now, here is the live list of programming languages and technologies:
- PHP
- MySQL (and yes, Mr. Morris…PostgreSQL)
- HTML, XHTML, XML, all the MLs
- CSS
- Javascript
- (and if you pay me enough I will do .NET and SQL Server)
Things Change Fast!
One thing I have done right is to keep abreast of changing technologies. I’m always learning. This is one reason I have had some moderate success in my career as a developer and have not gone the way of the COBOL dinosaurs.
I look back and laugh thinking about the paradigm shifts that promised to change the world: client-server, three-tier, n-tier, Java write-once run anywhere (croak), SOA, and on and on. Front-end and middle-tier technologies seem to change every three years or so. But throughout my career there is one thing that has pretty much remained the same: relational databases.
Show Me the Data
I started using SQL back around 1994 with Sybase. I can say that every month of my life since 1994 I have been writing SQL code. The actual databases have been different–Sybase, MS SQL, Oracle, DB2, MySQL–but the standard language and more importantly the logical design of relational databases have remained the same.
I learned something early on from either Martin Fowler or Joe Celko or one of those other hard-core relational dudes:
Show me the data and I will understand the application.
I have definitely found that to be true. Whenever I write an app I start with the db design and whenever I am trying to figure out somebody’s code (happens a lot), the first place I look is at the db.
How Long Will SQL Last?
I think SQL is here to stay for a long time. The APIs are changing and web scripting is starting to move away from talking directly to the DB. However, when it comes down to actually storing and retrieving the data you’re going to be using SQL, probably MySQL or PostgreSQL nowadays if you’re on the web and MS SQL, Oracle and DB2 in IT.
Are you starting in your career as a developer? My advice, learn SQL and try to stay ahead of the curve with everything else.
P.S. HTML deserves an honorable mention as the technology that has lasted and will continue to last for a while.
What programming languages are in your dead pool?
Does your website need an extreme makeover? My advice is "keep it simple". Get an affordable facelift and use WordPress to free you up to manage your own content.
My name is Rick Tuttle. I'm a web developer living in Miami Beach, Florida. After working in the corporate IT industry for over 15 years I ventured out to start my own little web shop, Papasoft in 2005.
Comments (6)
Thanks for the mention. And I agree that SQL is here to stay, just like COBOL. But for different reasons. COBOL has bulk and easy learning The numbers vary but everyone needs to read an issue of DR. DOBB’S last year about COBOL legacy code and why you need to maintian it
SQL is here to stay because
1) it has a Standard that makes it portable; yes, there are dialects, but core Standard SQL ports
2 ) It is a declarative functional programing language that an works with parallel multi-processor chips and systems.
3) It has a commercial code base. Not as big as COBOL, but it is there.
Joe, thanks for being one of the pioneers who made SQL so powerful.
I’m not sure if I got the quote right above but I did get the point. It’s all about the data.
P.S. I linked up your name to your site in the post. Should have done that before.
Great article.
Some things to keep in mind.
That’s a funny one for me, since I went right from Fortran in college engineering (yes and some annoying Basic), to at least a 10-year-gap where I tried to forget computers ever existed, and then started in to learning PHP and Javascript when the WWW came about. So I don’t have a long dead list. I guess I can include a brief flirtation with ASP and Visual Basic. Except, for some stupid reason, I did a few Access applications years ago, and the original customers keep coming back to me, BOGGLING my mind that they are still using that old app. Which means I even had to use some VBA as recently as last year. Ugh…
Yes, I count SQL among those languages here to stay, although I sometimes wish we could clean up its cruft and redirect it more toward clearly reflecting the relational model.
My current live list:
SQL
PHP (it’s a workhorse, but staring to bore me)
C (just a sprinkling here or there really speeds up some applications)
Javascript (especially with the jQuery API)
Ruby (fun but slow)
Python (not quite as fun as Ruby, but fast!)
Languages I want to start toying with:
Lua (waiting for a good Apache module)
D (an attempt at a next-generation version of C/C++)
BTW Tuttle, I notice you listed MySQL twice. I’m guessing you meant for PostgreSQL to have the top position, right? Right?
Thanks for the proofread Mr. Morris. You were an English major, were you not?
BTW, I have you to thank for introducing me to PHP. Remember, we were on this awful ASP (1.0) project circa 1998 and you said something like, “have you ever tried PHP?”
Game over.
One of the many reasons I value your friendship.
You’re welcome. I think it was 1999, actually.
But did you HAVE to remind me about that nightmare ASP project? I think that’s the closest I ever came to a heart attack.