| > I have seen it, it is no better than Python's, exactly as I said. I'm going to have to call your bluff and ask you to substantiate your claim. Please show where Python provides, as a part of the language and/or the standard library, the equivalents of these Erlang built-ins: 1. Module versioning (via vsn) 2. The ability to run multiple versions of the same module at the same time, transparently and for as long as needed. 3. The versioning (via Module vsn), tracking (via handle_call/3 and derivatives), and migrating (via code_change/3) of State. 4. The dependency tracking and ordering between code updates of multiple modules (via release_handler) These are the native features that make hot-swapping in production not only feasible, but also powerful and easy. Of course, these are built on top of foundational primitives that are possible in any language, sure, but not all languages (including Python) have these natively available. ---- > Hot swapping Erlang in production is rarely done, and if it is done, it mostly done during debugging, not serving production traffic. > I invite you to do a straw-poll on the erlang mailing list. I'm sorry, but this point you're introducing now is unrelated to the discussion we're having, so I'll refuse to respond to this in any way except to remind you of the point we _are_ discussing: 1. adrr's claim: " Erlang was developed for telecommunication systems where you need performance and the ability to hot swap code." https://news.ycombinator.com/item?id=23286646 2. To which you responded: "Erlang's hotswap and Python's hotswap are of comparable power, ie, both are crappy. Being able to do something isn't the same as doing it well. You can hot swap all languages." https://news.ycombinator.com/item?id=23287624 |