Yeah, I'm watching the
Clang /
LLVM projects and the attempts to integrate them into BSD with great anticipation, but it will probably take a couple of years before all
ports can be reliably compiled and the GNU compiler / toolchain can be abandoned completely.
By the way, it's starting to look like Python will be the major scripting language of a GNU-free UNIX OS. Once again, the corporate hero there is Google with its
unladen-swallow project (which also uses LLVM). Python is also the easiest way to script
libtorrent / python-ogg, because all major front-ends for those BSD libraries are either copyleft themselves or have copyleft dependencies.
I'm a big fan of
Ousterhout's dichotomy - a language should either be system-oriented or scripting oriented. Unfortunately there's also a dichotomy between generations: the current (C for systems, Python for scripting) and Google's vision for the future (Go for systems, Web client / server-side JavaScript for scripting) - so that's 4 languages to be concerned with. Everything else (Java, Obj-C / C++, perl, ruby, PHP, lua, tcl, bash scripts, etc) should be phased out, the sooner the better. The older generation will be around for a long time, until JavaScript gradually gets more libraries than Python / PHP, and all systems software (including the kernels) are rewritten in Go. Then - singularity!