Hacker News new | comments | show | ask | jobs | submit login
Support for Ruby 1.9.3 will end on February 23, 2015 (ruby-lang.org)
51 points by janerik 1376 days ago | hide | past | web | 23 comments | favorite

With many apps stuck on DataMapper, thus ruby 1.9 - I can't help but think: why do programming languages evolve so quickly? I suppose the language must be the slowest moving part in the architecture...Due to immense competitiveness from other languages, all language designers rush ahead to add more and more versions..

I wish, Python/Ruby moved slower and focus on non-visible or backwards compatible improvements

Ruby 2 is almost dropin replacement for Ruby 1.9.3. so upgrading should be easy & backwards compatible with following exceptions

    There are five notable incompatibilities we know of:

    The default encoding for ruby scripts is now UTF-8     [#6679]. Some people report that it affects existing     programs, such as some benchmark programs becoming very slow [ruby-dev:46547].

    Iconv was removed, which had already been deprecated when M17N was introduced in ruby 1.9. Use String#encode, etc. instead.

    There is ABI breakage [ruby-core:48984]. We think that normal users can/should just reinstall extension libraries. You should be aware: DO NOT COPY .so OR .bundle FILES FROM 1.9.

    #lines, #chars, #codepoints, #bytes now returns an Array instead of an Enumerator [#6670]. This change allows you to avoid the common idiom "lines.to_a". Use #each_line, etc. to get an Enumerator.

    Object#inspect does always return a string like #<ClassName:0x…> instead of delegating to #to_s. [#2152]

    NEWS: https://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/
I would encourage you to try out ruby2 today, you will be surprised how easy the upgrading process is. Plus, your app will run 20% faster due to performance improvements

Or which Datamapper issues we are talking about? I see datamapper has not seen an update in a year, but It should be fairly trivial to fix whatever incompatibilities are because of 2.1.

I certainly don't. Who argues for slow innovation, that's dumb really. Argue for minimal breaking changes. Python got into trouble because it introduced a huge swath of breaking changes, and not enough sugar to coax people to 3. Ruby has it's problems, but the 1.93 to 2.0 transition was not one of them.

Obviously no one is arguing for slow innovation of everything. However, it is not dumb at all to argue for slow innovation of something foundational, if it allows for things built on top to innovate faster. This is arguing for faster overall innovation. This sentiment might be wrong in this case, because the transition 1.9 to 2.0 might be painless, but I'm replying to your original misrepresentation of the argument.

raises hand, compiling C extensions on Windows has changed a lot from 1.9 to 2.0 in my experience, since there are no MSVC builds of Ruby anymore (to link against). Now I'd have to compile my pet extensions using MinGW and the compilers just aren't the same. CMIIW...

But if you innovate quickly and avoid breaking changes, it's easy to end up with a completely bloated language.

Python language development, in my experience, usually does move slower and is fairly backwards compatible. There is a large community on Python 2.7 and it is slowly moving over to Python 3. They've actually backported features from Python 3.x to Python 2.7 and Python 2.7 to Python 2.6 to ease the transition for developers.

I don't think it's entirely fair to group it with Ruby in this case.

Ruby 1.9.1, the first "stable" release of the 1.9 series, was released back in January 2009.

So when 1.9.3 is EOLd in 2015, the 1.9 series will have been around for 6 whole years. Seems like quite a lot of time to me.

And of course, as others have pointed out, upgrading to 2.0 is fairly painless. Going from 2.0 to 2.1 should be even smoother.

Versions numbers don't help when code can break from 1.9.1->1.9.2 and 1.9.2->1.9.3.

In any case, life feels good on Ruby 1.8. I can jump straight to 2.0 without ever worrying about #Encoding comments. :D

6 years is almost too long for me. They should have a plan to only allow it to stick around for 5 years and not more.

And to me, this is the great thing about Ruby and its communities in general. It is about moving forwards and not afraid of reinventing the wheel if you have a better idea.

I think the fast pace of Ruby development and the willingness to EOL earlier versions (and the same attitude from major Ruby projects like Rails) is part of why Ruby 1.9 didn't suffer a similar fate to Python 3.

We've only been doing programming languages for what, 50 years? It's not surprising we don't really know what we're doing yet.

If you want a language that "moves slower and focus on non-visible or backwards compatible improvements", you know where to find Java. But it seems to me that most python/ruby users would never have adopted python/ruby if they'd moved that slowly (remember both of those started around the same time Java did - but they've evolved a lot faster).

> "With many apps stuck on DataMapper..."

I have only ever heard of one application in the wild reliant upon DataMapper. Can you share some others that you've heard of? I'm kind of curious.

those are apps we developed for some clients :-) somewhat got tricked by the dm features and rubyisms, but it ended up dead. of course no client pays migration out of dm.. dm 1.2 is a dead end and stuck around ruby 1.9... dm2 won't happen, rom will come instead

Whenever I see how fast Ruby goes I remind myself of all those job offers for AS/400 programmers. I'm glad the Ruby crowd moves ahead so fast. We never get to work on a stale project.

On the other hand, the rate the software gets outdated these days is taxing in a way. It makes me feel happy when I receive a support e-mail for a project that I thought dead for a long time: "Hey, somebody is still using that thing I hacked 8 years ago!"

Glad to hear this! We just finished migrating a 2.3 monorail on ree to 1.9.3 a month ago. Good to know we have 13 months of coverage. I heard a few rumors lately that this wasn't the case.

anyway 1.9.3 => 2.x should be pretty straighforward

I just hope they clear some bugs that restrict Windows Ruby Installer to release Ruby 2.1 in Windows.


Announcing Python 3.0. Support for Python 2.X will end on January 1, 2114 :P

Ok that was a silly joke, but seriously this is a good change and 2.1 is awesome. Keep moving Ruby forward!

I think the proper analog here would be Python 2.x == 1.8, which was EOS'd in 2013.

Ruby made major syntactic additions in the 1.8 -> 1.9 transition, Unicode tweaks, Fibers and scoping changes. 2.x has really just built on top of that (despite making a major version change).

When I saw that 2.1 was released the other day, I took 5 minutes to upgrade my app (mainly building from source and removing some unsupported gems from my Gemfile). I was happily surprised that my app booted 30% faster, and the entire application was noticeably faster, especially the Ruby-intensive pieces obviously. Anyone that can upgrade to 2.1 and doesn't is hurting themselves!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact