[erlang-questions] Time for OTP to be Renamed?
Thu Feb 13 15:37:56 CET 2014
A lot of my comments will often boil down to "what I did in LYSE is what
I think is best" -- which is kind of dumb and not useful, but makes
sense (why would I take an approach I think is less optimal?).
Behaviours on their own have a far lesser cognitive load than OTP as a
whole. The question I have on this one is whether this will lead to
idiomatic Erlang/OTP code in the long run, or whether this will breed a
behaviour-heavy code base where people try to shoe in things such as
abstract classes into behaviours, because let's face it, a programmer
is going to grasp at all the straws he or she can grasp, learning by
analogy, and the concepts are deceptively similar. (Interfaces an
abstract classes are somewhat similar, and so abstract classes and
behaviors are not very far apart!)
My concerns shouldn't keep from one from trying to do what they think is
best. Different readers and writers have different teaching and learning
methods, and it's clear that Erlang books aren't a one-size-fits-all
kind of deal.
Over time, variety in learning material should yield a higher quality
for all approaches. Whether people feel more at ease going through
Joe's book, Francesco's & Simon's, Zach's, Simon's (Introducing Erlang),
Eric's & Martin's, LYSE, webcasts, blog posts, talks, or diving into the
source code of existing projects, or even just asking friends is
unpredictable, and having a resource for every kind of person is hardly
a way for failure.
I don't think I've heard a lot of complaints about having too many
resources to learn from in Java, C, or C++. If so, it's not on the level
of "not enough resources in language X". It's also far less work for a
community to shun or give less importance to a bad tutorial, than it is
to come up with a new one, so filtering out to keep the most helpful
material is likely a happy problem.
Ultimately the decision of an approach is made by the person writing the
tutorial. If you feel confident in introducing behaviours early, I'd say
to try it and go for it, and see the results at a small scale, maybe. We
can't really know without having someone trying it.
On 02/13, Dave Cottlehuber wrote:
> Thanks Fred,
> An insightful response. Where do you see behaviours in all this?
> The context is that I've recently advocated introducing behaviours
> very early on (not full gen_* behaviours), but just as a really simple
> step in learning erlang, same as adding tests, using typer & dialyzer,
> in helping enforce API contracts between modules. It seems to ease the
> shock of the first encounter with gen_server etc, removing a bit more
> of the black magic up front.
> erlang-questions mailing list
More information about the erlang-questions