4 ms·
PFFFT! A language interpreted at runtime, by an application that runs inside an operating system (which may or may not be virtualized) that boots into protecte
by buzzWerdzGalore 14y ago
PFFFT!
A language interpreted at runtime, by an application that runs inside an operating system (which may or may not be virtualized) that boots into protected mode. Let me get this straight, you're ostensibly describing this as being "bare metal"?
Have you ever heard the terms "kernel mode" or "ring zero"?
Oh wait, you qualified it as "the 'metal' of the web"... so it's an "analogy". Sorry to be pedantic, but when people say "bare metal" in the context of platform virtualiztion, "bare metal" literally means just that. The executable code is compiled into binary that directly correlates to the copper wires (and etched semi-conductors, or perhaps even vacuum tubes) of the specific, real, tangible machine intended to execute the code. JavaScript is nothing like this.
Maybe the packets and datagrams of transmission protocols are the "bare metal of the web", but JavaScript most certainly is not.
Check out the Communication Systems OSI Model.
http://en.wikipedia.org/wiki/OSI_model http://en.wikipedia.org/wiki/OSI_model
I'd contend that nothing above Layer 4 could be considered analogous to "bare metal".
- buu700 14y agoYou're really reading too much into his analogy; it was a quick informal way to get a point across and everyone (should have?) understood what he meant.
- dbenhur 14y ago> The executable code is compiled into binary that directly correlates to the copper wires (and etched semi-conductors, or perhaps even vacuum tubes) of the specific, real, tangible machine intended to execute the code. You do realize it's been a while time since the ostensible instruction set and corresponding assembly language of most modern CPUs translated directly to the bare metal execution model of the machine. http://en.wikipedia.org/wiki/X86#Current_implementations http://en.wikipedia.org/wiki/X86#Current_implementations Even on RISCier architectures, virtual memory, deep instruction pipelining, super-scaler dispatch, branch prediction, multi-layer caching, inter-core cache coherency, etc. introduce a huge amount of abstraction between the instruction you write and the actual execution on "bare metal". On current chips, x86 machine code is as much a virtual machine as java byte-code. It's abstractions all the way down, you just pick different levels for different classes of work and "bare metal" is now just a label for one below where you landed.
- IheartApplesDix 14y ago>On current chips, x86 machine code is as much a virtual machine as java byte-code. I understand what you're trying to say, but this is way off base. x86 instructions may not align exactly a processor's primitive operations, but that doesn't mean abstraction makes x86 similar to the JVM, at least not anymore than it is similar to a Bible printed on papyrus. But nobody cares if ancient Hebrew is just as much a virtual machine as Java, so stfu.
- nkassis 14y agoYou should leave out the stfu next time. You comment stand on it's own without it.
- easymovet 14y agoSilicon isn't technically a metal anyways ;) A metalloid at best. http://en.wikipedia.org/wiki/Metalloid http://en.wikipedia.org/wiki/Metalloid "Sometimes writing markdown feels like working on the bare metalloid"
- buzzWerdzGalore 14y agoHa! Okay, ya got meh! But! IN THEORY You could still construct a processor out of electromagnetic relays (springs, contacts, leads and solenoids only), if perhaps your goal was to never exceed 100 Hz. (...at first I was going to point out http://www.bigmessowires.com http://www.bigmessowires.com but it turns out that beyond the wire wrap connections, he's still using modern semi-conductor packages)
- egeozcan 14y agoI think you're on your way to praising the god particle: http://abstrusegoose.com/98 http://abstrusegoose.com/98