Things like a rich event loop (much more than just after/timeouts, it's
a single easy model for all I/O and UI stuff), virtual file systems,
mature end user deployment solutions like Starkits, code protection,
excellent performance tuning, etc. are a few examples of things that
evolve over time, and are more likely to be in the more mature languages
- hence the appeal. As I said, I hope some of these types of things
migrate to Ruby over time; I'm sure you can get most of the way there
now by cobbling pieces together, but the edges are quite rough.
You mentioned OO being a drawback of Ruby in another message, but I
don't think that's a drawback at all. (Yes, coming from someone who
does a lot of Tcl for small and large programs, both with and without
using some of the established OO extensions for Tcl).
I believe that self-contained languages are useful, but their reach or
goals can't be compared to more general purpose languages like Ruby,
though other languages like Tcl are very nice in their niche. It's
like JavaScript: how to replace them in their niche?
People can use general purpose languages and obtain as much as a good
result as the self-contained ones, but it takes some extra work, which
may pay-off in the next project.
When general purpose languages evolve, it means that their easiness
and reach may increase with the time, while the self-contained
languages may have a harder time embracing other goals (like becoming
cross-platform, supporting OO, etc).
I'm probably just missing something, but what do you mean by the
distinction between "self-contained" languages vs. general purpose ones?
(If you have somewhere to point me to, that'd be fine too).
Also, what would you see as Tcl's niche? (I've always felt it's use was
fairly broad-based, with small pockets here and there, but a lack of
concentration... not necessarily a good thing).
I think Ruby has a great foundation, and I'd love to see it evolve
quickly to smooth out some of the rough edges that are a natural part of
every newer language.
Thanks
Mark