from Hacker News

Ruby 2.5.0 Released

by phereford on 12/25/17, 10:37 AM with 108 comments

  • by skywhopper on 12/25/17, 12:30 PM

    When I discovered Ruby 12 years ago, it was an amazing moment. All the features I loved from my previous favorite languages Perl, Smalltalk, and Scheme in one place, but with a much more reasonable syntax, a far more robust standard library, a complete and dead-simple packaging system, and a practical and portable runtime. The fact that it still feels magical, fun, practical, and pragmatic all at the same time while progressing and improving step by step each release after all these years is a truly amazing feat, especially when you compare it to its peers.

    So congratulation and thanks to Matz, and all the other Ruby contributors for creating and maintaining and growing and improving this amazing language that's still my favorite. 2.5 looks great, and I can't wait to see what's in store for the future.

  • by nileshtrivedi on 12/25/17, 11:14 AM

    Ruby may not be the cool thing in town it once was, but it remains my preferred language for prototyping ideas - purely because of its elegance and expressivity. It truly delivers on its fundamental goal of "developer happiness". A lot of ideas from Ruby have gone to other languages (CoffeeScript, Elixir) and many web frameworks are modelled after Rails.

    Congrats and thanks to all the core devs! :-)

  • by WJW on 12/25/17, 11:59 AM

    I started using Ruby only in April this year due to starting at a new job. Having used and/or dabbled in C, Java, Python and Haskell before (amongst others), I find it super interesting to see how Ruby manages to take some interesting parts from each and manages to integrate it into a very pleasant programming experience. Also the rspec testing library is nothing short of magic, none of the compiled languages have anything that even comes close IMO.

    For the cases where you have a tight loop taking up 99% of the actual CPU time it is also relatively easy to hook in C or Rust or whatever. Also, sometimes you hit hardware performance limits regardless of the language you use. We have some streaming download servers written for 99% in Ruby using the libCurl bindings that and they easily manage to fill up the 5 Gbps pipe* per server that AWS gives us.

    * You can get 20 Gbps for some instances, but only to other instances in the same group. The biggest to the 'outside' seems to be 5 Gbps.

  • by geraldbauer on 12/25/17, 6:02 PM

    FYI: I've collected articles / blog posts about what's new in Ruby 2.5 over at the Ruby Advent Calendar [1]. The list so far includes:

    - Standard Gems 2.5.0 - Default Gems, Bundled Gems // by Jan Lelis, Idiosyncratic Ruby

    - 10 New Features in Ruby 2.5 // by Junichi Ito, Ruby programmer @ SonicGarden.jp

    - 10 More New Features in Ruby 2.5 // by Tom Lord, Software Developer from London

    - Performance Improvements in Ruby 2.5 // by Jesus Castello, Ruby Guides

    - yield_self in Ruby 2.5 // by Michał Łomnicki

    - Improved stacktrace display in Ruby 2.5 // by Michał Łomnicki

    - Ruby 2.5 Series // by Amit Choudhary, Mohit Natoo et al @ BigBinary

    [1]: https://planetruby.github.io/advent2017

  • by greysteil on 12/25/17, 1:31 PM

    Nice to see the 3x3 work continuing to go well with that 5-10% speed up. For anyone who hasn’t seen it, Ruby declared a target for Ruby 3.0 to be 3x faster than 2.0.

    http://engineering.appfolio.com/appfolio-engineering/2015/11...

  • by elliotlarson on 12/25/17, 7:10 PM

    Oh, it looks like Bundler didn't make it into the standard library for the 2.5 release. The commit to bring it in was reverted just before the release, with very little explanation. I mean, it's not like `gem install bundler` is that hard to do, but I'd be curious to hear why.
  • by artellectual on 12/25/17, 2:29 PM

    Was waiting for this!! Super happy about this. I’ve come to expect this every year now at this time.

    Ruby is still one of the most productive languages out there. I just love it. It gives me great joy that 10 years ago I chose Ruby to be the language for my future.

    My wish this coming year is to be able to contribute more to the Ruby ecosystem.

    Btw I’ve also built something using MRuby this year. The whole ecosystem is just great.

  • by CiPHPerCoder on 12/25/17, 1:08 PM

    Ruby's SecureRandom is finally sane to use? It's like Christmas or something!

    https://bugs.ruby-lang.org/issues/9569

    Now to update the "how to generate secure random numbers in various programmming languages" documentation.

  • by taf2 on 12/25/17, 5:26 PM

    Anyone else noticing syntax ruby parser regressions?

    e.g.

      class FooBar < Foo
        prepend_before_filter only: [:create, :destroy] { 
      request.env["hello.skip_timeout"] = true }
      end
    
    was valid in ruby 2.4 but invalid now in 2.5
  • by iovrthoughtthis on 12/25/17, 11:32 AM

    rescue on do blocks!!! Wooooo. Merry Christmas!

    Ruby is a joy to use.

  • by raitom on 12/25/17, 11:34 AM

    Every year it's the Christmas gift I wait the most!
  • by burlesona on 12/25/17, 9:25 PM

    There's no such thing as a perfect language, but Ruby is a very nice one, and the community is just such fun. The tradition of major version releases on Christmas Day each year is one of my favorite things!

    Cheers to Matz and all the Ruby contributors :)

  • by hit8run on 12/25/17, 7:12 PM

    I absolutely love ruby and its community :) My software goals for next year: - Start a new platform built on Ruby/Rails. - Contribute to the ruby eco-system. - Enjoy it.
  • by drchiu on 12/26/17, 3:10 AM

    Love Ruby. Back a few years ago before I learned to program properly, I found a lot of the syntax of various languages to be hard to understand. I was not trained as a computer science major, mind you. Nonetheless, the syntax of the Ruby language made things easy enough for me to digest. Heck, even ended up starting a Ruby based software company won’t employees — something I couldn’t have imagined doing even a decade ago.
  • by jph on 12/25/17, 12:20 PM

    Test Driven Development (TDD) gets a huge improvement with the new coverage capabilities for methods and branches. Thanks Ruby team!
  • by drish on 12/25/17, 6:48 PM

    > Mutex is rewritten to be smaller and faster. [Feature #13517]

    This is something I find to be using quite a lot, great to see this.

  • by taf2 on 12/25/17, 5:15 PM

    looks like we have some gem authors that need to update their stuff...

    google-protobuf-3.5.0-universal-darwin requires ruby version < 2.5, >= 2.0, which is incompatible with the current version, ruby 2.5.0p0

    [update]

    looks like this is resolved by forcing bundler to compile instead of grabbing the precompiled versions.

  • by nazgob on 12/25/17, 3:07 PM

    Many thanks to all who contributed!
  • by onetwotree on 12/26/17, 3:33 AM

    Hey they finally fixed the issue with SecureRandom using OpenSSL instead of the OS CSPRNG implementation!

    I worked for a company a few years ago that made security software, with Ruby as a primary language, and this caused no end of frustration...

  • by rajangdavis on 12/25/17, 11:57 PM

    I had installed Ruby on a Windows 10 machine a few weeks back and had some issues setting up Ruby 2.4.*.

    I forgot where the issue came from (I think it was some issue with bundler or ruby gems), but can I install 2.5 without breaking my set up?

  • by knodi on 12/25/17, 11:08 PM

    Jebus!! this is about Ruby 2.5.0 release not about why you think Ruby sucks.
  • by artsky on 12/26/17, 3:56 AM

    Awesome! I'm excited about the new yield_self method, and the general functional programming direction that Ruby is moving in.
  • by igravious on 12/25/17, 7:43 PM

    Thank you Matz & co. <3
  • by pankajdoharey on 12/25/17, 1:05 PM

    i loved ruby and i still do but my focus has now shifted to scheme/clojure and lisp family dialects like racket, and i don’t see a reason to return or move to anything else it feels like my search is over.
  • by sadiqmmm on 12/25/17, 12:21 PM

    Awesome! :)