Programming Languages - Part 1: Lifespan of Languages
Posted by Charlie Recksieck on 2019-11-14
How Long Do They Stick Around
As I started writing this post, it ballooned into a 2-parter. And it occurred to me that what we really have to do is try to figure out what the lifespan of relevance is for programming languages. So here in Part 1, lets try to figure out how long a language is supposed to stick around.
NOTE: If you’re not interested in hearing about the histories of each language below, then perhaps just jump down to the Our Average Lifespan Is ... section below to get the bottom line, then you’re ready for Part 2.
TIOBE Index - Measuring Popularity/Relevance
The TIOBE programming community index is a measure of which programming languages are allegedly more popular. It’s not a very sophisticated measurement, it’s just a historical record/ranking of search engine lookups of each programming language.
Despite its flaws, it’s at the very least a good general measure of the popularity of programming languages (and job searches).
Again, what we’re trying to do with this article is to get closer to figuring out what the lifespan is of different programming languages. Legacy languages always have SOME value; old IBM punchcard computers were still being used in the year 2000, but that doesn’t make them relevant.
The TIOBE index would be a good way to go, but I don’t have access to all of their data over time. Yet there is another incredible reference available; at the bottom of this Part-1 article I’ve embedded a time-lapse video of Top 10 popular programming languages over a long period of time. It’s from "Data Is Beautiful" who does fantastic time-lapse timelines of all kinds of subjects, check them out sometime: (Data Is Beautiful)
So let’s define software language relevance in terms of years in the top 10 of the Data Is Beautiful timeline in a given year. Sound OK? Good. Let’s continue.
Famous Historic Lifespans
FORTRAN - Invented ~ 1957, popular in 1960s and 1970s, end of relevance 1998 (33 years in Top 10)
First big compiled language (written in human English then compiled into code), was big in the punchcard era. Started to wane by the time of object-oriented programming but still is used plenty in the sciences.
LiSP - Invented ~ 1958, popular in 80s-90s, end of relevance 1995 (26 years in Top 10)
I have some history with LiSP since my first professional coding job involved a lot of AutoCAD programming, and LiSP was a huge part of it. I still have dreams about so many parentheses from a deep exposure to LiSP. It really has a long history, being the historically 2nd big compiled language right after FORTRAN. Its usage as measured in the TIOBE Index dropped off a cliff (from #3 as late as 1989 down to #14 just ten years later, and down out of the top 30 now); it already felt irrelevant for even the most old-school programmers by around 2005. It had a great run.
COBOL - Invented ~ 1959, popular in 70s, end of relevance 1995 (33 years in Top 10)
Was developed for business (the "B" in "COBOL") and was huge in large-scale bookkeeping and insurance enterprises. It was such a legacy in accounting code that "financial institutions had to pull COBOL programmers out of retirement to dig into their old code and rewrite around the Y2K problem." It’s still used in a surprising amount of organizations in the 2010s, including many governments and agencies.
PASCAL - Invented ~ 1968, popular in 1980s, end of relevance 1994 (14 years in Top 10)
Was one of the first languages I learned in the 1980s and its popularity was already waning then. A great teaching language back in the day, and was nice if you had an Apple II E.
Perl - Invented ~ 1988, popular in mid-to-late 90s, end of relevance 2009 (17 years in Top 10)
It had its day. Popularly used in CGI (or command-line) scripting. Somehow gotten pitted against Python as rivals, and Python won. Of course, this language is still used - but since it’s out of the TIOBE Index top 20, I don’t want to encourage you to learn it - or deploy it unless you have a good reason to.
Visual Basic - Invented ~ 1991, popular in Y2K, end of relevance 2012 (17 years in Top 10)
Not to be confused with Visual Basic .NET which is going strong. It was a Microsoft invention and kinda familiar if you were old enough to have coded in Basic. I feel safe in lumping in Visual Basic for Applications (VBA) here, which is a similar (yet slightly different) version that came embedded in lots of major applications (Access, Excel, AutoCAD, ArcGIS, etc.). There is a lot of VBA code and tools working as a backend in lots of Excel spreadsheets out there, so it’s still a little useful to know. But Microsoft retired all versions of it in 2008. R.I.P. Visual Basic (1991-2008).
BASIC - Invented ~ 1964, popular in 1977, end of relevance late 1980s (33 years in Top 10)
Good in its day when NASA was sending people to the moon, to the point that Microsoft and HP were developing around it. But sooner than later, it was supplanted by object-oriented languages. Even though it was huge at the time, nobody really needs to even deal with this anymore except for the rarest of legacy systems.
Lifespan Of Currently Popular Languages
C - Invented ~ 1972, Currently 2nd most popular language (44 years in Top 10 and counting)
Great language for systems programming and web. Its syntax is similar to subsequent, related languages like Java, C#, PHP, among others. Since it’s so big in operating systems and resultingly called by other languages and becuase the number of its commands are fairly small making it relatively easy to learn, this is still pretty relevant. Windows, Linux, Mac and mobile operating systems all use it, so I think you only totally ignore C at your peril.
My Outlook: It’s not as sexy as some. If your company is looking for people who know C, it’s not because you want to start new projects in C, it’s more likely because you have existing code you need to support. But it’s a good thing for a developer’s toolkit.
C++ - Invented ~ 1980, Currently 4th most popular language (39 years in Top 10 and counting)
Really lightweight (as compared to C#) so it runs faster. Its market share was dwindling since a heyday around 2000, but then the C++11 version really brought it back strong.
My Outlook: Not sure it would be the first language I recommend to a 19-year-old aspiring developer, but you could do a lot worse.
Python - Invented ~ 1991, Currently 3rd most popular language (18 years in Top 10 and counting)
One of the easier programming languages to learn, possibly because it looks so clean. It also has a pretty extensive library of commands which gives a LOT of native tools to programmers (although that then means there are a lot of commands to learn/master). It’s terrific since it doubles as a front-end AND back-end language (you can make websites with it or use it in the background to power websites with data & logic).
My Outlook: It’s also heavily used in fields like AI and Big Data. All trends are still pointing upwards.
Ruby - Invented ~ 1995, Currently 11th most popular language (15 years in Top 10; no longer)
Not to be confused with "Ruby On Rails" which is a late 2000s web framework that uses the Ruby language. Ruby is another "high-level" language (the higher the level, the more it looks like human English); in fact, one of its stated goals is to make coding in it "enjoyable."
My Outlook: Yes the language still will persist, but I have the perception (perhaps wrongly) that the need to support Ruby On Rails web deployments is what’s keeping the need for Ruby alive. It’s pretty neat, although I feel like (again, could be wrong) that it’s not taken as seriously as other languages.
Java - Invented ~ 1995, Currently THE most popular language (24 years in Top 10 and counting)
Sun Microsystems brought us Java in the mid-to-late 90s. It’s tempting to think of Java in terms of plug-ins and applets to run specific functions in browsers, but it’s so much more far-reaching and versatile. The code itself looks a lot like C, and it’s not too hard of a learning curve to go from C to Java or from Java to C. Java can write whole applications, or small modules within code in other languages. Java can be run on a server or client-side.
It’s more or less been the #1 language for developers and company usage (thanks to the web) since 2004. It’s hard to imagine Java going away soon. And if you’re a budding developer, there always seem to be jobs available for Java folks.:
PHP - Invented ~ 1994, Currently 8th most popular language (21 years in Top 10 and counting)
PHP is a server-side language, commonly used to produce HTML files. So PHP code is really robust, can do all sorts of logic, and read info from so many places ... then it produces HTML in a browser; the user is not able to look up or see the PHP code, just the HTML output part.
My Outlook: Python is purported to be taking a bite out of the PHP market, but so far PHP is still being used as the primary server-side programming language for over 80% of all websites. It’s gonna stick around, at least for a while.
C# - Invented ~ 2000, Currently 5th most popular language (20 years in Top 10 and counting)
Full disclosure: C# might be my favorite language, though that’s largely because I find myself using the longest and most frequently for my projects. It’s a player in mobile development, been a big part of web development and it’s even bigger in the development of Windows desktop applications.
My Outlook: It’s not going anywhere for a while, especially in Windows apps - C#.net feels like it might be losing ground to things like Python & Go for web.
Typical Relevant Lifespan For Languages In History
Looking at the more longterm but now-legacy languages listed in the upper section (meaning their best days are behind them, so we have end-of-relevance endpoints), it seems like 24 years was more of the average. There is one thing obvious about the era of the 60s and 70s though - how often was there really a new imporant coding language? It was much rarer than modern development.
As for the ones that are still going strong, we have listed how long they have been in the our Top 10, averaging 25 years each on the charts.
There’s also something important to remember. Everything we covered above are languages that really did catch fire and were dominant programming languages at some point in time. We are excluding flashes-in-the-pan; I’m looking at you Delphi & Matlab! If you talked to certain people in 1996 or 2002, you would have thought those 2 languages were going to be right alongside C#. They weren’t. Delphi has 9 years of Top 10 relevance, Matlab 8 years. And in looking at the 2nd-tier languages, like in the bottom half of the TIOBE Top 20 - their 15 minutes of fame was a lot shorter than that 8-9 years.
Our Average Lifespan Is ...
Let’s say it’s 25 years for dominant languages and 5-6 years for less seminal languages.
Now what? What does that mean to us? We’ll pick that up in Part-2 next week.
- Great info and really inventive parallels of "linguistic equivalents", e.g. comparing FORTRAN to classical Greek Click here
- This includes the "Lindy effect" definition John D. Cook