Ask HN: What is not going to change in future?

47 points by maheshs 1 year ago | 95 comments
There are always few things in every field which never changed. What are the top things according to you which not going to change or didn't change in the field of software development?
  • Tainnor 1 year ago
    Theoretical CS fundamentals are not going to change. Practically, that means among other things:

    - Unless somebody finds a polynomial algorithm for an NP-complete problem (which is a taller order than just proving P=NP), several interesting problems will continue to be infeasible to solve exactly in the general case with large data.

    - If, in addition, quantum computers don't prove to be viable, commonly used cryptosystems such as RSA, AES, ECC, will probably continue to be secure provided they're used correctly.

    - Results like the Two Generals Problem, the CAP theorem, etc. will still make distributed systems difficult to work with and require tradeoffs.

    - Rice's theorem, that it is impossible to determine computational properties of arbitrary programs, will still apply, making static analysis (including antivirus programs, security scans, etc.) heuristic rather than exact.

    - etc.

    • zfnmxt 1 year ago
      > - Rice's theorem, that it is impossible to determine computational properties of arbitrary programs, will still apply, making static analysis (including antivirus programs, security scans, etc.) heuristic rather than exact.

      I think this is misleading. There are many exact static analyses---proof-checking in theorem provers like Coq is an exact static analysis. More generally, type checking can be an exact static analysis that guarantees semantic properties of your programs, like termination.

      If you can force your programs to be in a certain form (e.g., statically rejecting type incorrect programs), you can sufficiently restrict the class of programs (Turing machines) that you're considering that you can indeed determine non-trivial computational properties of your programs.

      • Tainnor 1 year ago
        I was very careful to specify "computational properties" (as opposed to things like program length or side effects) and "arbitrary programs" (with "arbitrary" meaning that it doesn't suffice to prove individual programs correct, and "program" meaning that I'm not talking about single functions).

        I should probably have been more specific by writing "decide" instead of "determine", because you can absolutely 'determine' a computational property as long as you're willing to ignore false negatives. For example, it's easy enough to write a termination checker by just checking for loops and equivalent constructs (or e.g. in Idris, by requiring that all functions are total), but that will of course reject a large number of programs that do in fact terminate.

        Coq is not a Turing Complete language, so Rice's theorem doesn't apply. But almost all people are not writing programs in Coq.

        I think static types are great, but they don't contradict any of this.

        • zfnmxt 1 year ago
          > but they don't contradict any of this.

          Sure, and I agree with what you've said. But as you pointed out, you have to be very particular/exact with language with these things. I just wanted to emphasize that there are many constrained settings (but still practical) where Rice's theorem doesn't apply.

      • stephencanon 1 year ago
        > (which is a taller order than just proving P=NP)

        A proof that P=NP immediately gives a polynomial-time algorithm for NP complete problems via universal search. It’s so wildly impractical as to probably not change anything, but it _is_ in P.

        • Tainnor 1 year ago
          Fair enough, I wasn't aware.
          • edanm 1 year ago
            What? That doesn't seem correct to me. (Since I'm not actually that fluent in CS complexity theory, I assume the problem is my understanding.)

            Can you explain more about what universal search is, and/or where I can read about how it would solve the problem?

            • stephencanon 1 year ago
              The handwavy explanation is you can enumerate a list of all the turing machines. You run the first one for one step, then you run the first two for two steps, then the first three for three steps, etc, until one of them halts. If P=NP, this will happen in polynomial time, which gives you the algorithm you need.
          • vasili111 1 year ago
            AES is considered quantum resistant.
        • Brajeshwar 1 year ago
          I like the article, “Betting on Things That Never Change” by Morgan Housel. Check it out at https://collabfund.com/blog/betting-on-things-that-never-cha...
          • jjice 1 year ago
            He just released a book last year called Same As Ever that seems like a book adaptation of this post. It was pretty good if you like this kind of post.
          • nuz 1 year ago
            Math, physics, chemistry won't change. Who knows if software will be nearly recognizable in 10-20 years from now, but the reality of the world will not.
            • demondemidi 1 year ago
              20 years is nothing. Code still looks the same essentially. Lots of “new” patterns are just ancient patterns rediscovered by people who never had exposure to the old ones. Code in 100 years might be different but probably not by much. I don’t see cpu arch radically changing. I hope it does.
              • uvdn7 1 year ago
                Math, sure - doesn't the understanding of physics also go through changes? Do we really understand the reality of the world; or how do we know our current understanding of it won't change?
                • GoldenRacer 1 year ago
                  Asimov wrote an essay called "relativity of wrong" that I think does a good job of capturing the changes our understanding of the world goes through.

                  Yes, Einstein's theory of relativity was a change from Newtonian physics but it's a fairly minor correction for most practical purposes and Newtonian physics is still important to know and understand.

                  So yeah, our understanding of physics will likely change but it'll only matter in more and more extreme edge cases and will likely build on our current understanding. Maybe it'll result in us finally having fusion reactor, room temperature super conductors, or quantum computers but you're still going to get a roughly parabolic arc when you throw a ball through the air.

                  • bradlys 1 year ago
                    I think 20 years for physics won’t really make much of an impact. Maybe you build an even bigger particle accelerator and confirm another well accepted idea. But, there’s not really going to be groundbreaking changes that affects people on the daily.
                  • drewcoo 1 year ago
                    > Math, physics, chemistry won't change.

                    The whole beauty of science is that it doesn't ever claim to have static, absolute answers - it's constantly growing and changing as we learn more about everything.

                    Likewise, the humanities are always growing and changing and being reinterpreted, reflecting what and how we can understand now.

                    > Who knows if software will be nearly recognizable in 10-20 years from now

                    Software goes through rapid cycles of invention and forgetting what's come before. Its totem animal is a Nobel laureate goldfish. That doesn't change.

                    • ornornor 1 year ago
                      > forgetting what's come before. Its totem animal is a Nobel laureate goldfish

                      Goldfish have good memories it turns out: https://www.bbc.com/news/uk-england-oxfordshire-63242200

                      • Tainnor 1 year ago
                        > The whole beauty of science is that it doesn't ever claim to have static, absolute answers

                        That's wrong for maths and, by extension, theoretical CS. I mean, sure, some of the answers come with caveats ("assuming P!= NP", etc.), and in theory, all of mathematics could be proven inconsistent (but that to me is completely unreasonable to believe), but for all intents and purposes, these answers are static and absolute.

                    • dakiol 1 year ago
                      Dealing with people. AI can help, but at the end of the day:

                      - people give the orders

                      - people approve implementations (e.g., implementations handed over by an AI)

                      - people who approve implementations need to save face when the implementation turns out buggy

                      Even if AI reaches a level at which it can do all of the points above, it would dimishis its own value. Example: if I could launch an Spotify alternative with a few prompts using ChatGPT version 10, then so a million guys like can do it as well... meaning, no one will be doing it.

                      • pc86 1 year ago
                        People submitting Ask HN's without proofreading
                        • NikkiA 1 year ago
                          Presumably you mean the broken english of the title, I suspect that's HN's stupid title filtering that removes words it thinks are clickbaity, like 'is'.
                          • 1 year ago
                          • tlb 1 year ago
                            Edited, thanks
                          • CM30 1 year ago
                            I suspect basic HTML won't change much if at all. We're still using tags like html, head, body, title, h1-h6, p, img, etc after all these years, and I don't see them going anywhere.

                            Of course, unless some sort of weird tech shift happens that makes the browser obsolete altogether, I suspect most HTML/CSS/JavaScript won't ever change anyway. Browsers are backwards compatible to a similar degree as Microsoft and Windows. If even stuff like the center tag are supported in 2024, most things aren't going anywhere.

                            On a less specific note, I guess poor planning and software development practices? Feels like planning how long things are going to take hasn't got much better in the last few decades, with things like 'agile' barely making a dent in it. I suspect projects overrunning, feature and scope creep, big budget disasters, etc will probably be issues in society til the end of time.

                            • tiniuclx 1 year ago
                              Gathering requirement & making sure you are building the right thing will always be a tough & important task for SW Engineers, no matter how good language models get.
                              • jerf 1 year ago
                                Even if an AI was developed to the point that it could do a full requirements analysis, executive/managers/high status people will still want someone else to do it. You're not going to get a CEO to sit down with such a system and determine requirements.
                                • azan_ 1 year ago
                                  Why wouldn't AI also take the role of that "someone else"?
                                  • jerf 1 year ago
                                    "Someone else" isn't going to allow it.

                                    If AIs seriously threaten our real elites, AI will be destroyed.

                              • philip1209 1 year ago
                                Meta:

                                The Basecamp founders often talk about the advice they receive from Jeff Bezos, which was "Focus on the things that won't change in your business." [1] He was referring to things like "fast delivery" and "good customer service." But, it means a lot in a professional context, too - because it's things worth learning well.

                                [1] https://medium.com/@seansheikh/bezos-wisdom-focus-on-the-thi...

                                • yodsanklai 1 year ago
                                  We can look in the past to see what hasn't changed. Given the rate of innovation in the field, it's fascinating to see that some widely used tools have been here for 30-40 years or more. Unix, bash, vim, C, C++. It still worth investing in these seemingly archaic stuff. Notably C++: the cool kids want to learn Rust, but C++ is hard and we'll need to maintain all the existing code forever!

                                  And of course, maths. I graduated in maths decades ago, and I always find it amusing when I see some tutorials on linear algebras making it to the top of HN, like if it was some fashionable new cool technologies. That being said, my math knowledge hasn't transferred in software engineering skills.

                                  • vouaobrasil 1 year ago
                                    Don't you mean what is not going to change? I think you're missing a verb.

                                    1. LaTeX. I can still compile my docments that I wrote 20 years ago...

                                    2. The thirst for profit/quick releases over reliability (except for a few examples like LaTeX)

                                    3. The existence of open source software as the one antitode to all software being horrible

                                    4. The obsession with creating new things for the sake of creating, instead of for the good of anything

                                    • diarrhea 1 year ago
                                      You're probably right in that LaTeX won't change, but I am beyond happy having left and picking up typst for a recent project. Despite existing limitations and beta-ness, it's already fantastic, and most importantly promising (has financial backing by now). Instant preview and precise as well as legible error messages alone make it so.

                                      I had an initial document and development environment running within twenty minutes. That's impossible with LaTeX. In fact, for years, I had a tailor-made Docker image just for keeping LaTeX running, compiling and sane (I use more advanced features to make LaTeX bearable in $CURRENT_YEAR). That setup broke the other day.

                                      I never investigated why, because an ecosystem where one has to go to such lengths in the first place, only to have it break, is not one I want to be a part of any longer. For typst, I can just grab the binary of the version I used and it will just work forever (or just compile it, which I have confidence will also be pretty stable for many years to come thanks to Rust).

                                      • Tainnor 1 year ago
                                        > That's impossible with LaTeX.

                                        Certainly not impossible. I don't find LaTeX hard to install, at least on a modern Linux distribution such as Ubuntu (and if memory serves, it wasn't hard on macOS either).

                                        I agree that setting up a basic template from scratch can be tedious and I wish this was better, but the common approach for newbies is to copy a template from somewhere, and for more advanced users, they probably have some base template with personal tweaks that they keep reusing (I know I do, not only because I hate Computer Modern).

                                        There are still a whole number of issues with LaTeX (such as incompatible packages, the inconsistency in font handling between pdflatex and xelatex, beamer is generally IMHO a mess, etc.) but what GP wrote - that old documents will continue to compile and give the same results - is true.

                                        • diarrhea 1 year ago
                                          A base install isn't too hard, correct. The main downside there is that a full LaTeX distribution is gigabytes in size, but that's manageable. Just takes time. Leaving out docs or using a distribution with on-the-fly package installation can solve this.

                                          Trouble arises when you're looking to use latexmk (requires Perl), bib2gls (requires a Java runtime), minted (requires Python), latexindent (requires specific Perl libraries), including SVG (requires InkScape, and I believe ImageMagick), ...

                                          Any notion of a powerful, sane, batteries-included development environment (think Rust and Go) requires jumping through insane hoops, resulting in bespoke setups, always on the brink of breakage. I really don't want to manage Python venvs!

                                          The LaTeX crowd is very old school and tooling isn't natively available or built with containerization in mind. I've grown to like single-binary approaches (Caddy, typst, ...). I find vanilla LaTeX documents (the type that will compile in 20 years to come) very weak. UTF-8 still isn't standard in "vanilla LaTeX" (pdflatex)!

                                    • j_crick 1 year ago
                                      Human nature won't change.

                                      How companies work, how humans interact, how users behave -- I don't see how that'll change anytime soon at all.

                                      • elric 1 year ago
                                        > how humans interact, how users behave

                                        I've seen pretty dramatic changes in both of those in the last 5 years. Human interaction seems to have become a lot shittier. Users' behaviour seems more entitled. How people behave and interact also differs quite a lot based on culture/geographic location.

                                        Sure, at the end of the day we're all human with more or less the same wants and needs, but how we express them is neither uniform nor fixed.

                                      • flohofwoe 1 year ago
                                        I think the Lindy Effect is as good a guess as anything else to predict the future ;)

                                        https://en.wikipedia.org/wiki/Lindy_effect

                                        (e.g. it's more likely that C, Fortran and Cobol are still around in 50 years than some of the more recent programming languages)

                                        • praving5 1 year ago
                                          Read this book. I just read it last month and it exactly answers your question with stories and how the world is evolving.

                                          https://www.amazon.com/Same-Ever-Guide-Never-Changes/dp/0593...

                                          • Keegs 1 year ago
                                            Humans. Marcus Aurelius wrote Meditations about 2000 years ago and it’s still useful for navigating modern life. On the surface, life has changed a ton over generations because of technological advancement. Underneath that though, basic human worries and basic human needs haven’t changed and probably never will.
                                            • golergka 1 year ago
                                              First book is basically a gratitude journal. But when he goes into logical reasons for being a good person, his foundation is the assumption of providence and gods that have created the universe and everything and guide all that happens. If you're not a religious person, his reasoning wouldn't work for you.
                                              • Tainnor 1 year ago
                                                There's other examples like that. While I have many gripes with Plato, some of the arguments he makes and the themes he investigates still ring true 2,500 years later.
                                              • shuanghe2012 1 year ago
                                                Your talent will not change. Find it and use it in this ever changing world.
                                                • ergonaught 1 year ago
                                                  It is impossible to usefully identify things that "never changed" without targeting cynical observations of human nature/capability. "The laws of thermodynamics" is a strong contender for the only other answer to that question.
                                                  • francisofascii 1 year ago
                                                    Git is having a good run as the defacto source control system, despite all its idiosyncrasies. Most Windows/Linux/front-end/back-end developers seem to use it. How long has it been since you used something else like Subversion or TFS?
                                                    • jefc1111 1 year ago
                                                      People building things without first checking if anyone actually wants or needs them first.
                                                      • diarrhea 1 year ago
                                                        What a killjoy. Who cares? Let me toy around.
                                                        • jefc1111 1 year ago
                                                          If you want to build something for fun, then someone (you) wants it, so I am not seeking to kill your joy. It's all good.
                                                          • AnimalMuppet 1 year ago
                                                            You want to toy around? Go for it.

                                                            A product manager wants our team to build something that nobody actually needs? I may wind up getting laid off for that.

                                                            • garrickvanburen 1 year ago
                                                              Toy around, 100%. Just don’t be surprised when it’s not a commercial success.
                                                              • fddrdplktrew 1 year ago
                                                                gmail's web interface turned to shit because of this... not sure why they push those changes to production though...
                                                                • freitzkriesler2 1 year ago
                                                                  Because we have to justify the existence of all of those over paid product managers.

                                                                  BuT tHe DaTa SaYs We NeEd a Ux ChAnGe

                                                            • wkirby 1 year ago
                                                              Most of having a job is people skills. Whether we’re writing jQuery by hand or prompting ChatGPT 9.5 to output our work, your most important job skills will still be collaboration, communication, and in some cases just being a good hang.
                                                              • blowski 1 year ago
                                                                I do agree, but this is HN, so I'm going to do a thought experiment.

                                                                Imagine ChatGPT could "translate" from grumpy-old-curmugeonish into friendly-human in realtime, then which soft skills would still be valuable? Imagine going to a shop and being served by a grumpy curmudgeon whose poor English was translated instantly into great customer service.

                                                                What changes with this? To what extent will this ever be possible?

                                                                • swah 1 year ago
                                                                  After a few years of the tech nerds being on top, now the Saul Goodmans of the world are back w/ all the tools.
                                                                • Veelox 1 year ago
                                                                  I don't see a world 50 years from now where writing SQL isn't needed.
                                                                  • Zak 1 year ago
                                                                    I find it a little surprising that while we have hundreds of languages for writing software, and several options with a modicum of popularity in almost any describable paradigm, one database schema and query language remains so dominant.
                                                                    • Tainnor 1 year ago
                                                                      A lot of people use ORMs, though, which (though often poorly) translate the SQL model to one more familiar to most programmers. An unfortunately less popular alternative is query builders (such as jOOQ for the JVM) which, especially in statically typed language, provide a degree of safety against basic typos, SQL injections, etc., while still keeping the mental model of SQL intact.
                                                                  • lvspiff 1 year ago
                                                                    Greed - you could be working on the most altruistic endeavor ever that everyone wants and all it takes is one founder or investor that sees a way to cash out to bring it all tumbling down
                                                                    • fddrdplktrew 1 year ago
                                                                      One thing that's not going to change is that things will keep changing for no good reasons because engineers need something to do.
                                                                      • petabyt 1 year ago
                                                                        Phones will probably look the same in 10 years. Not the exact same, but it'll still have a touchscreen and fit in your pocket.
                                                                        • jschank 1 year ago
                                                                          That's a funny example. Because prior to around 2007 phones looked very different than they do today. And prior to that, I think it was difficult for people to imagine a phone would fit in your pocket, and more importantly, what that would mean for follow on effects, like instagram or tik tok

                                                                          unless you were being sarcastic.

                                                                          • petabyt 1 year ago
                                                                            2014 to 2024 phones have hardly changed. Better performance, bigger screens, but the same concept. There will be changes in 10 years but I think it will look mostly the same.
                                                                            • DeepSeaTortoise 1 year ago
                                                                              I already know people who've switched to smartwatches
                                                                          • perilunar 1 year ago
                                                                            I hope not. Pocket phones are as annoying as pocket watches. I want something on my wrist or on my face (in my glasses).
                                                                          • andonumb 1 year ago
                                                                            1. Difficulty with comprehending long sentences from the screen. 2. The desire to put witty comments in text fields.
                                                                            • gwbas1c 1 year ago
                                                                              Human nature, and the rate of learning.
                                                                              • czbond 1 year ago
                                                                                I agree without change - but going to postulate a question:

                                                                                Let's say I believe it is my destiny to make sure all humanity evolves to become enlightened and reach the next rung?

                                                                                Let's also say a constraint is I disbelieve in humanity as an entire collective body can reach enlightenment by itself - and therefore must be pulled, due to human base desires.

                                                                                Knowing this, how can I accomplish it? I have theories, but I don't want to pre-form the suggested solutions.

                                                                                • gwbas1c 1 year ago
                                                                                  Get LSD legalized and form a religion around ritualized use of it.
                                                                                  • czbond 1 year ago
                                                                                    That is definitely something I hadn't considered ;)
                                                                                • yldedly 1 year ago
                                                                                  I wonder about the latter. It's known that high quality, one-on-one teaching can greatly improve learning speed. Could near future generation AI learn to be a teacher on par with the best human ones?
                                                                                  • golergka 1 year ago
                                                                                    Even better abstractions have already radically improved the rate of learning. Try learning math by medieval books written before modern notation: the most basic, middle school things like trigonometry will look like arcane mysteries.
                                                                                    • foxhop 1 year ago
                                                                                      no but current LLM can already almost give 1:1 support and differentiated assistance based on how the student comes.

                                                                                      I'm in edtech building this.

                                                                                      it's like having 1 teacher with 25 assistants.

                                                                                      • yldedly 1 year ago
                                                                                        I imagine that the problem with getting LLMs to do it is 1)hallucination and 2)a lack of training examples of teaching through text. We rarely teach purely through text messages, I think this might explain why LLMs almost never ask clarifying questions or use the Socratic method. But it might be possible to RLHF it into doing that. Can you say something about what your approach is?
                                                                                  • barbatoast 1 year ago
                                                                                    Distributed systems and concurrency
                                                                                    • gardenhedge 1 year ago
                                                                                      People aren't going to want their parcels to take more time to be delivered
                                                                                      • tempcoin 1 year ago
                                                                                        Bad management

                                                                                        QWERTY keyboards

                                                                                        Taxes

                                                                                        • morgante 1 year ago
                                                                                          i don't think deterministic programming languages are going away. Even if code is AI-generated, critical systems need to behave consistently and be available for introspection/editing.
                                                                                          • a_c 1 year ago
                                                                                            Laziness, make stuff that goes with the flow.
                                                                                            • hnthrowaway0328 1 year ago
                                                                                              Actually I think most is going to be the same. Even with AI companies still need people to fill the lead and senior ranks while AI implements things.
                                                                                              • greenie_beans 1 year ago
                                                                                                nutrient rich soil + appropriate amount of sunlight and water + seed + time = food.

                                                                                                or, wind event = trees down.

                                                                                                and on and on.

                                                                                                • dusted 1 year ago
                                                                                                  greed, selfishness, pride, shortsightedness, hubris, indulgence, in short, human nature.
                                                                                                  • nijuashi 1 year ago
                                                                                                    Death and taxes.
                                                                                                    • aristofun 1 year ago
                                                                                                      Human nature
                                                                                                      • throwawaysleep 1 year ago
                                                                                                        People being a pain in the behind.
                                                                                                        • fsflover 1 year ago
                                                                                                          The fact that free software will not join the enshittification trend (https://news.ycombinator.com/item?id=36611245). So try to stick to it for the long-term stability.
                                                                                                          • grahamg 1 year ago
                                                                                                            [dead]
                                                                                                            • horrysith 1 year ago
                                                                                                              [flagged]
                                                                                                              • demondemidi 1 year ago
                                                                                                                Feels like Reddit over here.