Ruby is the main language we use for web development at Netguru. It’s already solid on its own, but gets even better with Ruby on Rails - a great framework that had a major influence on web development. Still, life goes on and the whole tech industry keeps moving forward. New languages are invented, new frameworks are created and different architectures gain popularity. The Ruby community is looking towards Elixir, a language based on the Erlang VM - the language that helped WhatsApp build their product. As an app owner, you’re probably wondering which language to choose for your new project. This article aims to shed some light on the pros and cons of both Ruby and Elixir.

Building an application that handles millions of users and performs thousands of concurrent operations can be expensive both to develop and maintain. Elixir, a new trending backend technology, promises to cut costs significantly by providing exceptional performance. The Netguru team have recently dug beneath the surface of Elixir to verify whether it delivers on its promises.

Elixir is a language based on Erlang VM, which means that there are more than 30 years of experience in building good virtual machines under the hood. This and the beauty of Elixir programming have convinced many companies to migrate some or all of their services using this language. Here are some of them:

In the previous parts of the Phoenix series, I wrote about Phoenix framework models and migrations, in particular about how they compare to models and migrations in Rails and also about the first steps in Phoenix. In today’s blog post, I would like to tell you a little bit about the whole lifecycle of a request: from the moment it’s sent by a web browser to receiving a response from the same client. The whole lifecycle can be described in nine steps:

Right now, we are witnessing the comeback of the functional paradigm in software development. Companies are trying to see whether they can use languages such as Haskell, Clojure or Erlang in some parts of the software and whether they perform better than object-oriented approaches, e.g. Ruby.