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.
The linux kernel for sure. Servers and smart phones. It may not conquer the business desktop soon, but the desktop is a smaller piece of the pie every year.
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.
Software technologies from 20 and even 40 years ago run today, and programmers continue using them. Looking at history the most likely answer to your question is “All of them.”
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.
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.
I think it's unlikely that everything you mentioned will be gone:
Web browsers - right now there is a trend towards unification and open source because the software is just to complex to build and maintain for most companies and I expect this will continue in the future. So we will have either same browsers(i.e. Chromium, Firefox) or some derivatives/forks.
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.
Spreadsheets is a really interesting one here. I'm extremely curious to see how No Code tools can be used in corporate environments to replace more advanced spreadsheet-driven workflows.
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.
5 years ago I would have bet on Lisp being replaced by JS. JS has a lot of advanced features, especially for functional programming, but nobody really uses it that way in production or teaches it that way.
I think every technology that's widely used today that requires some backward compatibility is here to stay for a long time.
Things like API/protocols are hard to move from.
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.
I started my career as a ColdFusion and Mainframe developer, and even those systems are still running today. Drupal was created 20 years ago, and I have worked on multiple Drupal codebases this year. I learned Django and Rails in 2005 or 2006 and both are still very relevant. So I would say there are too many to count.
Many of the software technologies that we have today is more than 20 years old: Java, C++, functional programming, automatic memory management etc are not going anywhere.
As I look back on my career, there have been things that I learned early on that I still am able to leverage today (i.e. bash, linux, vim, java). There are a slew of other technologies that didn't last (i.e. DCOM, Corba, J++, J2EE). If I'm going to invest my time in learning, I'd like to realize some return on time. Granted there are cool experimental technologies that I learn with the realization that they may not be around in a couple years, but I can plan/architect around that.
sdevonoes|5 years ago
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, ...
muzani|5 years ago
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.
robodale|5 years ago
idoh|5 years ago
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.
Foober223|5 years ago
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.
gregjor|5 years ago
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.
robodale|5 years ago
muzani|5 years ago
jagannathtech|5 years ago
rasikjain|5 years ago
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
stakkur|5 years ago
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.
olmideso|5 years ago
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.
muzani|5 years ago
gitgud|5 years ago
semicolonandson|5 years ago
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
frompdx|5 years ago
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.
bookshelf11|5 years ago
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.
muzani|5 years ago
olmideso|5 years ago
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.
larrykubin|5 years ago
AnimalMuppet|5 years ago
giantg2|5 years ago
fasterpython|5 years ago
tomjen3|5 years ago
wilsonnb3|5 years ago
non-entity|5 years ago
dave_sid|5 years ago
modal-soul|5 years ago
scott31|5 years ago
Which is a shame as many would have migrated to Python 3 if it was turing complete
Trias11|5 years ago
It will start making it's way deep into hardware
aaccount|5 years ago
[deleted]
tboyd47|5 years ago
kirankn|5 years ago
s1t5|5 years ago
billman|5 years ago
talleyrand|5 years ago
zerr|5 years ago
physicsguy|5 years ago
7thaccount|5 years ago