Quoting Joan Iglesias <joan.iglesias / yahoo.es>:

> In my case, it's not just a matter of adapt a script. Maybe it can be
> not a small program. And if I have to sell my program or in my case my
> web program in Ruby and I cannot garantee a long life to the program
> with the minimum modifications, I'll not sell it.
>
> I think, Ruby is now suffering to many changes, because it's very young
> and because there isn't a big company behind (like in Java), that forces
> backward compatibility ALWAYS.
>
> It could be a good idea to mantein backward compatibility in the same
> way that perl will matein it between Perl 5 and Perl 6.
>
> http://dev.perl.org/perl6/faq.html
>
> At least to have an option in the compiler or interpreter to specicy the
> compatibility requered. Or imagine I have a lot of ruby 1.8 libraies, I
> can lose time modifying all the libraries because a change in the
> language.
>
> In my case, and mainly because of backward compatibility I choose Perl.
> I'm sure that in a near future Ruby will be the choise, but now is Perl
> for a lot of reasons:
>
> 1- backward compatibility.
> 2- A big comunity.
> 3- a very huge amount of modules.
> 4- fast programming, but in this case you have to take more care of good
> programmation.
>
> Thank you
>
> Joan

I'm not at all sure about Perl 5 -> Perl 6, but I had a Perl language change
break a number of my scripts when Perl's Unicode support became "operational".
Specifically, I was using byte constants in compares, and the Perl default
switched from byte semantics to character semantics. So Perl isn't actually
angelic in this arena either.

I don't know if the Perl community sent out warnings about this or not; I've
never been a member of the Perl community, and the Perl version changed only
because the underlying Red Hat version changed. Still, the subset of Perl that
I use is pretty much Perl 4 and will pretty much run on a DOS Perl 4
interpreter. It's old code, and thankfully not a large code base, and
thankfully nearly 100 percent my own, and thankfully not mission-critical.

Lessons learned: join the community, track versions of the software you use,
have frequent code reviews, etc. I don't think your arguments rule out Ruby and
rule in Perl. A more practical assessment based on the number of available Perl
programmers and your own or your colleagues' greater familiarity with Perl is
probably a more compelling argument than the "backward compatibility" argument,
since all software is subject to backward compatibility issues. In any event,
good luck with your project.