Sean E. Russell wrote: > Yeah. That is a different sort of backwards compatibility, though. I'm > considering deprecating an entire *package*. But, as I said, I'm still > trying to find a reasonable way through this. > Is there some reason why a thin API facade is impossible? You wouldn't need to make it high performance. > Java 1.0 -> 1.5 didn't break anything. Java 1.0 code is legal 1.5 code. Which is why Java has (for example) at least four different equivalents of a Ruby Array, all subtly incompatible with each other, and that's not counting stacks, sorted sets or lists. Some of us think that's a bad thing. Java took the approach of not wanting anything to break ever, because that was a commercial selling point of the language--write your code once, and it'll run anywhere, implicit in which was the promise that it would keep running. Ruby being free open source software has the option of not chasing popularity, but instead chasing cleanliness. Perl is another example of the "sounds good, throw it in" approach to language design. Python is the opposite extreme, "do it our way exactly, or get lost". Ruby seems to be somewhere in between, which probably means these conversations are going to be endless. mathew