Settings

Theme

The Many-Worlds Interpretation of JavaScript

hachibu.net

56 points by hachibu 6 years ago · 53 comments

Reader

hachibuOP 6 years ago

Author here. Thanks for educating me on the subtleties. It seems like I was mixing up a Level 3 multiverse with a Level 2. I made a small edit to remove the sentence about constants changing. And I also added a note that I edited the post.

lalaithion 6 years ago

> The many-worlds interpretation of quantum mechanics imagines our universe as one node in an infinitely branching tree of universes where every possible quantum outcome exists in its own universe. And each time a universe branches, it creates a child universe that is slightly different from the parent universe, e.g., universal constants such as gravity and the speed of light might differ.

Pretty sure this is flat out wrong; the Many Worlds hypothesis does not include universes in which universal constants differ.

  • hachibuOP 6 years ago

    Author here. Sorry, I guess I misunderstood that part of the hypothesis. Do you have a source, so I can edit my post and correct it?

    • AgentME 6 years ago

      It seems you're mixing up MWI with a Max Tegmark Level II multiverse: https://en.wikipedia.org/wiki/Multiverse#Level_II:_Universes.... Tegmark considered MWI a separate idea from that and used the label "Level III" for it.

      MWI is just one of multiple multiverse ideas. Most multiverse ideas (like Tegmark's Levels I, II, and IV) are basically what-if ideas without any direct evidence, but MWI specifically happens to be a more-grounded idea based on trying to make sense of what the (well-tested) Schrodinger equation says about reality.

      The first part of your description of MWI ("The many-worlds interpretation of quantum mechanics imagines our universe as one node in an infinitely branching tree of universes where every possible quantum outcome exists in its own universe.") is pretty good, if a slight though common simplification (different branches aren't entirely separate, so envisioning it as a tree is only mostly correct; different branches can sum together or cancel each other out if their configurations are identical).

      • codethief 6 years ago

        > trying to make sense of what the (well-tested) Schrodinger equation says about reality.

        Nitpick: The Schrödinger equation predicts unitary time evolution (which is another way of saying that physical systems evolve in a deterministic manner). Interpretations of quantum mechanics exist to make sense of the part of quantum mechanics that doesn't follow unitary time evolution, namely the measurement process.

      • hachibuOP 6 years ago

        Ah, I think I'm beginning to understand. Perhaps I should just remove the sentence about constants changing.

      • hachibuOP 6 years ago

        This is a great comment. I updated my post based on your suggestion.

    • rantwasp 6 years ago

      if you read "Our Mathematical Universe: My Quest for the Ultimate Nature of Reality" by Max Tegmark, many worlds falls in the bucket of L3 multiverse. What you're describing is a L4 multiverse (see comments below. seems it's L2, not L4. will leave my mistake in, although i'm sure there is a parallel universe where i did not make this mistake)

    • kevinmgranger 6 years ago

      I'm not sure which Sean Carroll talk you saw, but I think he only mentions the differences between worlds in terms of different "choices"-- and these universal constants don't "choose" to be what they are, right?

  • archgoon 6 years ago

    Well; another problem is that saying that branching happens at all is to miss the point of MWI; which is to avoid collapse. There aren't any discrete "branching" events.

    • TheOtherHobbes 6 years ago

      That sounds unlikely because empirically Certain Things Happen and Other Things Don't, and you need to be able to explain why. With examples.

      MWI honestly sounds like the philosophical equivalent of No True Scotsman with added Meatloaf - no one is really sure what it means in detail, but they're somehow sure it doesn't mean that.

      • tines 6 years ago

        MWI explains that "Certain Things Happen and Other Things Don't" is an illusion - everything that can happen, given the quantum probabilities, does happen. There is an infinity of branching outcomes. The only reason you perceive that Certain Things Happen is because, despite there being infinite paths from the root of the tree to a node, there is exactly one path from any node (where you are) to the root of the tree. So you look back and each moment appears to have followed from the previous, because it did. But the moments you experienced aren't the only ones that proceeded from the moments prior.

        • philipov 6 years ago

          I think a typical criticism of that is that Many Worlds replaces the mystery of wave function collapse with the mystery of why we are on this branch rather than one of the many copies of us on other branches.

          • tines 6 years ago

            I don't think this is a particularly effective criticism. It's about as insightful as asking why I'm me and not you.

  • rantwasp 6 years ago

    right. it's more like copy-on-write than a completely different replica. also, the probability of the outcomes is not the same (ie some worlds may be more equal/present than others).

    it's questionable if it's one world or a split happens and we have multiple worlds. I would lean toward one world with phenomena that we don't really understand.

    • doubleunplussed 6 years ago

      The main thing that's wrong is that we have no reason to believe the fundamental constants change.

      Regular quantum mechanics is compatible with the many-worlds interpretation (of course it is), but talk of fundamental constants changing would require new theories that we don't have (not to mention evidence of those theories). That would be something incompatible with quantum mechanics as we know it, within which the fundamental constants are, well, constant.

      • rantwasp 6 years ago

        just because those constants are incompatible with our current understanding does not mean it's not possible, even if only on a theoretical level.

  • EdJiang 6 years ago

    The JS equivalent would be for this to use different babel, and node.js versions? Random compatible dependencies based on semver?

  • akvadrako 6 years ago

    Within one of the Everett worlds you’ll likely have eternal inflation with many pocket universes that effectively have different constants.

    There are even some papers that suggest the worlds of eternal inflation and MWI are the same.

  • runawaybottle 6 years ago

    I might be conflating this with parallel universes, but what would be an example of this?

    If variations of ‘me’ exist in all worlds, am I the universal constant?

    Speaking as the center of the universe as far I’m concerned over here :p

    • rantwasp 6 years ago

      an example would be the speed of light is different. or the mass of certain particles is different. or the dark matter to normal matter ratios are changed.

    • schwartzworld 6 years ago

      versions of you could not exist in all worlds, but there are still an infinite number of universes where you exist

      • suby 6 years ago

        I don't understand how this could be true. The chances of you coming into existence require an astronomical number of things to happen in an exact time and order. Changing any number of those variables will cause a chain reaction that will make your existence not happen.

        If we assume the universe is deterministic, then changing any of the starting variables of the universe will cause a different course of events playing out. If the speed of light were different, for example, a different course of events would have played out and you and I would have never come into existence.

        If we assume the universe is not deterministic, then even if we had another universe with the exact same starting variables, the chances that things would play out exactly the same are also absurdly small.

        Just because a set of things is infinite does not mean that it will contain everything. I could have an infinite set of odd numbers, and none of those numbers will be even. It strikes me that infinite number of universes would be the same.

  • tim333 6 years ago

    Yeah usually the Many Worlds hypothesis has the same constants, certainly as Everett proposed it.

    The multiverse theory is usually used for having many universes with different constants and the like. Of course word use may vary.

    • philipov 6 years ago

      You're thinking of the Cosmic Landscape. Many Worlds [Everett] interpretation is branching of the quantum wave function as described by GP. It solves the probabilistic nature of quantum mechanical observables by saying that all possibilities occur, but we only see one of them because we exist in only one branch and branches can't interact. The copy of us in a different branch would see a different outcome.

AgentME 6 years ago

This idea seems like it might be useful for anonymizing code.

fennecfoxen 6 years ago

> According to the many-worlds interpretation of quantum mechanics, your universe branched into many universes the moment you decided to use a for-loop. In this universe you wrote a for-loop, but in another universe you wrote a while-loop.

Nonsense. If universes branch into many other universes, they do so when an event on the quantum level needs to be resolved. I presume that during any single decision-making operation, there are trillions of probabilistic quantum events took place in your brain, but your decision to use the for loop was almost certainly fully deterministic, because at this point in time you personally almost always pick for-loops.

  • fastball 6 years ago

    I was actually delighted to discover that I've matured (ossified?) enough as a programmer that my source code is in fact fairly deterministic: the other day I somehow managed to completely wipe a fairly complex function (100+ LoC) from my repo before I committed it. I did this a week or so after I initially wrote the function. I then rewrote the function from scratch, with very little memory of how I wrote it the first time, just knowledge of what it needed to do. Ironically enough, almost as soon as I finished writing this function, I found a copy of the original one that I'd somehow stashed and forgotten about, and the two functions were literally identical.

    • ChristianBundy 6 years ago

      Interesting, I've noticed the exact opposite. For me, rewriting a program produces a slightly different program with different trade-offs. It's rare to have the time to build a bunch of different implementations of the same code, but when I have time it results in code that I'm very happy with.

    • hachibuOP 6 years ago

      That's pretty cool actually. That speaks to your consistency as a programmer.

  • codethief 6 years ago

    Exactly. If I may add: We (as humans) don't get to choose when and where god flips the coin. Any claims to the contrary fall in the realm of esoterics.

    For a similar reason the measurement problem and the question of whether the presence of (conscious) observers makes the wave function collapse should not be misinterpreted as "You can influence reality with your thoughts alone" or "If you believe in something strongly enough, it will happen."

thrower123 6 years ago

I sort of wish I could trade places with the version of me in the universe where Flash wasn't murdered.

  • TedDoesntTalk 6 years ago

    You liked flash programming??

    • thrower123 6 years ago

      I think I would appreciate it now, and the JavaScript that replaced it is really horrible. We haven't really gained any ground in about fifteen years, in real terms, there's just been a lot of swirling.

      Even WebAssembly's best case scenario is... Java Applets done a smidgeon better.

      • krapp 6 years ago

        WebAssembly's best case scenario is "native software compiled to run to the web." Unlike Java applets, WebAssembly isn't tied to a specific language or runtime, so that "smidge" in the case of being inclusive of so many languages is pretty big.

        You could even run Flash sites in WebAssembly, the only thing stopping that from happening is copyright law. It would probably be even safer and run faster than Adobe's plugin.

        • thrower123 6 years ago

          Or you could just run native software...

          I dunno, I don't get the point. If it gets rid of the dumpster fire that is JS applications, good, but it'd be better if the web could be for documents and applications could be for applications.

          I'm too cynical and I've seen too much to believe that it'll be silver bullets and rainbows.

          The write-once, run-everywhere idea always falls down, and pushes everything to lowest common denominator shovel-ware.

          • krapp 6 years ago

            >but it'd be better if the web could be for documents and applications could be for applications.

            I disagree. Being able to compile software in practically any language and have it run both natively (because native runtimes for WebAssembly do exist) and in a browser would revolutionize the way people access software.

            I mean, someone wrote Pong in COBOL[0] and I can run it in a browser without having to find a COBOL runtime for Windows 10. That's pretty damn cool, and it's significantly better than what Java and Flash could provide for both developers and the end user.

            [0]https://news.ycombinator.com/item?id=23189918

    • schwartzworld 6 years ago

      I never programmed flash, but I consumed plenty of it. The internet is a less interesting place without flash websites.

tiborsaas 6 years ago

This is art, I love it.

holoduke 6 years ago

It's funny that there is such a pro and anti js movement in the hardcore professional programming world. I know it's a bit off topic. But in every js topic here at hackernews you can feel this tension. I have never seen this before. And this place is visited by the best programmers out there . Very interesting

  • jacobr1 6 years ago

    Here is my theory: it is a limitation of the medium of the web. In other software fields, one can use the tooling they like. But with the browser, JS is a must (nascent webasm may change that though). The Go people don't really fight the Rust folks, they just go off to their own camps, occasionally comparing and contrasting. But in the web/js world, everyone is forced to commingled, and so preferences collide.

  • Spivak 6 years ago

    It's a combination of popularity, forced usage, organic growth, and maturity.

    If every single developer ever had to write Java we would see the same complaints.

    * A ridiculous amount of dependencies and tooling.

    * As many competing ways to architect programs as there are Java developers.

    * Lots of warts and quirks due to design missteps in hindsight. Ignored by the people who love it but grating to the people who don't.

    * As many "the good parts" as there are Java developers.

    * Everyone complaining about Spring like they do React.

    For most languages if you don't like it you don't use it. But with JS (just like Java in the 90's and 00's) even if you don't vibe with JS it's completely unavoidable.

  • 52-6F-62 6 years ago

    I don't like a lot of the vitriol, but I do find reading those threads interesting and sometimes really enlightening. Sometimes I disagree, sometimes I agree, sometimes I learn, other times it's just bickering but just the same... it's strange, but interesting.

    Pro JS (more TS) camp here.

  • throwaway_pdp09 6 years ago

    There are 2 issues with JS. First is simply as a language. Some people hate it's weirdnesses, which I do understand, but the easy way is to deal with it is just be very explicit.

    The more interesting one is JS as a web tool. The reason I'm so against it (and I am making a point and do not want to start an argument) is that it exposes a turing complete language directly to the web, said language having very substantial access to the browser, which stores and ultimately can expose an awful lot of personal information to the world. Where else do we allow this to happen?

    JS per se isn't an issue, just the dangerously privileged position it's been given. Any other lang doing the same thing would be distrusted by me equally.

  • Osiris 6 years ago

    Programming languages are just a means to an end. I've used various language over the years and what I remember is what I built, not whether the language had pattern matching or not.

    I have fond memories of writing PHP because it helped build a site to share messages with my family before Facebook. I remember VB.net because I tried to write a game in college. I remember C# because I built a laptop battery meter that I still sell 10 years later. I remember learning JS with node.js because I wrote a log aggregator.

    Let's stop focusing on the how we get there and celebrate what we build.

  • yesenadam 6 years ago

    Aren't most popular languages like that? Pro-C, anti-C, pro-Lisp, anti-Lisp etc. Pro and anti Perl, Python, Haskell, Bash, Forth, C++, Go etc. Pro and anti OOP, pro and anti FP etc. There are the languages people argue over, and the languages nobody uses. (And a select group nobody uses but are still argued over - Lisp, Smalltalk, Forth, Prolog, APL etc)

Keyboard Shortcuts

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