5 ms·
You're baffled because the author has no idea what they're talking about. TypeScript is a superset of JS, it makes no sense to compile it to a platform designed
by TazeTSchnitzel 9y ago
You're baffled because the author has no idea what they're talking about. TypeScript is a superset of JS, it makes no sense to compile it to a platform designed for AoT-compiled systems programming languages.
- Fifer82 9y agoSince TypeScript is a transpiler, couldn't it output a new "MyLittlePony Lang" for example and then WebAssembly from that?
- TazeTSchnitzel 9y agoIt could output whatever it likes, you can compile anything to anything.
- Shoothe 9y ago> ...the author has no idea what they're talking about. TypeScript is a superset of JS, it makes no sense to compile it to ... I agree with this. Mentioning compilation of TypeScript to WebAssembly shows some misunderstandings of both of these technologies. WebAssembly was designed to run code already written in some low level language like C/C++ because running already written software in a browser is easier than rewriting it. Of course you can compile Rust into WebAssembly but that was not a reason for why WebAssembly (and it's predecessors, asm.js, PNaCL) were conceived. On the other hand TypeScript makes JavaScript programming easier for when the app becomes too big to maintain without tooling.
- umilegenio 9y agoThere is no need to be rude. TypeScript was used as an example of a well-known language that currently is transpiled to JavaScript. I am not saying that TypeScript will surely be compiled to WebAssembly, just that it could. TypeScript is designed for development of large applications. It is a superset of JavaScript both because this facilitates learning, but also because there was really not an alternative. In the end you had to compile to JavaScript. It is not hard to imagine a language with the same objective of TypeScript that is compiled to WebAssembly. Furthermore, if TypeScript was compiled to WebAssembly you could use it wherever there was a platform for the WebAssembly format. So if somebody created a project to consume WASM binary files and execute them from within .NET assemblies[1], you could use TypeScript outside the browser and node. [1] https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFutureOfTheFrontend.aspx https://www.hanselman.com/blog/NETAndWebAssemblyIsThisTheFut...
- TazeTSchnitzel 9y ago> There is no need to be rude. I apologise. I'm just… rather surprised at such an idea. > It is not hard to imagine a language with the same objective of TypeScript that is compiled to WebAssembly. It is not hard to an imagine a strongly-typed language targeting WebAssembly, sure. But TypeScript is not that kind of language. TypeScript is just JavaScript, and JavaScript, as a highly dynamic language, is a very poor candidate for the kind of ahead-of-time compilation to a low-level target that WebAssembly was made for. I mean… it could, technically, be done, but why would anyone do so? The result would be bigger and slower than normal JS.
- umilegenio 9y agoLet's agree that is feasible, but unlikely.
- deleted 9y ago[deleted]
- pjmlp 9y agoYet it is already happening. https://github.com/AssemblyScript/assemblyscript https://github.com/AssemblyScript/assemblyscript https://github.com/01alchemist/TurboScript https://github.com/01alchemist/TurboScript
- Jasper_ 9y agohttps://github.com/AssemblyScript/assemblyscript/blob/master/examples/game-of-life/assembly/game-of-life.ts#L16 https://github.com/AssemblyScript/assemblyscript/blob/master... This doesn't look like traditional TypeScript to me. The explicit loads/stores give away the whole trick. https://github.com/AssemblyScript/assemblyscript/blob/master/examples/game-of-life/game-of-life.html https://github.com/AssemblyScript/assemblyscript/blob/master... And it requires JS twice the size of the TypeScript to actually use the output generated by AssemblyScript. I personally don't see WASM a valid target for AssemblyScript for another year or two, until either the gc or host-bindings proposals lands.