Settings

Theme

Ask HN: What software technologies will still be around 20 years from now?

14 points by billman 5 years ago · 44 comments


sdevonoes 5 years ago

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 5 years ago

    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 5 years ago

      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.

    • maltalex 5 years ago

      I wouldn’t bet against Java. It is both ubiquitous and evolving. Sure, Kotlin is nicer than Java 7 (Java 15 is about to be released soon) but the switch to Kotlin is happening only on Android. Java is still extremely strong on the backend where there is little reason to replace it with anything else at the moment. Even if new projects stop being written in Java entirely (which they aren’t), there would still be plenty of Java in the enterprise for the foreseeable future.

      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.

    • EliRivers 5 years ago

      In my experience, when chosen, C++ is not chosen because it's in CS degrees. Accordingly, it not being in CS degrees shouldn't be an impediment.

  • robodale 5 years ago

    Visual Studio Code! :O

idoh 5 years ago

Reminds me of the 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 5 years ago

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 5 years ago

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 5 years ago

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

rasikjain 5 years ago

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 5 years ago

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 5 years ago

    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.

  • muzani 5 years ago

    Web browsers are a lot to bet against. I'd be more likely to bet that web browsers become the operating system.

  • gitgud 5 years ago

    More of a wish list than trends observed... What will replace browsers?

semicolonandson 5 years ago

This is the core question I'm focusing on in the learning curriculum of my screencasts 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 5 years ago

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 5 years ago

    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.

  • muzani 5 years ago

    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.

olmideso 5 years ago

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 5 years ago

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 5 years ago

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

giantg2 5 years ago

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

fasterpython 5 years ago

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

tomjen3 5 years ago

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 5 years ago

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

  • non-entity 5 years ago

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

dave_sid 5 years ago

Hopefully not Facebook and Twitter

modal-soul 5 years ago

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

scott31 5 years ago

Python 2

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

Trias11 5 years ago

Python.

It will start making it's way deep into hardware

tboyd47 5 years ago

HTML, CSS, and JS

kirankn 5 years ago

I would say, functional programming for sure.

s1t5 5 years ago

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?

  • billmanOP 5 years ago

    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 5 years ago

      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 5 years ago

Vim.

zerr 5 years ago

C++

physicsguy 5 years ago

Fortran

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection