I’m currently learning Python (on Windows 10) to develop web apps in the Azure environment. But I have a question about the future of Python.
How long do people think Python will be commonly used in the future? Does it have another 10 years? 20 years left?
Perl (which I used to use) worked well for general programs but it was very difficult to support UTF-8 encoding, and as a tool for web apps I believe it had some security problems, via CGI scripts I think. (I did not make web apps with Perl.) Thus it was replaced by other tools.
Forums for Perl seem mostly dead now. At least I cannot find any that are real active like in 2001.
I doubt that python will go anywhere anytime soon. Computer Science is a young field, but I would certainly measure the projected lifespan of python in decades, like 50 years at least, especially if you consider legacy systems. Fortran is still around after all.
I’m sorry, answering this question accurately would require unauthorized use of a time machine, and I refuse to admit to having done anything of the sort.
But based on available data as of 2024 and making plausible projections forward, we can expect a minimum of [REDACTED] additional days of popularity. After that, the Paradoxical Secret Forgers (not to be confused with the otherPSF) will create a brand new deception to allow people to think that it is the year 2019 and Python 2.8 is just around the corner. I further predict that fewer than 1% of users will believe this when it is announced.
Of course, you can ignore all of this and just trust that, since a fairly vast number of people are using Python today, there’s a pretty good chance that it’s going to be further developed for the next decade or two at least. Python is used by sysadmins, statisticians, AI researchers, text manipulators, scripters, and myriad other groups of people, so there’s a wealth of momentum behind the language.
The wide use of Python, of course, reflects to some degree its good design as a programming language. If it is eventually supplanted by a yet-to-be-designed newer programming language, that new language may incorporate some of the best features of Python. Then, by learning Python now you will have already begun to learn something about that new language before it even exists.
Let’s assume python only has 1 year before it is put beyond use.
What are you planning to move development to?
How do you know that your new language choice has a future?
With Python being a superb programming language, we can of course use it to write code that will reliably predict the year of emergence of its own successor
The following Python function may be precisely the tool we need.
def year_creation_Python_successor(year_creation_Monty_Python_successor):
# reliably predict the yeaar of creation of the Python successor
year_creation_Python = 1991
year_creation_Monty_Python = 1969
year_gap = year_creation_Python - year_creation_Monty_Python
return year_creation_Monty_Python_successor + year_gap
Of course to use the function properly, we will need to be aware of when a new comedy troupe emerges that is at least as funny as Monty Python. AFAIK, that troupe does not yet exist. All of you Python users who are located in London, please be sure to alert us when someone is observed walking down the street with silly strides, at least as silly as those seen outside the Ministry of Silly Walks.
But let’s hypothesize the appearance of a Monty Python successor this year.
# Assume emergence of a new Monty Python Flying Circus this year
print(year_creation_Python_successor(2024))
Output:
2046
So we can safely assume that Python will reign supreme until at least the year 2046.
IMHO I think Python will be around for a long time.
BTW that GitHub chart shows Java is 2nd most popular to Python [??]. The SO results are interesting - they are based on slightly different metrics for popularity (if you can define that).
The current stable release of Perl is 5.38. Perl 6 was the announced successor to Perl 5 in the early 2000s, but was an even bigger departure from Perl 5 than Python 3 was from Python 2. Development lagged and reception of the proposed language was, as I recall, lukewarm. As a result, Perl 6 (which never really caught on, if it was even released as such) was rebranded as Raku in 2019. (There was also a now-defunct plan to release a Perl 7 based on first 5.32, then an unspecified 5.x release, which was subsequently cancelled.)
So Perl is still around, but I think decidedly less popular than it once was. (Or at least, it was eclipsed by Python and Ruby over the course of the early 2000s.)
According to Laplace’s rule of succession the probability of Python being replaced next year would be about 3%, if we had no other evidence either way. “But this number is far smaller for those who, seeing in the totality of phenomena the principle regulating Python’s ways and reasons, realize that nothing at the present moment can arrest the course of Python.”
Perhaps – when Python matures, when the type system has become more intricate and complex than Haskell, and Python itself has finally become a real esoteric language, someone will at last write a Python interpreter in brainf**k (or vice-versa)
Python has already been around for 30 years and has grown to be one of the most popular languages around. The shear weight of code depending on python and python libraries is so vast that there could not be a mass movement away from python even if that is what its users wanted.
Really python is more likely to still be around and popular 20 years form now than any other language I can think of.
Now whether it is the best language for developing web apps is another matter…
That’s rare. Perhaps the same could be said of C in the 1980’s (notwithstanding competition from Pascal) or FORTRAN in the 1960’s (notwithstanding competition from COBOL). Perl was a popular scripting language in the 1990’s, but it wasn’t close to Python’s current popularity as an “anything” language. Python is even making inroads into niches that don’t make sense for a scripting language: the people I know who do FPGA synthesis use MyHDL (Python) instead of Verilog or VHDL, in embedded systems, MicroPython is gaining on C, Pyodide and py-script instead of JavaScript on the web, etc.
If anything, we’re in an era of Python monoculture…