Adrian Magdas on Crafting Good Software
Elixir & Erlang
Functional programming is a lot of things, but at the end of the day it comes down to more robust applications that are cheaper to develop, scale and maintain.
No wonder companies with millions of users like: WhatsApp, Pinterest, AOL, Moz, Bet365, Intuit, VM ware and Bleacher Report love this technology.
Pure functions and immutable data structures erradicate side effects. This makes parrallel computing more reliable, drastically reducing freak occurences in the production environment.
When they do appear, production issues are easier to identify and fix, reducing the impact on your users.
Lower development costs
Functional code is easier to reason about and comprehend. This means faster development time and shorter onboarding for new team members.
Since each function has a clear logic and no side effects, testing can be done reliably at unit level. Bugs are found earlier, reducing the back and forth between engineering and QA.
Industry leading tools
Elixir runs on the Erlang Virtual Machine, which is a proven solution for products that scale fast. With virtualised servers over a distributed system, your app will work whether you have ten or ten million users, easily handling traffic spikes and user growth.
Together Elixir and Phoenix are super fast. When we speak about user experience, speed matters. For sure one of the reasons why it is loved by companies like WhatsApp, Pinterest or Bet365, who serve millions of users a day.
Hard to contain the passion
Our passion for functional programming has spilled over into the local IT community as well. We are proud to have hosted multiple FP meetups and to encourage our engineers to talk about the practices we have perfected in-house.
Reaching mastery is a never ending process. The FP crew is a constant presence at the most prestigious international conferences like ElixirConf EU and continues to sharpen its tools.
I appreciate Crafting Software because we wouldn’t be here if we’d gone through another round of not having the right team.
</ Functional Programming Tools >