Hacker News new | past | comments | ask | show | jobs | submit login

I am not sure I agree with the OTP bits.

We often tend to compare having to learn OTP with “not having to learn OTP” but the reality is that we need to compare OTP with concurrency tools in other languages (e.g. threads, locks, mutexes).

Of course, one can say: “I wouldn’t use threads in other languages” but that’s potentially a bigger problem, as you end up with software which can’t easily exploit concurrency (which is especially important in the data domain).

I still think what you said has some truth to it, but I think the frame of reference is a bit off. I would rather learn a bit of OTP to get concurrency and fault tolerance rather than learn nothing and get none of it. :)

PS: “mix new” does not generate supervision trees by default.




> compare OTP with concurrency tools in other languages (e.g. threads, locks, mutexes)

That’s a very fair point, but is the average data scientist going to be learning this or offloading that task to a software engineer?

> I would rather learn a bit of OTP to get concurrency and fault tolerance rather than learn nothing and get none of it. :)

Agreed —- I’ve been using Elixir for a bit and am only now learning about supervision trees and genservers. It’s such an exciting part of the language.

> PS: “mix new” does not generate supervision trees by default.

Yup and that was confusing for me as a beginner — I recall being confused over where the entrypoint of the app was. Coming from a language like Python.

Hi José, huge fan. Thanks for dropping by this thread!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: