Ask HN: What software technologies will still be around 20 years from now? - billman
======
sdevonoes
That's easy: Python, Java, C++, HTML, JavaScript, CSS, PHP, SQL, Postgres,
MySQL,...

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
I'd actually bet against Java and C++.

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.

~~~
ncmncm
This is the silliest thing I have read in a long while (albeit partly because
I don't read Paul Graham anymore).

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.

------
idoh
Reminds me of the Lindy Effect,
[https://en.wikipedia.org/wiki/Lindy_effect](https://en.wikipedia.org/wiki/Lindy_effect).

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
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.

------
gregjor
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.

------
robodale
Wordpress. Downvote me, but you know it will be there 20 years from now.

~~~
muzani
By 2040, WP will be used for e-commerce, CMS, and building MMOs.

~~~
gitgud
WordPress OS... Has a nice ring to it!

------
rasikjain
Most of the tools/languages which are used heavily in enterprise world will
continue to exist.

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
Unix. Linux. Python. Emacs. Vim. Databases. SQL. Bash.

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
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.

------
semicolonandson
This is the core question I'm focusing on in the learning curriculum of my
screencasts
[https://www.semicolonandsons.com/about](https://www.semicolonandsons.com/about)

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
All of these are just guesses.

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
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.

------
olmideso
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.

------
larrykubin
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.

------
AnimalMuppet
Embedded systems, running either Linux or an embedded OS, programmed in C or
C++ or Rust.

------
giantg2
You can bet there will be some company or government system still running
COBOL.

------
fasterpython
Java, probably, considering the billions of devices that run it.

------
tomjen3
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.

------
wilsonnb3
IBM has maintained backwards compatibility with OS/360 for like 50 years now
so I think that is a pretty safe bet.

~~~
non-entity
From what I hear the compatibility is insane. Apparently unmodified OS/360
binaries run the same on a recent z/OS mainframe.

------
dave_sid
Hopefully not Facebook and Twitter

------
modal-soul
Emacs and some Vi-likes. Some people are very attached to their editors and
their configs.

------
scott31
Python 2

Which is a shame as many would have migrated to Python 3 if it was turing
complete

------
Trias11
Python.

It will start making it's way deep into hardware

------
tboyd47
HTML, CSS, and JS

------
kirankn
I would say, functional programming for sure.

------
s1t5
Not being facetious here, I'm genuinely asking - does it matter at all? What
difference does it make if something will be used in 20 years?

~~~
billman
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.

~~~
matt_s
Those specific technologies may not have lasted in those formats but OO
techniques and patterns in them will persist for a long time like
ModelViewController and its variants.

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.

------
talleyrand
Vim.

------
zerr
C++

------
physicsguy
Fortran

~~~
7thaccount
Yep, just in a lot fewer places.

