Fyber @ Full Stack Fest

full stack fest fyber barcelona ruby

Last week hundreds of developers from all over the world descended on Barcelona, eager to partake in Full Stack Fest 2015. The event consisted of two separate conferences – Baruco (Barcelona Ruby Conference) and Future JS conference – catering to both backend and frontend developers.

Full Stack Fest, specifically the Baruco part of the conference, is a true innovation hub for rubyists. The Fyber team attended some fascinating talks, such as “How to Performance” by Eileen Uchitelle, which suggested different ways to benchmark and improve performance; “First do no harm: surgical refactoring” by Nell Shamrell, which covered how to refactor legacy code the right way; “Request and Response” by Aaron Patterson, which looked at response and request lifecycle in Rails; and “Nothing is something” by Sandi Metz which explored best practices of object-oriented design.  

full stack fest fyber barcelona ruby

We also had the honor of meeting and listening to Yukihiro Matsumoto, or Matz, creator of the Ruby programming language and its reference implementation, Matz’s Ruby Interpreter (MRI). Matsumoto spoke about current trends in Ruby, including the new Ruby 3.0.

First, he discussed the so-called “second system syndrome”. Using Perl 5 and Perl 6 as examples, he described “second system syndrome” as being the point at which, instead of iterating over existing implementations, the language is rewritten in its entirety. The difference between Ruby and other coding languages is that, since 2012, parts of the language have been improved without any cardinal abandonment or changes. This has allowed Ruby to dodge the risk of “second system syndrome”  and avoid having to fully re-implement the language from scratch. Instead, Ruby has evolved by incrementally replacing some parts of the language and offering backwards compatibility.

So what can we expect from Ruby 3.0? Matsumoto was concise in his announcement: no schedule, no plans, no promises. However, he offered broad hints of the new features that might be included by pointing to the themes of communication between man and machine, performance optimization, and concurrency:

  • Communication between man and machine would allow the machine to recognize a user typo. Furthermore, it will use soft-typing and implement a check for contradictions.
  • Performance optimization could possibly hint at the introduction of some compilers for Ruby. Right now JIT compiler is under investigation, but it introduces a memory bottleneck which could prevent it from being used in Ruby 3.0.
  • Concurrency: There is discussion of removing GIL (Global Interpreter Lock), which would allow for concurrency and performance improvements. In the current version of Ruby, threads have proven to be too complex. As such, more abstract concurrency models are being developed by Ruby designers, such as actors, ownership models, and stream models.  

There was also discussion of introducing a language operator, which would allow Ruby devs to work like they can in Unix Shell using thread-safe pipelines.

Certainly some exciting developments to look forward to with the release of Ruby 3.0! Our team would like to thank the organizers and participants of Full Stack Fest Barcelona for making it a great week of innovation and networking. We sincerely hope to see you all again in Barcelona next year! As for us, the Fyber team’s next stop is RubyConf 2015 in Braga, Portugal. So if you’re planning to attend be sure to drop by our booth to say hi!

Read these next

Contact Us

    By sharing your information you are agreeing to receive communications in regards to any questions or requests submitted on this form. Fyber will keep your information solely for internal tracking purposes and will not use this information for any other purpose. You may request to delete the information provided at any time.

    If you send us a message by clicking the "Send" button, we use a recaptcha service provided by Google LLC to check whether the message was sent by a natural person or a computer program ("bot") in order to ensure that only valid user requests are forwarded to us. Google LLC processes personal information from your browser, such as your browser settings and your click behavior on this screen. Please refer to the Privacy Policy for further information on data processing procedures of our third-party services.

    Error: SSL certificate problem: certificate has expired