5 ms·
Erlang for Skeptics
- knv 17y agoWhy code listings are empty?
- silentbicycle 17y agoIt looks like a work-in-progress.
- sketerpot 17y agoYou've got to love the economy of words that the introduction displays. It's only one sentence: "The introduction." (That's a good way to do things. Write some meat first, then you'll know exactly what you've got to introduce.)
- lukevenediger 17y agoIn my first (now trashed) version of the book I had started writing an introduction, but it got long-winded and verbose because I didn't know what I was introducing! Better to add the introduction in at the end, as you've mentioned :)
- lukevenediger 17y agoThe code listing are "Program Listing" sections in Lyx (http://www.lyx.org http://www.lyx.org). Unfortunately Elyxer (http://www.nongnu.org/elyxer/ http://www.nongnu.org/elyxer/), the Lyx->HTML converter, doesn't yet understand these sections and so skips them. I'm going to patch it to allow for these, and I'll also provide a PDF build next to the HTML export.
- zephjc 17y agoI only have some familiarity with Erlang, Does anyone know the rational behind not being able to change a variable's value? Is it simply historical? It seems you have to call f() to 'forget' a variable before assigning a new value to it - what a maddening name for a built-in function ;-)
- tmountain 17y agoThe rationale behind immutable (a.k.a. unchangeable) variables is rooted in Erlang being designed as a concurrent functional programming language from the bottom up. Whenever you have multiple operations manipulating a single value, you're immediately responsible for synchronizing access to that value and ensuring it always exists in a consistent state. Rather than deal with the complexities of synchronization, some languages opt to make all their data immutable and encourage the programmer to write code in a functional style. The fact that the f() function seems unintuitive is because that's not how code is written in Erlang. f() is merely a convenience function for unbinding a value from the Erlang shell, and it is not used in the real world. Rather, you setup initial bindings and then use recursive functions to yield new values as needed. This requires a shift in your thinking about programming, but it offers huge advantages when working within a concurrent model. For more info on the dangers of mutable state in concurrent systems, I suggest the following article: http://www.artima.com/articles/hickey_on_time.html http://www.artima.com/articles/hickey_on_time.html
- KevinMS 17y agoI've done some programming in Erlang and I found the immutable variables to be a total pain in the ass that gave no benefit. Your code ends up littered with var=1 var2=var+1 type idioms. Also, the immutable variable have nothing to do with concurrency. Since threads cant touch each others data, and they can only talk to each other through messages, immutability only applies to a local scope, where its really no big deal. Last time I checked somebody was making a scripting language built on top of the erlang runtime and he says that immutable variables are nonsense.
- iamaleksey 17y agoIf your code ends up littered with Var2 = Var1 + 1 type "idioms", then you are probably doing it wrong. I hardly ever write code like that (or see other's Erlang code like that). It's by no means an idiom.
- 17y ago
- gcb 17y agoCant see images on opera mobile or teashark.
- lukevenediger 17y agoHi Guys, My name is Luke Venediger, I'm the author of Erlang for Skeptics. Thanks for visiting my book and for the comments. It's very much a work in progress and has a long way to go, but I'm excited about getting the community involved early on. I'm working on a public feedback mechanism, but for now please post feedback below this comment. I've been using Google Wave to build the plot and outline, together with my friends TheColonial (http://buffered.io/ http://buffered.io/) and StackingIt (http://www.blog.stackingit.com/ http://www.blog.stackingit.com/). Wave rocks as a real-time review system, and has definitely improved the quality of my book. I'll have a more substantial website up in the next week or so that will have a comments section and an RSS feed for updates. In the mean time you can follow @erlangforskeptics or myself @lukevenediger on twitter. Thanks again, Luke Venediger
- vorobei 17y agoYou forgot to include Vim in the "Erlang Editors and IDEs" section.