Monday, July 5, 2010

Something Old, Something Nu, Something Interoperable

I am amazed at diversity in the vast field of computer science. There are so many needs and some many solutions, and new needs and new solutions arising from the desire or sometimes necessity to communicate between different software over different architecture, networks, etc.

Interoperability influences even choosing a language or designing one!

Here are a few languages targeting a varying spectrum of platforms.
  • Nu, an object-oriented Lisp I heard about on Disclojure, targets Objective-C.
  • Clojure, a functional programming Lisp, targets the JVM.
  • Fantom, a multi-faceted language, targets both the JVM and .NET (and Javascript on the browser)
I'd like to talk a bit about the first two. They both seem well though-out and elegant languages with clear design goals.

What I'd like to highlight though, is that the respective language designers of both previously worked on bridging two languages. In one case, between Common Lisp and Java, in the other case, between Ruby and Objective-C.

Both designers ended up designing a new language for marrying with their platform of choice with maximum interoperability.

I just found it an interesting parallel between two elegant and pragmatic languages.