[erlang-questions] Erlang for youngsters

Torben Hoffmann torben.hoffmann@REDACTED
Fri Jun 20 23:07:53 CEST 2014


As I started this fire let me try to set a few things straight.

First off, the subject of this thread should have been "Erlang/Elixir for youngsters"
as my original desire was to teach the Erlang way of doing things to youngsters.

It can be done with Erlang or Elixir - if you are not coding the Erlang way in Elixir
you are just wasting your time.

The Erlang way = The Golden Trinity of Erlang = share nothing + fail fast +
supervision. 

While syntax could be an issue that is not the top worry on my list.
Having an easy to work with eco-system and consistent libraries are way more
important when you want to teach things.
This is where Elixir seems to have some advantages - should be proved by conducting a
test!

Secondly, the target demographic is important for a number of reasons.
Getting an army of young people to discover the wonders of The Erlang Way™ has huge
benefits both short term and long term. Short term some of them will create something
really cool and that will create a positive circle of getting more people attracted -
even some older ones. Long term we get a lot of ambassadors, which will make it
easier to get Erlang/Elixir into companies.

One of the things that this thread has convinced me about is that if one can get them
to do games with a GUI then the motivational factor should be in place - suitable
building blocks should be in place to ensure a learning curve with lots of small
successes, of course.

Another benefit of doing games is that there is always a lot of interesting problems
to solve - some of which are relevant for a lot of other domains.
Frame that in the right way and then one can re-use or slightly tweak the material to
be used for beginners of all ages. Learning should be fun, even when you are "old".

Sorry if I have confused things with the badly chosen subject and imprecise
statements. 

Cheers,
Torben

José Valim writes:

>>
>> I just don't see any value for the Erlang community in this [teaching
>> Elixir to kids]
>>
> So basically you are saying that you don't see any value in:
>
> * teaching developers/kids a language that runs on the same VM as Erlang
>
> * teaching developers/kids a language that uses the same concurrency
> mechanisms, processes and distribution abstraction as Erlang
>
> * teaching a language that is functional and promotes immutability as Erlang
>
> For me teaching any language that promotes any of the three example bullets
> above brings value to Erlang.
>
>> To get more inflow into the Erlang community one way was suggested be to
>> teach kids Erlang or something more kid friendly based on Erlang.
>>
> Teaching Erlang to kids is not going to increase the inflow into the Erlang
> community unless it is a HUGE effort that requires an incredible amount of
> time in the long-term. How many children would have to be taught so in 5
> years time they become an active part of the community? How many
> developer-hours would that whole effort require?
>
> Teaching programming to kids is a goal in itself. In his talk Garrett
> raised many other points that could be more effective in increasing the
> inflow into the Erlang community.
>
>> Well besides the different syntax, metaprogramming is whats sold as one
>> Elixirs advantages isn't it?
>>
> Meta-programming is an advanced feature of the language. We don't talk
> about it in the Getting Started guide. And even in the Programming Elixir
> book, it is only discussed in the last sections.
>
>> So if we ignore metaprogramming because it woun't be taught in this
>> "Elixir for Kids" book all that remains as difference is the syntax.
>>
> We also have an excellent focus on tooling and on documentation both which
> are very helpful when learning a language. But, of course, those points are
> always dismissed even though it is clearly stated in the project home page.
>
> Instead of claiming Ruby for being the result of a pop culture, we should
> actually ask ourselves what were their efforts and how did they get to the
> point where they can have a room full of kids at events learning how to
> program.
>
> We should ask how can both Elixir and Erlang community *be together* in
> tackling this (and LFE and ...). More people, more time, more energy! If
> Elixir is good at attracting Rubyists, maybe we can get the attention of
> some that were involved in those teaching projects to give us some pointers?
>
> Do you want to help the community grow? Do what Katie said: "embrace
> diversity", don't actively fight against it.
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions


-- 
Torben Hoffmann
CTO
Erlang Solutions Ltd.
Tel: +45 25 14 05 38
http://www.erlang-solutions.com



More information about the erlang-questions mailing list