The biggest thing holding me back is really just picking a project and getting some momentum going on it.
The biggest thing holding me back is really just picking a project and getting some momentum going on it.
If it helps, you can think of Elixir/Erlang as extreme OOP with processes as objects. Objects are truly isolated and won't break each other by overwriting each others' memory. They communicate only by messages. Inheritance doesn't work there as well. Composition is different. Perhaps supervision hierarchies provide that.
In general I found learning Erlang that I became a better programmer in other languages as well (Python, C and others). I think more about passing state around and making it explicit. Using functions more than deep class hierarchies. I often find it makes the code more modular, debuggable and testable.
What's holding me back from learning it at all is a side-project I spend most of my free time maintaining. Labor of love (cause it sure ain't the money).