On Wednesday, 19 December 2012 at 10:55:43 UTC, foobar wrote:
There other part of an intermediate representation which you ignored is attaching *multiple backends* which is important for portability and the web. Applications could be written in safeD (a subset that is supposed to have no implementation defined or undefined behaviors) and compiled to such an intermediate representation (let's call it common-IR since you don't like "bytecode"). Now, each client platform has its own backend for our common-IR. We can have install-time compilation like in .NET or JIT as in Java or both, or maybe some other such method. Having such format allows to add distribution to the system. The serialization and de-serialization is only pointless when done on the same machine.

Another usecase could be a compilation server - we can put only the front-end on client machines and do the optimizations and native code generation on the server. This can be used for example in a browser to allow D scripting. Think for instant about smart-phone browsers.

the dreaded "bytecode" helps to solve all those use cases.

Imagine if the compiler were built in a user extensible way, such that one could write a plugin module that outputs the compiled code in the form of JVM bytecode which could run directly on the JVM.

It doesn't really matter if Walter is correct or not concerning his views, what matters is that people want X, Y and Z, and no matter how silly it may seem to some people, the silliness is never going to change. Why fight it, why not do ourselves a favor and embrace it. We don't have to do anything silly, just provide the means to allow people to do what they want to do. Most of it will be bad, which is the case right now and always will be, but every so often someone will do something brilliant.

Why not make D the platform of choice, meaning you really do have a choice?

--rt

Reply via email to