On 1/16/07, benjohn / fysh.org <benjohn / fysh.org> wrote:
> >
> >>  > What about Io? I haven't used either Io or Lua myself, but they
> >> both
> >>  > seem to offer similar embedding-oriented features, and Io seems
> >> like a
> >>  > more attractive language to work in.
> >
> > Io is, at this point in time, too immature, compared to Lua or Ruby.
> > Their current "stable" release won't even compile.
> > And, unfortunately, their developers are a tad insane and use darcs for
> > revision control, which means you can spend almost an hour retrieving
> > their current unstable release the first time you check it out.
>
> :) I thought Darks seemed pretty awesome when I looked, but very
> annoying needing to get hold of ocaml or hascal, or what ever it was to
> compile it up. Now, if it were written in Ruby...

Replying to the general content above...

Io developers are very smart and also very novel. They have managed to
reinvent a good portion of language ideas out there. This is a sign of
good levels of insanity. Sane people would probably fall in line and
do with the less than perfect tools available. Insane people take on
invisibly huge projects and responsibility to create  things that some
people just haven't thought possible or realistic.

The result? Io is a great language that is combining a lot of healthy
features into a pretty usable package (co-routines, prototype object
system, message tree as objects as code -- hello lisp, etc... see
iolanguage.com or check out freenode's #io). It is regrettably
unstable though. I've fallen out of the active crowd, being so busy
with work, but last time I was involved it was mostly an unplanned
project with some rough ideas. I hope it has moved beyond project
management difficulties.

The use of darcs was actually one of the more key portions of the Io
community IMO. I have to admit I am biased though. I was one of the
people who originally suggested that darcs be used (there was a time
when there was nothing but rsync :S -- Steve is happily into the scm
thing now). What it let us do was experiment and detach things from
the main repository at any time and with anyone. Things like bikeshed
arguments quickly became show-me-a-darcs-patch. This really helped us
evolve things much faster than just a simple ML would have done.

The barrier to entry was also pretty high because of darcs and the use
of IRC over the ML for serious conversations. This meant you had to
put the time in to be heard. Is it fair? I don't know. It seems to
keep trolls out but does it prevent valid work? It probably is just a
trade off like anything. I've had success (great active collaboration)
and failure (a few bug fixes floating around that took over a week to
get applied when it isn't mentioned actively enough) with this system.

Haskell needs no major mention as it is pretty popular topic on social
networks like reddit. It is worth noting that it can be a pain to take
on such a large monster just to get an SCM installed. All I can say is
that I would rather have more stable projects using something other
than C (good bye seg-faults -- mostly).

As far as a good scm in Ruby... now there is something I would love to
see. I've honestly been thinking of porting Mercurial, as I have
mentioned many, many times. One other interesting option would be to
wrap git up into a ruby extension and then write some code with that.
Of course, like most of these stories go, I don't have time right
now... but if someone does, I would love to help out in smaller ways.

Brian.