If programming languages are for making programming easier, then it's clearly a mistake to use just one language to write programs. Different languages are optimal for different areas of concern. Rob Pike spent 6 months writing a language optimized for concurrency, then wrote an entire windowing system in just 300 lines. If a programming language is a tool, then people have been advocating doing everything with a hammer. What if we had a way of combining many different languages, so that each area of concern could be written in the language which is optimal for it? I think one of the strengths of Lisp, is that it's its own abstract syntax tree. In some ways it's more like a substrate for implementing other languages than a conventional computer language. What if we had a substrate that let us use multiple languages together?
Google Tech Talk on Newsqueak & High level abstractions for concurrency:
Google Tech Talk on Newsqueak & High level abstractions for concurrency:
http://video.google.com/videoplay?docid=810232012617965344...