On 1/28/06, Caleb Tennis <caleb / aei-tech.com> wrote:
> >
> > In addition to Matz, I'd most particularly like to hear from the
> > various Daves
> > in the group.  I find that the Daves' opinions are often worth paying
> > attention to.  Any suggestions are greatly appreciated.
>
> I'm not a Dave, but I agree with Matz' #4.
>
> I'd suggest having a REXML::compatibility_mode_1_8 = true switch that
> someone can turn on to keep their 1.8 code running like it did before
> so as not to have to change anything initially.
>

My opinion is rather extreme: if Ruby is already at a point where
something in the stdlib can't be improved without a fork, it might be
time to start shopping for a new language.
If you're familiar with Java, you'll know how crazy it is to browse
the standard library.  Partly this is because things marked for
deprecation in version 1.1 are still in there, happily working a
decade later.

If the library does get renamed, I'd vote to have the old "REXML1"
library dropped from the distribution.  That makes it clear that
things have changed, without silently breaking old code.  Old code
will break noisily. Heh.  I'd say having things break during the
'require' step beats having the code run and mangle up your data.

I'm not as caught-up on YARV development as I should be, but I'd
imagine the threading semantics are going to change fairly
significantly.  I can't readily think of a language that had a
"compatibility or else" restriction when doing a major revision that
turned out to make people happy.
Java 1.0 -> 1.5, C -> C++, Perl -> Perl 6, etc, etc.