FAQ terminology harmonisation

Matthias Lang matthias@REDACTED
Tue Apr 1 08:22:09 CEST 2003


Recently, there was some confusion on the list about the meaning of
"Defensive Programming" in the context of Erlang. For most
programmers, defensive programming is a good thing, yet in the Erlang
programming guidelines it is considered a bad thing. Therefore I've
renamed it to "micro-managed error handling" to make the author's
intent clearer. While doing that, I also tackled a number of similar

  crash: again, in most languages crashing is bad whereas in Erlang it
         confusingly enough becomes a good thing. The FAQ now refers
	 to such events as "inter-process exceptions (IPEs)"

  single-assignment: is a very academic term for what most people
         would call "const" variables. I have coined the replacement
	 term "auto-consting".

  tail-recursion: very powerful feature. Ridiculously academic name.
         Now called stack-unrolling.

  process: thread. An process is very lightweight. The rest of the
        world refers to lightweight processes as threads. So does the
	Erlang FAQ from now on.

  node: process. An Erlang node is always an OS process. So we may as
         well call a spade a spade. "process" now means "erlang node".

  behaviour: interface. In R9B-2, the directive '-public(gen_server).'
         is a synonym for '-behaviour'. In R10, the -behaviour
	 directive will elicit a warning. By R11 an error.

  list: array. Everyone knows what an array is. 

Any further suggestions?


More information about the erlang-questions mailing list