[erlang-questions] Erlang newbie questions
Wed Oct 19 23:00:42 CEST 2011
On 18/10/2011, at 1:17 PM, Gerry Weaver wrote:
> Is the Erlang language itself still evolving?
> The reason I ask is that the fellow that did CouchDB posted a blog entry about the things he encountered while developing CouchDB. What was interesting to me is how, even after a short time with the language, many of the issues he mentioned immediately rang true with me. For example, what is the benefit of the "; , ." terminators as opposed to a single terminator approach?
Of those three punctuation marks, only ONE is a terminator, and that's full stop.
The other two are SEPARATORS (that is, like binary operators).
"," means SEQUENCE, like ";" in Algol (so in a guard, it means "AND")
";" means ALTERNATIVE (so in a guard, it means "OR").
Since you come from a C background, it may be clearest to say that "," is not entirely unlike ";"
and ";" is not entirely unlike "else", and you really wouldn't think it reasonable to unify
";" and "else" in C, now would you? Nor would you think well of a proposal to unify "&&" and "||".
There are alternative syntaxes for Erlang, notably LFE (Lisp-Flavoured Erlang).
It's fair to say, though, that the syntax is the least important thing about
Erlang (or any other programming language). The *semantics* is what matters most.
> I assume a best practice is to minimize the use of modules written in other languages.
Indeed it is. It's just like Java: once you include C code all warranties are
voided. If you do that you must exercise "trepidant vigilance", a phrase I got
from a Rex Stout story.
More information about the erlang-questions