Programming language life expectancy
The Lindy effect says that what's been around the longest is likely to remain around the longest. It applies to creative artifacts, not living things. A puppy is likely to live longer than an elderly dog, but a book that has been in press for a century is likely to be in press for another century.
In a previous post I go into the mathematical detail of the Lindy effect: power law distributions etc. The key fact we need for this blog post is that if something has the kind of survival distribution described by the Lindy effect, then the expected future lifetime equals the current age. For example, the 100 year old book in the opening paragraph is expected to be around for another 100 years.
Note that this is all framed in terms of probability distributions. It's not saying, for example, that everything new will go away soon. Everything was once new. Someone watching Hamlet on opening night would be right to speculate that nobody would care about Hamlet in a few years. But now that we know Hamlet has been around for four centuries and is going strong, the Lindy effect would predict that people will be performing Hamlet in the 25th century.
Note that Lindy takes nothing into account except survival to date. Someone might have been more bullish on Hamlet after opening night based on other information such as how well the play was received, but that's beyond the scope of the Lindy effect.
If we apply the Lindy effect to programming languages, we only consider how long they've been around and whether they're thriving today. You might think that Go, for example, will be along for a long time based on Google's enormous influence, but the Lindy effect does not take such information into account.
So, if we assume the Lindy effect holds, here are the expected years when programming languages would die. (How exactly would you define the time of death for a programming language? Doesn't really matter. This isn't that precise or that serious.)
Language | Born | Expected death |
---|---|---|
Go | 2009 | 2025 |
C# | 2000 | 2034 |
Java | 1995 | 2039 |
Python | 1991 | 2043 |
Haskell | 1990 | 2044 |
C | 1972 | 2062 |
Lisp | 1959 | 2075 |
Fortran | 1957 | 2077 |
You can debate what it even means for a language to survive. For example, I'd consider Lisp to be alive and well if in the future people are programming Clojure but not Common Lisp, for example, but others might disagree.
"We don't know what language engineers will be coding in in the year 2100. However, we do know that it will be called FORTRAN." - C.A.R. Hoare