4 ms·
I've been working in Erlang full time for the last 6 months or so. My background is in I guess what you'd call systems programming in C and C++. I haven't found
by gooseyard 12y ago
I've been working in Erlang full time for the last 6 months or so. My background is in I guess what you'd call systems programming in C and C++. I haven't found the Erlang syntax to be a problem at all, but I've had major problems with a few things-
* The ambiguity of the term "application". It has a very specific meaning in the Erlang context but it used very generically elsewhere- it can be very confusing even just reading the docs.
* My background is in GNU Make/autoconf etc. and after a lifetime of building a binary, putting a binary onto a Unix machine, and then running the binary, figuring out how this works in the Erlang context was enormously confusing, and although the docs are very useful once you understand the build and deploy process, I think that some diagrams like those in this post would go a long way toward making it clear to a newbie what the division of labor between the local erlang install, systools, reltool (and possibly rebar since it seems to be nearly ubiquitous), and then once the release is built, what the boot script does, etc. Even little details like, why do I have a file called whatever_sup.erl and another called whatever_app.erl, and why are there a bunch of different functions named stop or start or init? I don't mean to slag on Erlang, as I like it a lot, but I found this part of the learning experience to be painful.
* Everybody talks about the hot code loading as if it just happens automatically, but as evidenced by the existence of Relx, it's not always trivial to work with, and if you don't know what you're doing you can mess things up for yourself pretty easily.
I am not a huge fan of jumping on third-party bandwagons for tools like rebar or relx- I like to try to stay as close to the OEM tools (for lack of a better term) as much as I can, so it'd be nice to see some of these tools become a part of the canonical OTP distro.
BTW the "Learn You Some Erlang..." book, has maybe the clearest and most gentle introduction to the building/releasing stuff that I've seen, but I think it could benefit from some more detailed diagrams.
- signa11 12y agohave you looked at 'erlang and otp in action' book ? might be useful...
- gooseyard 12y agoyep that's a good one, it definitely has the most detail of al l the books I've seen so far wrt release/deploy. Also several people have recommended Francesco Cesarini's book as well, and I've seen a few posts about another guy who is writing one specifically on the VM itself, I think that'll be helpful also. I would like to have one of these books that is more prescriptive than descriptive when it comes to the practices, although I think I could squeeze everything I'm looking for into a chapter-sized doc, might take a stab at it myself!
- felixgallo 12y agoferd did a pretty good webcast that goes over some of the design points for erlang-node deployments: http://www.oreilly.com/pub/e/2877 http://www.oreilly.com/pub/e/2877