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.
GitHub - Raku/old-design-docs: Raku language design documents
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.