6 ms·
Which group are you referring to? Mainstream languages? The languages mentioned above? Perl 6 was designed from start to be very breaking, but even putting Perl
by unscaled 11y ago
Which group are you referring to? Mainstream languages? The languages mentioned above? Perl 6 was designed from start to be very breaking, but even putting Perl 6 aside, Ruby had quite a few breaking changes going from 1.8 to 1.9 - and that was a merely point release.
Breaking changes are tough, but many libraries with a large codebase managed to update to Python 3 and even maintain dual-version support using compatible features, compatibility libraries and automated conversion tools.
For the everyday users things would be much simpler, and hence the main reasons for converting is not "too many breaking changes" but rather "not enough compelling changes".
- lqdc13 11y agoI was replying to "If you consider that Java is on version 8 and C++14 is here, we can see that even old languages have done this in a much more organized way" C++14 and Java have extremely minor breaking changes. I'm not saying it has to be that way, but the demographic that uses Ruby is different from the demographic that uses those other languages and Python. But the main thing is probably that Python 2 is the default version on OSX and Ubuntu. Updating to a newer version requires going to the Python site or installing Brew/Macports.
- maxerickson 11y agoIt's probably reasonable to compare the breaking changes in Ruby 1.9 to Python 1.6/2.0, when Python first added language support for Unicode. There wasn't much in the way of blow back. If there is at some point a decision to significantly change the semantics of string handling in Ruby (I think tagged strings are the addition of string handling, not a change to it), expect just as much whining as Python has seen (but I think people will look at how it has gone and avoid doing it).