The target date for a 1.0 beta is Jan 1, 2006 and the goal for this release is to clean up Io and make its implementation solid and ready for production use. This work involves a reorganization of the source tree, moving much of the implementation from C into Io, and extending the coverage of the unit test. Coroutines will be exposed within the language and actors, exceptions and the asynchronous networking control will be implemented in Io.
That’s cool to read. Especially the “moving implementation from C into Io.” I bet that really puts a language through its paces — insisting on pure language libraries instead of just wrappers of C libraries. (Of course I’m sure there will still be tons of C wrapper libraries — that’s something Io is very good at, and that’s a feature, not a bug.)
I haven’t done much with Io since I’ve been programming full time. Back when I was a sysadmin, a couple years ago, I was fascinated with different computer languages and kept learning new and interesting ones whenever possible. (That’s why I was writing Ruby scripts before everybody wanted to do Ruby because of Rails…) Now that I hack Perl full time, I don’t have the choice to say “hmm, I need a script, I could write it in bash or perl, but why not Python or Ruby?”
It’s nice to have gotten to know Perl much, much better than I had known it a couple years ago. I’ve learned some wonderfully cool things about Perl. But I miss those dillettante days. Maybe I eventually would have gotten to understand those wacky Haskell monads.
Now I find myself wanting to go back to Io and see what’s happened while I was away.
Ironically I’m doing something with Perl now (cooperative multitasking, using POE) which Io has always had built in support for.