4 ms·
What we need is some kind of jvm-like VM binary standard that several languages can compile to. Right now that's simply JavaScript, though, but it's not very go
by tormeh 12y ago
What we need is some kind of jvm-like VM binary standard that several languages can compile to. Right now that's simply JavaScript, though, but it's not very good for this purpose.
- gcommer 12y agoIn case anyone hasn't heard of it, Asm.JS is basically trying to turn JavaScript into a similar standard. Combine that with sourcemaps in browser debugger tools and we're really close. I've been using clojurescript recently, and I can even connect a REPL to the browser and make on-the-fly changes just like we've always been able to do with JavaScript.
- AnthonyMouse 12y agoWhat I really wish someone would build is this: Create a platform-independent machine language which is designed to be translated into arbitrary other machine languages. Then put the equivalent of FX!32[1] in the browser to translate it to whatever architecture the client is running on. And have a compiler that will compile to both that and to asm.js, with asm.js being used (with consequent lower performance) for legacy browsers. The point here is that it isn't a VM at all. It's just an intermediary platform-independent binary code. So it doesn't care what kind of language you're compiling from or what kind of hardware it's running on, but it still doesn't need a huge slow insecure runtime environment. Basically it should do what Java originally tried to do, minus the fatal mistake Java made in tying the bytecode to a specific high level language (and thus all the changes made over the years which have made the JVM big and complicated). [1] http://en.wikipedia.org/wiki/FX!32 http://en.wikipedia.org/wiki/FX!32
- lloeki 12y ago> Create a platform-independent machine language which is designed to be translated into arbitrary other machine languages. > The point here is that it isn't a VM at all. It's just an intermediary platform-independent binary code. PNaCl ?
- AnthonyMouse 12y agoBasically, yeah -- just add a target for asm.js so the same code can run in browsers that don't support PNaCl.
- kragen 12y agoThis is known as UNCOL, and many attempts at it have been made, dating back to the 1960s.
- abecedarius 12y agoI made a 0.1 release of just this idea back in 2001, then abandoned it because I'm lazy: http://wry.me/~darius/software/idel/ http://wry.me/~darius/software/idel/ Well, minus the asm.js, which I kind of wish I'd thought of at the time.
- datashaman 12y agoLLVM.
- tormeh 12y agoUnfortunately platform-specific stuff leaks into the intermediate representation of LLVM.