Thoughts, reflections, and ideas

Hallo Ruby, wie geht's?

Posted on

It's been a long time since the last time I built something in Ruby. Most of the work that I've done with the language while I was iOS developer were changes on either the CocoaPods Podfile, or the Fastfile. I became super optimistic when Swift came out, and even built some command line tools and libraries contributing to the community. However, as I wrote in one of my posts, I decided to devote most of my time on interpreted and community-driven languages like Ruby or Javascript. Two things motivated me to make this decision:

Since I joined Shopify, I've been doing mostly Ruby. There are great engineers with a lot of experience here, and it's a fantastic opportunity for me to learn. It felt bizarre the first time that I tried to write some Ruby after some time off. I'd like to outline some of these strange feelings:

module Catalisis
  module Builder
    autoload :Project, 'catalisis/builder/project'

I'm getting used to the things that I mentioned above. When you spend some years with a language, you tend to replicate the patterns and styles into the new language. For example, instead of using the naming convention that is commonly used in Ruby projects I literally brought the one that Swift recommends, where if something can be encoded, it should be called Encodable.

There are things from writing software in Ruby that I'm enjoying a lot:

I hope you enjoyed this brief reflection. If you are more familiar with Kotlin or Javascript, you can replace Swift and Ruby by Kotlin and Javascript and the points mentioned above should apply as well. As I mentioned earlier, making the software that I write more accessible is for me one of the key motivators and having the opportunity to do it at Shopify is one of the best decisions I've recently made. You can expect more Ruby OSS coming from me from now on :).

If you have had a similar experience transitioning from a static to a dynamic language I'd like to hear your experience. Don't hesitate to leave a comment right below.