# If you are unhappy with the direction of Ruby 1.8.7+, respond

**URL:** <https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090>\
**Category:** Ruby\
**Created:** [February 11, 2009, 6:12pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090 "2009-02-11T18:12:33Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 9:13pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/21 "2009-02-11T21:13:24Z")

</div>

On 11 Feb 2009, at 19:55, Gregory B. wrote:

> > Yeah, look what it did to Forth.
> 
> Don’t just say it, show it.
> 
> [http://vividpicture.com/aleks/atari/forth.jpg](http://vividpicture.com/aleks/atari/forth.jpg)

Too many old Forth hands on here ;p

With all this back-porting it’s as if the foreshadowed magnitude of  
Ruby 2.0 is making the core team nervous of turning 1.9 into a genuine  
stable branch, so instead they’re forcing the stable features into 1.8  
instead. I’m sure this is a complete misreading of their intent on my  
part but it is a worrying path to be heading down.

I’ll admit that so far I’ve not had any problems with 1.8.7 but my  
colleague Romek has been having a horrible time with its OpenSSL  
support and quite a few of the tools he’s written with 1.8.6 no longer  
work. We’re currently debating whether or not to bite the bullet and  
move to 1.9.1 - assuming the current crop of books are an accurate  
representation.

Anyway if I or another developer want 1.9 features and/or syntax we’ll  
use 1.9 and the fact that some of us choose not to do so at this time  
is something I’d like to see respected by the core team.

+1

Ellie

## Eleanor McHugh Games With Brains [http://slides.games-with-brains.net](http://slides.games-with-brains.net)

raise ArgumentError unless @reality.responds\_to? :reason

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 9:18pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/22 "2009-02-11T21:18:44Z")

</div>

On Wed, Feb 11, 2009 at 6:10 PM, Gregory B.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> My goal is to survey ruby-talk so that the core Ruby team has a chance  
> to see what people really want. I’m curious to see if this is as  
> one-sided as I think it is.
> 
> -greg

Good idea Greg, now that Ruby1.9 is out I really fail to see the  
advantages of this.  
I am writing lots of compatibility code between 1.8.6 1.8.7 and 1.9  
and that really is time not too well spent.

I would like 1.8.6–\>1.8.8 so that I can just drop 1.8.7 support

1.8.7, 1.8.9 not really a strong opinion here, those could follow the  
rule of dev. releases: use on own risk.  
1.9 of course is great no complaints.

Cheers  
Robert

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 9:17pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/23 "2009-02-11T21:17:32Z")

</div>

I am not happy.

Ruby 1.8.7 and Ruby 1.8.8 are attempts to bridge the gap between 1.8.6  
and 1.9, but they change the 1.8 line in much more drastic ways that is  
warranted by a minor version number change. That’s one point against  
them.

A similar approach in the Python community has led to 2.6, 2.7 releases  
stepping toward 3.0, but those are major release version number changes  
and they’re only doing them if the community demands them. In this case,  
1.8.7 and 1.8.8 are moving forward whether the community wants them or  
not. Another point against.

Minor version releases should certainly not break things except as  
needed to fix bugs. Ruby 1.8.7 did this initially. They should not add  
entirely new APIs incompatible with other minor releases. They should  
not add new syntax incompatible with other minor releases. Ruby 1.8.7  
does the former, and 1.8.8 syntax backports will do the latter. More  
points against.

I still feel like Ruby 1.9 should have been 2.0. Then 1.8.7 could have  
been 1.9, 1.8.8 could be 1.10, and so on, and people depending on “Ruby  
1.8” to behave like “Ruby 1.8” would not be forced to upgrade.

In general, I don’t have any doubt that 1.8.7 and 1.8.8 would be fine  
standalone releases, but making them be minor version number changes  
essentially forces everyone to upgrade eventually, whether they want to  
or not, since Ruby distributors generally don’t expect a 0.0.x release  
to be filled with incompatible changes or additions. Ubuntu, for  
example, now installs 1.8.7 by default, so Ubuntu users are now much  
more likely to write code that doesn’t work on 1.8.6.

And note also that Ruby core has only a few resources to maintain Ruby  
versions…which means the existence of 1.8.7 and plans for 1.8.8 will  
eventually force 1.8.6 to be abandoned like 1.8.5 and 1.8.4. How would  
you feel about 1.8.6 being EOLed because of 1.8.7 and 1.8.8 taking up  
resources?

- Charlie

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 9:55pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/24 "2009-02-11T21:55:58Z")

</div>

On Feb 11, 2:04 pm, “M. Edward (Ed) Borasky” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> The process of ANS standardization focused the Forth community and  
> produced a syntax and semantics that are well-regarded in today’s Forth  
> community. I wouldn’t be using Forth today if it weren’t for the ANS  
> standard!

The process of ANS standardization decimated the Forth community and  
produced a syntax and semantics that are grudgingly accepted by some  
in today’s tiny Forth community.

He wouldn’t be using Forth today if it weren’t for the ANS  
standard! (A strong argument against standardization.)

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 10:03pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/25 "2009-02-11T22:03:39Z")

</div>

On Wed, Feb 11, 2009 at 12:10 PM, Gregory B.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> My goal is to survey ruby-talk so that the core Ruby team has a chance  
> to see what people really want. I’m curious to see if this is as  
> one-sided as I think it is.

+1024!

Others have pointed out the folly of having a teeny version number  
change  
carry API breaking changes.

Ruby 1.8.7 is NOT compatible with Ruby 1.8.6.

On an aside do any of the OS X users know if there’s a way in Macports  
to  
pin the version number of a package? The whole Ruby 1.8.7 thing has  
made me  
very paranoid of doing an errant port upgrade.

–  
Rick DeNatale

Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 10:16pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/26 "2009-02-11T22:16:01Z")

</div>

On 11.02.2009 18:27, James G. wrote:

> The new releases involve big changes and even if they are fully  
> backwards compatible about what they will run, they are still creating  
> pretty big compatibility gaps. Code using any of the new 1.8.7  
> features won’t run on 1.8.6 and lower.

Well, but this is usual, isn’t it? If you want exact 1.8.6 then take  
1.8.6. Or do you see changes in the third number as sole bug fix  
changes?

> It sounds as if 1.8.8 intends  
> to take this farther, so code written to that won’t work in the  
> different 1.8.7 branch or the earlier 1.8.6 and lower stuff.

But if I understand this correctly, 1.8.6 code will also run on 1.8.7  
and later.

> Thus I  
> feel we now have three different versions of Ruby 1.8 on the table  
> (counting the not yet released 1.8.8).

That seems to be the case. Maybe 1.8.7 should really have been 1.9.0  
but that version is taken already… IMHO the changes in 1.9 are big  
enough to warrant a 2.x but I guess Matz et al. have put quite a bit of  
thought into the version numbers - so maybe we should hear that before  
we make any judgments about what fits in a release and what not.

Kind regards

robert

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 10:16pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/27 "2009-02-11T22:16:37Z")

</div>

On Wed, Feb 11, 2009 at 1:42 PM, M. Edward (Ed) Borasky  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> I’ve posted my opinions on Ruby-Core, but I’ll summarize them here:
> 
> 1. The Ruby community should proceed with all deliberate speed towards  
> ISO standardization of the language.

Matz and his team announced that they were beginning and effort towards  
this  
end at RubyConf 2008.

However, I’m not sure I understand if their approach of doing this under  
the  
aegis of (IIRC) the Linux Foundation gets us to an ISO standard, based  
on my  
experiences of the ANSI/ISO process when I worked on standards like  
X3J20  
for Smalltalk.

> facto" standard versions have designated numbers already, why not keep  
> them as they are?

As others point out, there are a lot of packaging systems which make the  
assumption that a minor version number change is compatible. When the  
ruby  
team breaks that assumption, it can cause havoc for those who install  
and  
maintain their system with standard tools like dpkg/apt-get, ports, etc.

Some of the maintainers of packaged software don’t really work with the  
packages they maintain, and aren’t necessarily aware of or appreciative  
of  
philosophical differences like these. When the upstream developers break  
the  
assumptions of the package maintainers, it can lead to as much trouble  
as  
when the package maintainers disagree with the philosophy of the  
upstream  
developers and do things their own way. I’m talking about what  
debian/ubuntu  
do/did to rubygems here.

–  
Rick DeNatale

Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 10:46pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/28 "2009-02-11T22:46:39Z")

</div>

2009/2/11 Rick DeNatale [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Ruby 1.8.7 is NOT compatible with Ruby 1.8.6.

I’ve seen many people claiming this, and they might be right of  
course, but no one has shown any examples yet. If it is so hard to  
find 1.8.6 code that doesn’t work with 1.8.7, the backward  
compatibility of 1.8.7 seems to be pretty good.

Regards,  
Pit

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 10:56pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/29 "2009-02-11T22:56:39Z")

</div>

On Feb 11, 2009, at 3:42 PM, Pit C. wrote:

> 2009/2/11 Rick DeNatale [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
> 
> > Ruby 1.8.7 is NOT compatible with Ruby 1.8.6.
> 
> I’ve seen many people claiming this, and they might be right of  
> course, but no one has shown any examples yet.

This is trivial to prove. This code:

Object.new.tap { |o| p o }

runs on 1.8.7 and not 1.8.6.

James Edward G. II

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 10:57pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/30 "2009-02-11T22:57:49Z")

</div>

Pit C. wrote:

> 2009/2/11 Rick DeNatale [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
> 
> > Ruby 1.8.7 is NOT compatible with Ruby 1.8.6.
> 
> I’ve seen many people claiming this, and they might be right of  
> course, but no one has shown any examples yet. If it is so hard to  
> find 1.8.6 code that doesn’t work with 1.8.7, the backward  
> compatibility of 1.8.7 seems to be pretty good.

Well, Rails. And many SWIG-based C-extensions - eg wxRuby.

But this misses the main point - that there is no assurance that code  
developed using 1.8.7 (or 1.8.8) will run on 1.8.6. And no way of  
checking, other than scrutinising the ChangeLog. This is a huge  
disservice to library authors and users.

a

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 10:54pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/31 "2009-02-11T22:54:53Z")

</div>

On Wed, Feb 11, 2009 at 4:13 PM, Robert K.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> > I’m bothered by the new versioning scheme.
> > 
> > The new releases involve big changes and even if they are fully backwards  
> > compatible about what they will run, they are still creating pretty big  
> > compatibility gaps. Code using any of the new 1.8.7 features won’t run on  
> > 1.8.6 and lower.
> 
> Well, but this is usual, isn’t it? If you want exact 1.8.6 then take  
> 1.8.6. Or do you see changes in the third number as sole bug fix changes?

That’s the industry practice, a minor version number change normally  
means  
that there should be no or very little impact on the installed base of  
‘legacy’ code.

It sounds as if 1.8.8 intends to take this farther, so code written  
to

> that won’t work in the different 1.8.7 branch or the earlier 1.8.6 and  
> lower stuff.

But if I understand this correctly, 1.8.6 code will also run on 1.8.7  
and

> later.

I must say that I’m not entirely up to date with what NOW works on  
1.8.7,  
the stuff which used to break, e.g. rails and many gems has been  
catching up  
to the changes, but that is cold comfort for those who are faced with a  
broken deployment and either have to back-level dependencies, or go  
through  
a sometimes painful process of migrating a large application from the  
version of, say rails, they were using to the new one which runs on  
1.8.7.

It’s not so much of a problem for folks writing standalone code, or code  
with a small set of dependencies, but it has, and I suspect it continues  
to  
have, a large impact on a lot of folks trying to maintain their bread  
and  
butter.

> 

As I remember it, Matz didn’t want to have a version number like 1.8.10,  
and  
since there was danger of ‘running out’ the version numbering scheme was  
changed to make 1.9.0 the ‘unstable’ development release, and use a  
teeny  
number greater than or equal to 1 to indicate stability. This was OK as  
it  
stood, but then 1.8.7 came along and introduced incompatible changes  
backported from 1.9.0.

Regardless of the percentage of gems and frameworks which have been  
updated  
to work with 1.8.7. I still maintain that the backporting in 1.8.7 was a  
bad  
idea, and pushing it further would compound the problem.

–  
Rick DeNatale

Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 11:10pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/32 "2009-02-11T23:10:12Z")

</div>

On Wed, Feb 11, 2009 at 4:53 PM, James G.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> This is trivial to prove. This code:
> 
> Object.new.tap { |o| p o }
> 
> runs on 1.8.7 and not 1.8.6.

True, although the real issue is that there is code which runs on 1.8.6  
and  
doesn’t run ‘correctly’ on 1.8.7.

The real problem is when the semantics have changed, and this breaks  
frameworks and gems and such.

–  
Rick DeNatale

Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 11:19pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/33 "2009-02-11T23:19:35Z")

</div>

2009/2/11 Alex F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Well, Rails. And many SWIG-based C-extensions - eg wxRuby.

AFAIK 1.8.7 introduced a method that Rails was using. This could have  
happened in previous Ruby upgrades as well. I don’t see why this is  
something special with 1.8.7.

As for the C extensions: do you have more information about what was  
changed in the Ruby internals that lead to those problems?

> But this misses the main point - that there is no assurance that code  
> developed using 1.8.7 (or 1.8.8) will run on 1.8.6.

Again, this is nothing special with the 1.8.7 release. It has been  
like this since I’m using Ruby, which is since 2000. The important  
point is that (most) 1.8.6 code still runs on 1.8.7.

The only thing I understand you having problems with is that for other  
software projects you can expect that for example no new methods are  
introduced between a.b.c and a.b.d, so that the Rails problem wouldn’t  
have occurred there. But, again, Ruby version numbers have never been  
working like that. Despite this we have been able to arrive at 1.8.6,  
and I still don’t see what’s so special with 1.8.7 that we should stop  
at 1.8.6.

Regards,  
Pit

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 11:34pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/34 "2009-02-11T23:34:50Z")

</div>

2009/2/11 Rick DeNatale [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> True, although the real issue is that there is code which runs on 1.8.6 and  
> doesn’t run ‘correctly’ on 1.8.7.
> 
> The real problem is when the semantics have changed, and this breaks  
> frameworks and gems and such.

But this is because the former was consider a bug or for another  
reason? For example, (taken from  
[http://svn.ruby-lang.org/repos/ruby/tags/v1\_8\_7/NEWS](http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7/NEWS) )

- Date.parse

Looks like a really strange change to me. In fact, it confuses me. Ok,  
I know I can use Date.strptime when I know what I’m dealing with, but  
I still don’t get the point.

Someone can enlighten me, please?

Regards,

Serabe

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 11, 2009, 11:17pm UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/35 "2009-02-11T23:17:50Z")

</div>

Le 11 février 2009 à 22:53, Alex F. a écrit :

> But this misses the main point - that there is no assurance that code  
> developed using 1.8.7 (or 1.8.8) will run on 1.8.6. And no way of  
> checking, other than scrutinising the ChangeLog. This is a huge  
> disservice to library authors and users.

Somehow, I was wondering why the “new” code in 1.8.(7|8) isn’t made  
available through a library.

Something like :

require “compat-1.9”

Object.new.tap { |o| p o }

I guess that it’s a lot of work if it’s implemented in C, but maybe the  
work that went into backporting the functionality was misdirected and  
could have been more useful in doing a few ruby-written libraries to  
help smoothen the transition…

My 2 euro-cents.

Fred

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 12, 2009, 12:00am UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/36 "2009-02-12T00:00:38Z")

</div>

M. Edward (Ed) Borasky wrote:

> All other versions are irrelevant and a waste of precious developer  
> energy as far as I’m concerned.

But what if they want to waste their energy there?

To maintain an old piece of crap like MRI cannot be nothing but boring.  
Every  
precious developers you can think of is precious just because he/she can  
create  
a bright new idea. No one wants to nurse a dead-ended product.

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 12, 2009, 12:07am UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/37 "2009-02-12T00:07:40Z")

</div>

+1 if 1.8.7 can’t run 1.8.6 code. I don’t so much care if they _add_  
abilities to bridge to 1.9.

That said, I have a simple solution. Move to 1.9.1 as fast as your  
fingers will allow. Do not pass go. Do not collect $200. Get’r done.

T.

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 12, 2009, 12:46am UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/38 "2009-02-12T00:46:10Z")

</div>

[climbs to the top of the pile-up]

This is like an argument about what to do with the tricycle you rode as  
a kid. Sure you may disagree about the current condition of the  
tricycle, but really, who cares? You are grown up now. You can avoid  
the issue entirely if you just stop riding the tricycle.

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 12, 2009, 12:25am UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/39 "2009-02-12T00:25:15Z")

</div>

2009/2/11 Pit C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> 2009/2/11 Rick DeNatale [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
> 
> > Ruby 1.8.7 is NOT compatible with Ruby 1.8.6.
> 
> I’ve seen many people claiming this, and they might be right of  
> course, but no one has shown any examples yet. If it is so hard to  
> find 1.8.6 code that doesn’t work with 1.8.7, the backward  
> compatibility of 1.8.7 seems to be pretty good.

Requires hoe, ZenTest and 1.8.6 and 1.8.7 installed using multiruby:

git clone git://github.com/jcoglan/packr.git packr  
cd packr  
git co -b 3.1 origin/3.1  
git co 4cc307  
rake multi

This is not using any new 1.8.7 features, it’s using 1.8.6 behaviour  
that  
broke. Under 1.8.6, hashes had keys inserted in the order in which they  
appear in the source, which is not true of 1.8.7. Granted, this ordering  
was  
never explicitly intended for 1.8.x, but still it introduced major bugs  
in  
my code. PackR still has a bug I’m unable to fix on 1.8.7, though  
thankfully  
it’s not a show-stopper, it’s a nice-to-have ‘bonus feature’ that  
doesn’t  
work.

I for one do not want to pull updates to ruby1.8 from my package manager  
and  
have even more of my code break, esp. as I maintain various libraries  
and  
it’s hell having to explain to people that my code is broken because  
their  
package manager is not fine-grained enough and they need to install  
stuff  
from source. I expect stuff to not be 100% on 1.9, but my experience so  
far  
is that 1.9 has caused me fewer and more easily fixable bugs than 1.8.7.

---

<div class="post-metadata">

**Author:** ![naething](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e47774/32.png) [@naething](https://www.ruby-forum.com/u/naething)\
**Post date:** [February 12, 2009, 12:56am UTC](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090/40 "2009-02-12T00:56:53Z")

</div>

On Wed, Feb 11, 2009 at 6:44 PM, Mike G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> [climbs to the top of the pile-up]
> 
> This is like an argument about what to do with the tricycle you rode as  
> a kid. Sure you may disagree about the current condition of the  
> tricycle, but really, who cares? You are grown up now. You can avoid  
> the issue entirely if you just stop riding the tricycle.

You’re right. So then perhaps the whole 1.8 series should be  
end-of-lifed. I’d be fine with that.  
But Ruby 1.8.7 is more like thaking the old tricycle out and putting a  
car engine on it.

Cute, but not a very useful tricycle or car at that point.

-greg

[Previous page](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090.md?page=1)

[Next page](https://www.ruby-forum.com/t/if-you-are-unhappy-with-the-direction-of-ruby-1-8-7-respond/160090.md?page=3)
