3 ms·
OTOH every decent erlang book or tutorial I've ready, from Armstrong's book[1] to Learn You Some Erlang[2] to Erlang and OTP in Action[3] and others all start o
by oaferlanger 6y ago
OTOH every decent erlang book or tutorial I've ready, from Armstrong's book[1] to Learn You Some Erlang[2] to Erlang and OTP in Action[3] and others all start off by introducing primitives like spawn, message sending , and receive.
They then introduce OTP and explain all the cases it handles.
I've never read a book or tutorial on OTP that just starts with OTP. In fact (a bit tangetially) whenever I encounter abstractions where I don't already understand the primitives I have a very difficult time. Maybe that's just the way my brain is wired though. I have a terrible time with OO programming for that reason. I much prefer a separation of functions and data because it's much easier for me to reason about what is happening.
Anyway, I agree that programmers should start with the primitives, but I've never seen anyone really teach OTP any other way.
Edit: also there are tools such as Erlang.mk[4] by Loïc Hoguin[5] that will handle a lot of the boilerplate for OTP projects and building releases, though it's good to do it manually at least once while learning.
[1] https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/ https://pragprog.com/titles/jaerlang2/programming-erlang-2nd...
[2] https://learnyousomeerlang.com/ https://learnyousomeerlang.com/
[3] https://www.manning.com/books/erlang-and-otp-in-action https://www.manning.com/books/erlang-and-otp-in-action
[4] https://erlang.mk/guide/index.html https://erlang.mk/guide/index.html
[5] https://ninenines.eu/ https://ninenines.eu/
- AlchemistCamp 6y ago> every decent erlang book or tutorial I've ready, from Armstrong's book[1] to Learn You Some Erlang... What a coincidence! I just tweeted about how you can get it and 12 other various programming books for just $8 now: https://twitter.com/AlchemistCamp/status/1311796404830892032 https://twitter.com/AlchemistCamp/status/1311796404830892032