[erlang-questions] Teaching Erlang as part of a paper -- advice sought
Richard O'Keefe
ok@REDACTED
Mon Feb 8 02:58:17 CET 2010
On Feb 8, 2010, at 1:03 PM, Kostis Sagonas wrote:
> It is true that Erlang offers a lot of advantages w.r.t. concurrency
> and is a very attractive choice for teaching about concurrent
> programming to students. However, because of the existence of BIFs
> and internal data structures shared by all processes, it is NOT "a
> language in which data races are simply impossible".
Ah. Yes, I see what you mean. I never did like the registry, in fact
I criticised it on these grounds, in what, 1997? And I was extremely
critical of a metastasis of similar registries in the ISO Prolog
threading proposal.
I wasn't going to teach them about the registry, and I was proposing to
mention ETS/DETS/Mnesia, if at all, together with external files,
and treat the consequent races as a coherent group of "access to
external
data" problems.
So it would be more accurate to say that "the subset of Erlang I propose
to teach can only have data races when accessing external resources, and
this is a large enough subset to be practically useful and interesting."
Thanks for the reminder, though. I really _must_ introduce the students
to the Dialyzer, and I had forgotten to put that in the list of topics.
I presume it's ok to hand out copies of that article in the class?
More information about the erlang-questions
mailing list