Erlang is getting too big

Sean Hinde sean.hinde@REDACTED
Mon Oct 13 22:30:20 CEST 2003


On Monday, October 13, 2003, at 08:56  pm, Kostis Sagonas wrote:

> On Mon, 13 Oct 2003, Sean Hinde wrote:
>>
>> I think there is and has been quite a bit of action since the bit
>> syntax. Duplicate guards, much new syntactic sugar for record
>> operations #rec{_ = xx}, Java style module naming, soon to be more
>> syntactic sugar for guards, Parameterised modules.. Some of these new
>> features have led to head scratching and questions to me from folks
>> here learning Erlang in the last few weeks. I think we *are* in severe
>> danger of making the core language "too big".
>>
>> We haven't "taken anything out of the language" to add any of these
>> things, and none of them add new capabilities to the language. All of
>> them must be understood by anyone learning Erlang, and already they
>> cannot all be taught in a week.
>
> Although I sympathise with Sean's concerns to some extent, I am having
> trouble sharing all his worries.  Erlang is a small language and I fail
> to see why some of the "recently added features" are needed to be 
> taught
> in a course that introduces the language to developers, or scare away
> people.

I don't think the language is actually that small anymore..

One reason for the training issue is that these people are more and 
more likely to find their first job is maintaining code from others. If 
there are basic syntax features which can't be fitted in the course it 
leads to a sense of "well, what else was left out?", and "will I ever 
figure out the whole thing?". This is the feedback I am getting from 
our newcomers.


>
> Some examples to illustrate my point:
>
>    1. "Duplicate guards": There is absolutely no need to teach the old
> 	guards.  Simply introduce the new is_* ones!
>
>    2. "Java style module naming"
> 	Is this so difficult a concept to grasp?
> 	If one thinks the answer is NO, then what's the problem?
> 	If the answer is YES, then is there really needed for this
> 	concept to be mentioned to somebody who wants to find out
> 	what Erlang is all about?

Maintenance again, and an increasing danger of making code less 
readable.

>
>    3. "Parameterized modules"
> 	This extension is not even available anywhere yet... it is
> 	already being taught in courses?

No, but it is a proposal which looks like it could well be on its way. 
I could list more examples, but my point is that the accumulation of 
features is the problem rather than any individual new feature.

Erlang is really only just getting started in the outside world and its 
size is causing problems already.


> PS. On Friday, I sent a mail about something I want added to the bit
>     syntax, but it is still unanswered ;-)

I have come across this as well, and I agree with your suggestion.

Sean





More information about the erlang-questions mailing list