On 13/12/2009, at 12:24 AM, Jaroslaw Zabiello wrote:
> improved syntax and uses native Objective-C classes. E.g. MacRuby
> String = Objective-C NSString. I like power of Lisp (and its dialects
> like Clojure or Nu) but I curious how Nu compares to new MacRuby 0.5
It looks very good to me, and people using MacRuby would be happy with
what they're doing. I say this as an ex-Ruby programmer.
I find that Nu has the same level of conciseness and readability
without the need for complex grammar and multiple ways of expressing
the code. I also note that Ruby and Objective-C have different ideas
for objects (despite both being based on Smalltalk), and that MacRuby
doesn't have entirely native syntax for Objective-C calls. I also like
the way that Nu is not really a language in its own right, and
automatically benefits from any improvements in Objective-C or Lisp
without needing to port the improvement across to Nu itself. Nu code
is directly implemented as Objective-C objects, so it handles being
threaded in GCD or distributed objects with no issues.
The specific and killer advantage for Nu is that it has a one-to-one
mapping with Objective-C, so that the initial code can be rapidly
developed and then ported down such that Nu isn't needed anymore.
Unfortunately, I can't find the large collection of articles that Tim
used to have on his blog... :( If you write code in MacRuby then you
will need to switch between Ruby and Objective-C to get proper
coverage (eg, extensions, plugins, bits that don't work in Ruby). With
Nu, you're programming in Objective-C even when you're writing code in
Lisp. It is a syntax difference rather than a language difference,
which reduces the amount of stuff to remember.
Having said that, I would have been very happy with MacRuby if I
hadn't found and understood Nu first. I would wrap up by noting that
MacRuby is being developed and will always need to be developed to
keep up. Nu is entirely up to date without having been developed for
over a year now as it simply connects bits of other people's stuff
together in a very clever and not initially obvious way.
--
st...@adam.com.au