Disclaimer: I’m not sure of how word the title.
I consider myself a noob in the context of Erlang, I tried learning the language years ago without much success.
After a stint with Elixir - ( a few apps in production), I returned to Erlang, this time with much success.
There’s this question which has been plaguing my mind; all the Erlang books purchased/recommended seem a bit old - I’ve the below questions based on the above premise, please pardon my ignorance if any.
1.Does that mean the language is fairly stable with less addition of new features.
2.In a few of the books, some of the language features have been deprecated,
gen_fsm comes to mind as well as
map/tuple for supervisor child spec.
3.I must admit that no book will likely be current WRT to language changes/features but a few iterations behind should suffice - 8+ or more than 5 iterations behind doesn’t help(I could be very wrong), what do you think?
4.I know the benefits of using a language like Erlang and that is my source of motivation, I find myself having to read documentations as there sparse resources that teaches you how to properly use certain modules/features, a good example is
mnesia. Reading documentation is a must, but for one to run he must learn how to crawl, walk before running. IMHO this is what most books does.
5.I love the slack channel, it’s my go-to forum for help, not sure of how many newbies will dare - at least with a bit of easily accessible resources to peruse, one will feel confident enough to ask questions on slack.
6.I think the above makes the entry-level very difficult, I would love to sell Erlang to my team - how do I approach it with the above in mind?
I guess the answer is “because noone wrote a newer book”…
I tried to convince @starbelly to write a “Erlang for Python Programmers” book last year with no success.
I still like the idea No time for it, if I were to write a book it would be a continuation of sorts of @MononcQc Erlang in Anger.
If I could ever get around to actually learning Erlang, like really learning it, maybe I could write it someday. lol By then, I’d have to brush up on my Python skills, too.
Let me take your question permanently, as I’ve had a book published about Prolog, and Joe Armstrong once spent an hour telling me to write an Erlang book and going over a table of contents with me (which alas, I have since lost).
What’s it going to cost me?
What’s it going to earn me?
Should I go for a conventional publisher, or some sort of e-book publisher, or a compromise like Lulu?
What are the topics that would most attract customers to the book?
Why should anybody buy an Erlang book by me rather than Fred Hebert or Francesco Caesarini?
What harm have they done me that I should try to take market share from their books?
How long before a new edition will be needed (affects on-going costs).
It’s basically an economic decision.
Speaking for myself, I think LYSE is fantastic and the one change it desperately needs is to have the material on maps updated, extended, and integrated.
I have somewhat similar experience - I made multiple attempts to learn the language in the past, but it didn’t go anywhere.
Recently I started to use it at work, but was a bit put off by its syntax and convinced my team to try Elixir.
To my surprise, I eventually come to appreciate the syntax and I really like it a lot, and we decided not to go with Elixir for now to make our stack more simple (but there are things it the ecosystem that make it very compelling to try Elixir in the future).
So fas I’ve read Erlang Programming and Designing for Scalability with Erlang/OTP and now reading Erlang and OTP in Action and Learn You Some Erlang for great good! and find them all of very good quality and still relevant.
It would be great to have an update to some of them that covers rebar3 similar to how many rust books cover cargo and use it consistently throughout. I believe it significantly lowers the barrier to entry.
I think that fact that all these books are still very much relevant is a testament to the greatness of the original design.
Thanks for the recommendation about Designing for Scalability with Erlang/OTP. I just ordered a few of these resources to have them in physical form. I’m finding that I can focus on learning better when I have pages in my hand instead of reading on my tablet. We’ll see if that helps. I also still have to finish going through LYSE, Erlang in Anger, and Adopting Erlang. I have a TON of material, so if I can’t learn it with all these books and this fantastic community, it’s on me. lol
Regarding LYSE, I haven’t really started working on a second edition because the community remains of a size where my expectations may be to make the equivalent of minimum wage working on it; it has to be a labour of love to be worth it.
At this point in my life, I am trying to diversify my hobbies rather than keep pushing further and further. Maybe at some point the desire for it will come back, but I also have a lot more side projects within the Erlang world (the foundation, rebar3, adopting Erlang, etc) than I did back in 2009-2012 writing my first book.
The thing I did back then was learn from other books, blog posts, mailing lists, and experiments, and I’d put my notes together and realized that was a huge part of the book work.
You don’t need a lot of motivated people to have an impact with that sort of work, but you do need a few of them. Maybe the big books being a bit old will act as a preliminary condition to make it someone’s desire to write a new one!
I’m still trying to get @max-au to write a book
I think right now a book written by a WhatsApp dev (or a few of them) could be quite popular - WhatsApp is one of if not the most famous company using Erlang, and I think a lot of people would be interested in:
- How WhatsApp use Erlang
- How a WhatsApp dev would recommend building apps with Erlang and running them in production at scale
I also think a book written by members of the Erlang Core Team would be very well received as well - they have decades of experience using Erlang and if anyone knows how to get the most out of it they do!
You don’t have to compete with their books There are a lot of Elixir books out there now (and aside from some competition between publishers) while there is some cross-over most of the books are still unique enough to be bought as an addition rather than instead of some other book.
Also keep in mind that it’s ok to have more than one book about something because everyone is different - someone may prefer your writing style to that of someone else’s: the way you explain things may be just on the wavelength that somebody needs to grasp a topic. I found this while learning Ruby, there were some authors that just seemed to understand me just as much as I needed to understand them - when you get that combination it is worth it’s weight in gold.
My only advice would be to use a publisher like PragProg or Manning - professional editing is priceless imo, it can make all the difference between a good book and a great one (unless your book is free of course, then it doesn’t matter as much).
Tell us about them Fred I started a thread for hobbies and interests
It is also just an issue with “books” :). It is a lot of work to put out a new edition, and involves a publisher.
Maybe we need something more like Rust books The Rust Programming Language - The Rust Programming Language that is maintained by multiple people and updated with PRs.
Relatedly, it’d be great if there was a similar process to the Rust docs taken by the foundation to hire someone, like was done when Mozilla hired Steve explicitly to write this stuff. Finding the right person for the job may be as hard as raising the money to pay them, but I think it could be worth it.
Do it Tristan (I’m sure you would do a great job!)
Hah, not me Should hire someone who’s writes good.
It may also be beneficial to have someone unfamiliar, or newish, to Erlang.
I should have been keeping a list of all the confusing things about Erlang that I’ve run into. I’m on my third run at it now, so I’ve likely forgotten many of them. I’d be happy to start jotting things down for some future author to use.
List of confusing things?
Post it now, not later.
It would take me a while to compile such a list and I’m about to go to sleep. It will have to wait until at least tomorrow. lol
I hope to get something up soon with Erlangschool.com . Maybe that can help to keep some parts easier up to date.
That’s be great and some might have a place in Adopting Erlang.
Possibly! I should start making a list, but I also need to finish going through Adopting Erlang and some other resources, so I can see which confusing things were already addressed and in what way.
One general note is that I’ve noticed that some Erlang resources, particularly the older ones, almost implicitly assume a computer science background for the learner, whereas something like an Intro to Python course probably doesn’t make those assumptions. Since I do not have a formal CS background, materials that don’t assume that background are more easily digestible. But to come up with examples of this, I’d have to make another list. lol I’m currently reading Joe’s book Programming Erlang, and I’ve run across a few instances of this, although it’s nothing major. I don’t think it’s a big problem, but I do think it might help to have introductory materials for a wider audience. This is why I was half-jokingly trying to get someone else to write an “Erlang for Python Programmers” book, which still might not be an awful idea someday.