Reading the ToC and sample chapter, I got the idea that this book is no just for Erlang, but also an invaluable resource to learn about OTP, kinda like prepping you for the O’Reilly book (Designing for Scalability with Erlang/OTP), I could be wrong though, can’t judge book by the cover.
I haven’t got to the OTP bits yet but yes, I expect it will leave you with a really good grounding in it. Are you a slow/fast reader? I am pretty slow unfortunately - so I expect you will overtake me in no time
I am an insanely fast reader. Finished “Getting Clojure” minus the Interoperating with Java and Macro chapters in a day to revise Clojure. But still, this is ~500 pages, reading Erlang hurts my eyes and I am no longer unemployed so ¯_(ツ)_/¯
I wish I was as fast!!
I think you may find you grow to like the Erlang syntax, at least I think that seems to be the case for a fair amount of people
I do like to write in it, but when reading it get tricky for me- I’m the slow writer fast reader type. The Pascal case atoms and lower case variables slow my reading speed. Oh wait, did I just get them reversed? (See what I mean?) Also this won’t go away because every time my muscle memory settles down a little, Elixir will retune it.
But to be honest, Erlang is very simple. Much simpler than any non-Lisp languages I have encountered. That’s what makes me want to learn it well.
That’s something I was astonished about, after reading chapter 8 “The Rest of Sequential Erlang”. The basic concepts are simple yet so powerful.
Looking forward to you catching up
Meanwhile, i did the last exercise of chapter 8:
Exercise 8.2 part 3 (unambiguous function names)
unambiguous_function() ->
Exports = [Module:module_info(exports) || {Module, _} <- code:all_loaded()],
Functions = lists:flatten(lists:map(fun(F) -> function_names_in_module(F, []) end, Exports)),
unambiguous_elements(Functions, []).
function_names_in_module([{Funname, _}| T], Acc) ->
case lists:member(Funname, Acc) of
true -> function_names_in_module(T, Acc);
false -> function_names_in_module(T, [Funname | Acc])
end;
function_names_in_module([], Acc) -> Acc.
unambiguous_elements([Funname|T], Acc) ->
case lists:member(Funname, Acc) of
true -> unambiguous_elements(T, Acc);
false -> unambiguous_elements(T, [Funname | Acc])
end;
unambiguous_elements([], Acc) -> Acc.
I think there’s an easier solution, but I’m doing it at night with a tired brain
Whoo hoo!!!
Doesn’t it feel kinda special in your hands? Maybe it’s just me but I really wanted to get the printed book as it would feel like there’s a little bit of Joe here - and it does too! Aren’t we a funny species?
I will look forward to seeing you get through this book
Yes.
I could imagine Joe speaking those lines as I was reading the first page
Such a well introduction, is the rest of the book as enlightening?
If you like what you’ve read so far you are going to love the rest of it (at least based on what I’ve read so far myself).
Joe’s personality shines through very strongly - it will fill you both with joy and sorrow - joy because it’s him (and almost as if he’s there with you) and sorrow because he’s no longer around, and because you won’t be able to tell him how awesome you’re finding Erlang thanks to him/his book
It’s far from depressing tho - I don’t think anyone could feel depressed in the presence of Joe… and in this book his presence is most definitely felt
Hi everybody! I’m back after a long break. My 4 day’s trip got stretched to almost 3 weeks, and it looks like I won’t be able to open the book for the rest of this year because of the tasks held. Where is everybody in the book? @mafinar, welcome to the club!
I didn’t make any progress on the book, instead I’m solving Advent of Code with Erlang when I find some time
Welcome back DG - I hope you had a nice trip
I’ve not made much progress tbh but like you hope to get back to it soon. Rainer is steaming ahead and from what Mafinar has said, he may be flying through it too
I would like to place my bet now that I will probably be the last to finish the book
As I’m busy with Advent of Code you have some time to catch up
Thank you!
I enjoyed the trip a lot.
I just finished reading chapter 9
It’s about types in Erlang, how to specify them and find mistakes with the dialyzer.
Pretty interesting, as I didn’t know anything of that
Also I liked that Joe described writing good code and type annotations as a kind of art. Often while coding I feel like an artist, wanting to create something elegant and beautiful.
More people should feel like that, then the legacy mess I’m cleaning up at work wouldn’t look like it does
I really need to get back to this book
I hope @DevotionGeo and @mafinar are still reading it and I’m glad to see you are @Rainer
Yes I am reading it. On Chapter 10 right now. Will stop and contemplate on the language a little before moving to the OTP part (most of which I am familiar with thanks to Elixir but retelling by Joe will surely be an absolute pleasure)
Ah nice Mafinar! Though I was looking forward to your chapter-ly updates/thoughts - keep us posted on how you get on if you can (it can help keep the rest of us motivated too )
Unfortunately, I’m not reading it currently and may not open it soon.