EuRuKo is an annual pan-European Ruby conference. This year it was held in Athens, Greece, on June 28th and 29th. Railsware crew had a good time there and I’d like to share some insights and ideas brought from the conference.Читать по-русски тут.
First of all, it was very inspiring and stimulating to go to a conference. You meet great people, listen to the points of view you’ve never even considered – it’s a great rut breaker. And, as one lightning talk speaker said, you don’t have to wait the whole year or travel abroad to go to a major event for that inspiration – just find a local meetup group, come and share. Yukihiro Matsumoto gave a keynote talk that’s applicable to any library developer. He said that most importantly, to make your own language (and library interfaces are a language of sorts), you need to have a strong beliefs on what it should look like, and courage to follow through with those beliefs. Therefore, Ruby is an application of Matz’s beliefs about a perfect computer language, and Ruby on Rails is an application of DHH’s beliefs about web frameworks.What does Matz regret in Ruby? The Perl features, such as global variables. One of most discussed topics on this conference was memory management, and it marks the tendency of advanced Ruby talks sinking into C talks. Admittedly, this isn’t practically applicable for most programmers, but I found the talks insightful. Koichi Sasada from the Ruby core team and Chris Kelly from New Relic were talking about garbage collection, how it evolved in Ruby, and where it’s going to go in the future. Dirkjan Bussink shared techniques used to decrease object allocation in Rubinius, and other low-level Rubinius details.Also, a very practical tip from Koichi – everyone should upgrade to Ruby 2! It’s stable, it doesn’t have much breaking changes from Ruby 1.9, and people on Ruby 1.8 should be really sad about themselves by now. Another topic was functional programming in Ruby. Pat Shaughnessy displayed how functional paradigms from Haskell, such as lazy evaluation, can be used in Ruby 2. Other speakers were touching on the subject, illustrating functional reactive programming and pipelining. Seeing as Ruby is the descendant of Lisp – a functional language – it’s nice to see functional paradigms explored in Ruby. There was a great talk from Ben Smith of Pivotal Labs about deconstructing a Rails application with a large codebase into a set of Rails Engines, ensuring their isolation and clear interfaces. He also shared other clever ideas, such as hiding ActiveRecord objects inside of plain Ruby objects to narrow down their interface, using file templates to reduce time needed to create another engine, and splitting models from the web side of things. Konstantin Tennhard shared his work on natural language processing and making OpenNLP work with Ruby. Xavier Noria gave a profoundly insightful, if drawn out, talk about number sets and their representation in computers, and proposed to use purely fractional math if precise calculations are required, even storing fractional numbers as a numerator and denominator in the database.And now the big news – EuRuKo 2014 is going to happen in Kyiv! Hope to see you next year in the native city of Railsware.