A better question would be: what software technologies will not be around 20 years from now? My bet: Babel, npm, Vue.js, React, Angular, Zend, most of the SaaS/IaaS we know and use, Kubernetes, Visual Studio Code, ...
C++ is no longer taught in CS degrees where I live, and not offered for jobs. At this point, it doesn't really do anything much better than other options.
Java is being replaced by Kotlin officially in Android docs. But the big thing is that people are actively converting Java code to Kotlin, which you don't see being done with PHP, MySQL, COBOL and so on. And the resurgence of functional programming benefits Kotlin over Java.
They might still be around in legacy systems, but maybe not in the front line manner that JS and Python will be.
In 20 years no one will even recognize Kotlin's name.
But C++ will be going stronger than ever. Why? It is absolutely exploding right now, even though it is 40 years old. Attendance at conferences for C++ (until lockdown, of course) was through the roof, with C++ conferences multiplying to try to absorb the overflow. Attendance at each of the ISO Standard C++ conferences in the last four years has exceeded that at all previous meetings.
Essentially all of the highest-paid development in Fintech, CAE, telecom, aerospace, semiconductor simulation, HPC, and neural AI is done exclusively in C++, for reasons.
Java will still be trundling right along, not for any good reason, but just because it is a steady job with light demands.
I could maybe see some Java projects switching to Rust if anything. Especially for infrastructure projects like Cassandra where performance matters a lot, and where GC pauses are problematic.
So, things that are old but still around are more likely to still be around: Unix, SQL, emacs / vim, fan-favorites lisp and forth ...
Web / CSS frameworks / mobile frameworks are less likely to be around.
Relational databases will be around forever. The nature of data does not change. Relational data will always be a good fit for an RDBMS.
I think skill in low level languages like C will have less market share in the job market, but always needed. It could be a lucky financial boon for people who have these skills, as they will be a rare commodity.
Almost everything presented as something new in the software development field actually just retreads something from the past. Truly new ideas and techniques come along rarely.
e.g
Java / C#/ C++ / JavaScript / Python
Oracle / SQL Server
Unix / Linux / Windows
SAP / ERP Systems / Mainframes / Cobol
Apart from this, We will see lot of changes the way we do development. We will see lot of improvement in automation / No Code / RPA etc
Now for the losers:
Web browsers will be gone. Windows will be gone. JavaScript will be either a painful legacy language or have been transformed into something entirely different. JS frameworks will be an anachronism that old programmers chuckle over while drinking beers.
Windows - this one definitely not going anywhere, there is just too much software built for it. Windows 7 which was last updated 6 years ago is still widely used. So there are no premises that Windows 10 or its successors is any different.
JavaScript - while currenty popular frameworks are quite likely to disappear and their best practices and functionality incorporated into the language, the core language is unlikely to go anywhere. Even things like WebAssembly are developed as a complementary part to JS, not as a replacement. Maybe we will see a wider adoption of things like Typescript, but JS still will be underneath them.
I'm betting on
- unix-like systems
- SQL-like systems
- vim
- "core" aspects of programming languages (data types, algorithms, operator precedence, etc.)
- HTTP protocol
- program design
- security
Niche stuff:
- Lisp, in some form or another will continue to exist.
- Forth will continue to exist because it is possible for a single person to revive it.
Common stuff:
- vi/vim will live on. I will stop typing if it doesn't.
- JavaScript is probably here to stay.
- Java seems like a safe bet for longevity.
- Spreadsheets. Maybe not Excel, but spreadsheets will live on.
I don't think they're going away either, but I think there's a lot of value to be unlocked by teaching non-developers how to build basic applications to support their business processes.
As for new technologies I would expect them to appear and take the niches where current technologies are not good enough. Take C++ vs Rust for example: the former is quite bad in terms of security and the latter is good at that. So Rust will become more popular in writing security critical applications and web services. But C++ seems to be good enough for things like high performance/scientific computing so it will be still widely used there.
Which is a shame as many would have migrated to Python 3 if it was turing complete
There may be some cool new tech that comes out with a neat pattern for solving a problem, we need to identify that pattern and re-use it.