3 ms·
Which languages have thorough first-party documentation of how the runtime works in an easily accessible form that's available to the public? I don't think Pyth
by hyperpape 9y ago
Which languages have thorough first-party documentation of how the runtime works in an easily accessible form that's available to the public? I don't think Python or Ruby do. Lua maybe, but that's "cheating" because the runtime is small enough to comfortably read through.
It seems to me like Hotspot has more resources and better documentation of its architecture than most, but when it comes to things like inlining policies, the specific compiler optimizations that happen, safepoints, etc. it's mostly a matter of tracking down random blog-posts, most of which come from third parties.
Edit: Python is better than I remember.
- amelius 9y agoCheck the documentation of Mozilla's Spidermonkey in comparison: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Internals https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Sp...
- johncolanduoni 9y agoWow! The last time I looked at the SpiderMonkey API documentation (a few months ago) it was like reading the rings on a tree, so much so that I gave up and went with V8 even though there were actively developed SpiderMonkey bindings for the language I was using (Rust). Nice to see things have improved greatly!
- fernly 9y agoPython just revels in introspection. The standard module dis[1] lets the programmer disassemble and display bytecode, and includes a full list of the opcodes (which appear to be much simpler than the V8 ones described). The standard module ast[2] documents the AST used by the compiler. [1] https://docs.python.org/3.5/library/dis.html#module-dis https://docs.python.org/3.5/library/dis.html#module-dis [2] https://docs.python.org/3.5/library/ast.html#module-ast https://docs.python.org/3.5/library/ast.html#module-ast
- stcredzero 9y agoWhich languages have thorough first-party documentation of how the runtime works in an easily accessible form that's available to the public? Smalltalk, though you might have to go to a library and check out a dead tree book.
- colejohnson66 9y ago.NET bytecode (CLI) is standardized in ECMA-335[0] [0]: https://www.ecma-international.org/publications/standards/Ecma-335.htm https://www.ecma-international.org/publications/standards/Ec...