- The dotnet framework to date is "language neutral" within a very narrow definition of neutrality.
- Should we care?
What is really needed in language neutrality? A few thoughts:
- Shared nothing, scalable threads. Let our languages run in the same address space, but force them to say at an arm's length from each other.
- Short-circuited message passing. Let our language collaborate the same way whether they are together or apart. Just make it more efficient if they are together.
- I/O and other system services. Let them use a common set of system services, virtualize the limitations of the host OS.
There is no reason why one could not build a Longhorn on this "less is more" model, and the result would have more potential (flexibility, scalability) than the one that appears on the horizon, as far as I can see.