Ask HN: What technologies will we still be using in 20 years?
38 comments
Git, linux are ubiquitous.
Html, css, svg.
Tcp/ip & Ipv6, ipv4 for wifi
K8, c++, java, postgres (as legacy tech)
20 years requires a lot of guessing about communities, libraries, where our society is after a decade of bad ai, mars & moon base. Is Linus still alive? What was his hat trick (3rd act) after linux & git?
Blender probably is big, but also mostly ai driven by then
Html, css, svg.
Tcp/ip & Ipv6, ipv4 for wifi
K8, c++, java, postgres (as legacy tech)
20 years requires a lot of guessing about communities, libraries, where our society is after a decade of bad ai, mars & moon base. Is Linus still alive? What was his hat trick (3rd act) after linux & git?
Blender probably is big, but also mostly ai driven by then
For programming, we'll still be using plain text (in a monospace font) for creating programs - relying on clumsy, cryptic syntax based on the limited characters available on a keyboard. In other words, the default preference of most developers for the past 50 years.
The simplicity of text is very appealing to developers. But arguably, it's modern IDEs that make dealing with plain text tolerable - without them, the simplicity of text would rapidly lose its shine.
The simplicity of text is very appealing to developers. But arguably, it's modern IDEs that make dealing with plain text tolerable - without them, the simplicity of text would rapidly lose its shine.
At the rate things are going, I'd posit that it will be:
Flint & Steel
Trapping
Boiling water
Foraging
Fishing
Smoke signals
Drums
etc.
Maybe I'm just in a pessimistic mood right now, but the future isn't looking terribly bright to me right this minute.
Flint & Steel
Trapping
Boiling water
Foraging
Fishing
Smoke signals
Drums
etc.
Maybe I'm just in a pessimistic mood right now, but the future isn't looking terribly bright to me right this minute.
> Maybe I'm just in a pessimistic mood right now
I feel yah. I was like that too. Until I read a bunch of optimistic stuff from Stephen Pinker. I always say to give "The Better Angels of Our Nature" a try.
I feel yah. I was like that too. Until I read a bunch of optimistic stuff from Stephen Pinker. I always say to give "The Better Angels of Our Nature" a try.
I always say to give "The Better Angels of Our Nature" a try.
I've actually been meaning to read that for a while now. Guess it's time to dive into it.
I've actually been meaning to read that for a while now. Guess it's time to dive into it.
It's a beast. Just looking at the graphs is good enough ;)
Additionally I found "The Righteous Mind: Why Good People Are Divided by Politics and Religion" by Johnathan Haidt illuminating too. Like, everyone isn't crazy, we just have different priorities and hashing them out is good. And that's not a door stop, it's a fun read.
Additionally I found "The Righteous Mind: Why Good People Are Divided by Politics and Religion" by Johnathan Haidt illuminating too. Like, everyone isn't crazy, we just have different priorities and hashing them out is good. And that's not a door stop, it's a fun read.
You'd want to look for technologies that were used 20 years ago, that we're still using today. Chances are high that they'll survive the next 20 years.
Things like HTTP, JavaScript, C, C++, Python, Java are all still in regular use now, and will likely still be used 20 years from now.
Things like HTTP, JavaScript, C, C++, Python, Java are all still in regular use now, and will likely still be used 20 years from now.
GNU/Linux with the monolithic gigakernel, user based security, and all the attendant security faults.
Virus scanners, firewalls, "trusted boot", and all the government regulation that results from the security holes generated above.
I'm not sure if unlicensed general purpose computing will be available to the working class, or if we will have lost that war in 20 years.
Virus scanners, firewalls, "trusted boot", and all the government regulation that results from the security holes generated above.
I'm not sure if unlicensed general purpose computing will be available to the working class, or if we will have lost that war in 20 years.
I wouldn't be surprised if COBOL were still around by that time. Lots of tech came and went but FORTRAN and COBOL were stubborn enough to survive!
Note that a lot of that old code that caused so much of the fuss in Y2K wasn't ever supposed to be around even a decade after it was written... the phase change caused by IBM OS/360 and widespread backwards compatibility froze it in place.
Normally, you rewrote everything for the new system when it showed up, and used the knowledge gained from the old one to make the new one better. This suddenly stopped when you didn't need to do it, and everyone decided to save time/money and make due with the old code.
Normally, you rewrote everything for the new system when it showed up, and used the knowledge gained from the old one to make the new one better. This suddenly stopped when you didn't need to do it, and everyone decided to save time/money and make due with the old code.
Bash, VIM (without knowing how to exit it). Also I hope some ideas will come into practice from Bret Victor's vision for the future of programming. https://youtu.be/8pTEmbeENF4
I'm also curious to see when will we fully explore the programming language space. I think the possible ways to write code are finite.
I'm also curious to see when will we fully explore the programming language space. I think the possible ways to write code are finite.
Lisp, prolog and forth.
Python will add all-encompassing parentheses, making it a full Lisp. Keeping up with population growth, there will now be a handful, nay dozens, of ANSI Common Lisp users. And every ANSI Common Lisp program will still work flawlessly (sound and graphics included), despite changes in chip architecture. The Common Lisp Hyperspec will be enshrined by the World Heritage Foundation as an example of heavenly, Platonic writing. So let it be written. So let it be done.
The future is very bright then? But Java definitely.
Heating up food to disinfect and make it easily digestible, guns, wheels, writing.
I feel like type systems and pattern matching are here to stay, even for scripting languages they feel quite productive… I used to resist type systems but I was a fool (still am, but at least I’m a fool with type hints)
Windows in some shape or form
JavaScript and Typescript, although I hope way more Typescript in 20 years.
I think spoons are here to stay. "Air Fryers" not so much.
Have you used an Air Fryer? I find that it saves a ton of time and energy considering start up times and the space of an oven. Clean up is extremely easy as well.
I use the air fryer far more than the oven. It doesn't quite replace frying, but it's great for warming up everything and making old food crispy. It's a decent replacement for a toaster in some cases.
C++. C++40 standard will have some great new shiny stuff, but most of the industry will still stuck with C++32.
Some advanced FPGA hardware that will let you avoid bloatware Windows/MacOS.
I hate to say it but I think C and C++ will still be there.
I agree. I’ve been getting more and more into rust. It’s actually very elegant and feels fun, but writing production code for anything serious has turned into a massive battle against the compiler and borrow checker. Learning curve is steep and I still struggle over a year later.
What's depressing that many people who are struggling with Rust are struggling to write very simple things such as unix tools like 'cat' and 'grep'.
I write C code for AVR8 where the C calling conventions, the stack, etc. are a problem and not a solution. In my mind for relatively simple programs and I can split the program into a few clear layers and if I was writing assembler I could allocate some of the registers to some of the layers (e.g. limited or no flushing of registers in interrupt handlers) and statically allocate RAM ahead of time.
I never get around to switching to assembler because the AVR8 is a dead end and if I really want better performance I can recompile my C code to a much more capable ARM or ESP32.
When I was working on rule-based systems I had this idea of "rules and schemes" where the rules are kept separate from the "schemes" which determine how the rules are applied, what order, etc.
I've thought the idea of separating programs into a core and layers of commentary could be useful in various ways. For instance a language like Rust might have a proof that memory allocation works separate from the main part of the program.
I write C code for AVR8 where the C calling conventions, the stack, etc. are a problem and not a solution. In my mind for relatively simple programs and I can split the program into a few clear layers and if I was writing assembler I could allocate some of the registers to some of the layers (e.g. limited or no flushing of registers in interrupt handlers) and statically allocate RAM ahead of time.
I never get around to switching to assembler because the AVR8 is a dead end and if I really want better performance I can recompile my C code to a much more capable ARM or ESP32.
When I was working on rule-based systems I had this idea of "rules and schemes" where the rules are kept separate from the "schemes" which determine how the rules are applied, what order, etc.
I've thought the idea of separating programs into a core and layers of commentary could be useful in various ways. For instance a language like Rust might have a proof that memory allocation works separate from the main part of the program.
Rust is infectious, its well named. Once there is a rust interface its better, and not for nothing but wasm makes rust a true polyglot.
C++ is inferior, but also older and better known, easier to hire competent people TODAY. 20 years, c++ maintenance will be a big industry, but AI CODEX (combined with fuzzers and auto regression) could also probably accurately transpile & test a lot c++ accelerating this.
Rust is integral to the EXCITING aspects of the linux kernel such as ebpf w/ io-uring that will eat modern k8 and other ecosystems like a blackhole. These are billion dollar markets that will principally disappear due to the kernel abstracting & obviating the need for them. Companies will move on for the security aspect, unfortunately because new threats require attention.
Rust devs & shops will spend a a significantly smaller fraction of their time troubleshooting code in the field & on smaller more efficient devices and certainly have less security issues as well. C++ will still exist in 20 years, but will be not in vogue. Anybody who thinks rust is hard clearly hasnt attempted c++ imho.
Typescript, python will also remain popular for other reasons.
C++ is inferior, but also older and better known, easier to hire competent people TODAY. 20 years, c++ maintenance will be a big industry, but AI CODEX (combined with fuzzers and auto regression) could also probably accurately transpile & test a lot c++ accelerating this.
Rust is integral to the EXCITING aspects of the linux kernel such as ebpf w/ io-uring that will eat modern k8 and other ecosystems like a blackhole. These are billion dollar markets that will principally disappear due to the kernel abstracting & obviating the need for them. Companies will move on for the security aspect, unfortunately because new threats require attention.
Rust devs & shops will spend a a significantly smaller fraction of their time troubleshooting code in the field & on smaller more efficient devices and certainly have less security issues as well. C++ will still exist in 20 years, but will be not in vogue. Anybody who thinks rust is hard clearly hasnt attempted c++ imho.
Typescript, python will also remain popular for other reasons.
I came here to say the same thing. There is such a large code base of C, its hard to imagine it being replaced.
Just think of how much Cobol is still out there
Just think of how much Cobol is still out there
Linux ( or what is will become at this point)
C/C++
1. The Web. (HTTP, CSS, etc.) It will evolve, but it's survived nearly three decades now, and I can't see it going away in another two, no matter what improvements are made. It's also the single most important interoperability technology we have.
2. WiFi. Sure it will evolve, but it will still be with us, and still work. And security will still be nearly nonexistent. It's the gold standard of wireless interoperability. High speed wireless could move to LiFi, but that's a real stretch given progress to date...
3. Ethernet. If WiFi is the gold standard of wireless interoperability, Ethernet is the gold standard for interoperability, period, and it's also got decades of holding its own and adapting to new needs and challenges. It holds the modern world together, and it'll hold the future together in 20 years, too. I hope Power-Over-Ethernet is a big part of that going forward (N.B. PoE is the first global power standard for non-trivial loads!), but the safety requirements for 1500V isolation have made PoE power hardware too expensive for mass market penetration so far...
4. LTE. Much of what is called 5G today is really just subsequent generations of LTE. It will be with us in 20 years, though it may be getting long in the tooth. I can't see a good replacement for long-ish range connectivity in the near future. (5G mmWave is stupid and barely makes sense even in dense urban areas, outdoors - it's all hat, no cattle.) Satellite wireless may be making inroads in 20 years. (Non-traditional (non-EM) curl-based radios may also start to show up in 20 years, but won't displace RF for most things.)
5. TCP/IP. This is a given. Many endpoints will remain on v4, due to v6's terminally broken and incomprehensible address model, but half will be on v6. (Heck, even I have to look up how to properly write v6 addrs, and I built a Fortune 10 company's IP network and network management systems!) It will continue to evolve, but interoperability is king, and IP delivers. Practicality and real-world usefulness trumps elegance every time. There are good reasons no one uses OSI networking anymore - TCP/IP kicked its ass. Sadly, TCP/IP will have been totally screwed up by the security people in 20 years, and will need replacing before another decade is out...
6. I'm going to go out on a limb and say BSD. Again, it's not only a proven survivor, but it's also architecturally superior to Linux, and has avoided adding the bloat that will soon make Linux (both kernel and distros) unmaintainable - that will happen within 5 years and the fallout will drive many people to switch from Linux to BSD by the time 20 years rolls around. Linux is too important as the world's server OS to go away, but it's whole lot easier to migrate a bunch of that server work to BSD than to move to a non Unix-based OS, and BSD is for all practical purposes, the only OSS option to Linux.
7. Visual Low/No Code environments. Out on another limb. I know this is controversial, and people have been claiming these are coming for decades, but I think AI assist is now to the point that we'll see these start to be really widely used both by developers and many savvy amateurs. Improved visual interfaces and desk-sized touchscreens (8k is about "retina" at that size) will help this happen. Keyboards will still be around, but will be beginning to seen as "quaint"...
8. USB. USB-C may still be around, but USB overall has proven to be nothing if not adaptable, and for all its many faults, USB has survived several decades and still supports most all older devices. It's a survivor.
9. Bluetooth. This wretched pile of steaming crap will never go away. It's not quite bad enough to die or force a replacement: it works just well enough to make everyone think they should use it, but it pretty much never "just works". If it's still around, that will not have changed. Probably the worst technology still in widespread use in 20 years, as it is today. I hope I'm wrong about this, but not hopeful that I am...
10. Unix stream/processor model, shells, and scripting languages. Like cockroaches and sharks, theses have survived eons and will be with us for a loooong time. I see a resurgence of pipe-connected stream/processor apps, perhaps even modified to include things like objects and standard data representations in the pipelines much as PowerShell (one of Microsoft's best ideas, in some ways) does today. Shells and scripting will rule the roost, perhaps through the visual low/no-code environments mentioned above. Awk will still be here, and may still be easier and faster for many types of data massaging than the trendy tools, just like today.
11. Small, low-power computers. The Raspberry Pi has exposed the tip of the iceberg. The little, sub $100 computers have the compute, storage, and RAM of mainframes and supercomputers of only three decades ago, and are no capable of running serious programs to do serious enterprise work. These are even now moving from the hobbyist realm to taking on small and simple, but serious, enterprise server work. Whether ARM, RISC-V, or something else, these lively little mammals will continue to feast on the eggs of the dinosaurs, even the big dinos that live in the cloud today, as the pendulum swings back to distributed localized server computing from the cloud, which itself was preceded by PCs and workstations, minicomputers, and mainframes.
Less certain:
12. Blockchain. (Could be wrong about this one, 50-50 chance...) It will still be around, and still be used as magic pixie dust where it's not needed by people who are either idiots or like controlling/manipulating others. Proof of stake will prevail before proof of work consumes 10% of the energy on the planet. Transactions will still take too long to be practical, and it will still be distressingly possible to have things of value stolen or lost forever. Many people will have lost their ass on NFTs, and deserved it. The blockchain user population will still consist of a surprising number of crooks and scammers.
13. Light-emitting screens. They'll still be around, but will face growing pressure as large colorful,fast, low-power, and foldable/rollable high-res passive (think desk to wall-sized e-paper that looks like a high quality photo) displays take their place.
2. WiFi. Sure it will evolve, but it will still be with us, and still work. And security will still be nearly nonexistent. It's the gold standard of wireless interoperability. High speed wireless could move to LiFi, but that's a real stretch given progress to date...
3. Ethernet. If WiFi is the gold standard of wireless interoperability, Ethernet is the gold standard for interoperability, period, and it's also got decades of holding its own and adapting to new needs and challenges. It holds the modern world together, and it'll hold the future together in 20 years, too. I hope Power-Over-Ethernet is a big part of that going forward (N.B. PoE is the first global power standard for non-trivial loads!), but the safety requirements for 1500V isolation have made PoE power hardware too expensive for mass market penetration so far...
4. LTE. Much of what is called 5G today is really just subsequent generations of LTE. It will be with us in 20 years, though it may be getting long in the tooth. I can't see a good replacement for long-ish range connectivity in the near future. (5G mmWave is stupid and barely makes sense even in dense urban areas, outdoors - it's all hat, no cattle.) Satellite wireless may be making inroads in 20 years. (Non-traditional (non-EM) curl-based radios may also start to show up in 20 years, but won't displace RF for most things.)
5. TCP/IP. This is a given. Many endpoints will remain on v4, due to v6's terminally broken and incomprehensible address model, but half will be on v6. (Heck, even I have to look up how to properly write v6 addrs, and I built a Fortune 10 company's IP network and network management systems!) It will continue to evolve, but interoperability is king, and IP delivers. Practicality and real-world usefulness trumps elegance every time. There are good reasons no one uses OSI networking anymore - TCP/IP kicked its ass. Sadly, TCP/IP will have been totally screwed up by the security people in 20 years, and will need replacing before another decade is out...
6. I'm going to go out on a limb and say BSD. Again, it's not only a proven survivor, but it's also architecturally superior to Linux, and has avoided adding the bloat that will soon make Linux (both kernel and distros) unmaintainable - that will happen within 5 years and the fallout will drive many people to switch from Linux to BSD by the time 20 years rolls around. Linux is too important as the world's server OS to go away, but it's whole lot easier to migrate a bunch of that server work to BSD than to move to a non Unix-based OS, and BSD is for all practical purposes, the only OSS option to Linux.
7. Visual Low/No Code environments. Out on another limb. I know this is controversial, and people have been claiming these are coming for decades, but I think AI assist is now to the point that we'll see these start to be really widely used both by developers and many savvy amateurs. Improved visual interfaces and desk-sized touchscreens (8k is about "retina" at that size) will help this happen. Keyboards will still be around, but will be beginning to seen as "quaint"...
8. USB. USB-C may still be around, but USB overall has proven to be nothing if not adaptable, and for all its many faults, USB has survived several decades and still supports most all older devices. It's a survivor.
9. Bluetooth. This wretched pile of steaming crap will never go away. It's not quite bad enough to die or force a replacement: it works just well enough to make everyone think they should use it, but it pretty much never "just works". If it's still around, that will not have changed. Probably the worst technology still in widespread use in 20 years, as it is today. I hope I'm wrong about this, but not hopeful that I am...
10. Unix stream/processor model, shells, and scripting languages. Like cockroaches and sharks, theses have survived eons and will be with us for a loooong time. I see a resurgence of pipe-connected stream/processor apps, perhaps even modified to include things like objects and standard data representations in the pipelines much as PowerShell (one of Microsoft's best ideas, in some ways) does today. Shells and scripting will rule the roost, perhaps through the visual low/no-code environments mentioned above. Awk will still be here, and may still be easier and faster for many types of data massaging than the trendy tools, just like today.
11. Small, low-power computers. The Raspberry Pi has exposed the tip of the iceberg. The little, sub $100 computers have the compute, storage, and RAM of mainframes and supercomputers of only three decades ago, and are no capable of running serious programs to do serious enterprise work. These are even now moving from the hobbyist realm to taking on small and simple, but serious, enterprise server work. Whether ARM, RISC-V, or something else, these lively little mammals will continue to feast on the eggs of the dinosaurs, even the big dinos that live in the cloud today, as the pendulum swings back to distributed localized server computing from the cloud, which itself was preceded by PCs and workstations, minicomputers, and mainframes.
Less certain:
12. Blockchain. (Could be wrong about this one, 50-50 chance...) It will still be around, and still be used as magic pixie dust where it's not needed by people who are either idiots or like controlling/manipulating others. Proof of stake will prevail before proof of work consumes 10% of the energy on the planet. Transactions will still take too long to be practical, and it will still be distressingly possible to have things of value stolen or lost forever. Many people will have lost their ass on NFTs, and deserved it. The blockchain user population will still consist of a surprising number of crooks and scammers.
13. Light-emitting screens. They'll still be around, but will face growing pressure as large colorful,fast, low-power, and foldable/rollable high-res passive (think desk to wall-sized e-paper that looks like a high quality photo) displays take their place.
FORTRAN, glorious FORTRAN.
7-bit clean ASCII text
Linux on the desktop.
State machines
PLCs
Excel
ImageMagick
https://xkcd.com/2347/
https://xkcd.com/2347/
In your field, what do you think will still be in use and what will be either deprecated or just entirely out of favor by that point.