All of a sudden, Google Web Toolkit (GWT) is beginning to look rather tame.
Making possible all the above “magic” is LLVM.
LLVM makes this happen by making Abstract Syntax Trees (ASTs) of each language to produce compatible binary code for another language.
LLVM is headed to be the compiler backend in a couple of years. It is already being used by Intel, AMD, Apple, and GNU GCC, and is as critical as Linux, if not more. VMKit (an LLVM project) will allow the creation of multi-language, multi-platform VMs with ease. Creating a JVM or .NET runtime could soon feature on a university course. Libraries from any language will be accessible to any other language e.g. call MFC API from Fortran, Swing API from C#, or WPF API from Java.