[erlang-questions] Erlang for youngsters
Mon Jun 16 10:57:19 CEST 2014
I have always contended that we should start teaching Erlang by teaching
OTP and going back to processes as needed later. Yes this might be akin to
teaching a script to solve a problem instead of the why however quick easy
success builds confidence.
Just my 2 cents
On Mon, Jun 16, 2014 at 9:50 AM, Garrett Smith <g@REDACTED> wrote:
> On Mon, Jun 16, 2014 at 9:51 AM, Torben Hoffmann
> <torben.hoffmann@REDACTED> wrote:
> > I think that a learning resource focused on teaching people the Erlang
> model from the
> > ground up would be a great improvement. A clear narrative around how do
> we solve a
> > problem the Erlang way. Teaching the basic constructs is not the problem.
> > My initial target for such a learning resources would be young people in
> the higher
> > grades of elementary school, say 12-15 years. Why? Because I want to
> influence them
> > before their minds are totally corrupted by other programming models.
> > I don't think we would have to dumb anything down in particular for this
> group - we
> > just have to find a cool example and organise the learning around how to
> become so
> > good that one can solve such a problem.
> > Some sort of game will probably be the best candidate, say, some sort of
> > Tycoon clone?!?!
> I don't have enough experience teaching programming to this age group
> to provide anything more than a hunch. But I suspect that the Erlang
> way, which is hard enough for very seasoned programmers to grok, might
> be a bit ambitious for these young learners.
> I'm speaking in particular about the model that emerges when you
> isolate processes. It changes everything: your approach to building
> software (move from state oriented to activity oriented), error
> handling (move from defensive measures to assertive/let-it-crash),
> program structure (from monolith to system), and so on. The benefits
> of this shift are hard to get across, in my experience anyway. I wish
> it wasn't, or I wish I was better at communicating.
> I think maybe just teaching a new language might be enough ambition
> for this group. I don't mean to throw cold water on this. Just
> thinking out loud.
> > And now for the controversial part of my idea: this should probably be
> done using
> > Elixir plus something for the GUI.
> > Yes, I said the other E word, so I'm ready to be stoned ;-) 
> > Why Elixir?
> > Programming Elixir requires the same understanding of the Erlang
> concurrency model in
> > order to program well. Otherwise you are just doing Ruby-on-BEAM, which
> is kinda lame
> > and misses the boat totally.
> > So using Elixir would allow us to expose people to the Erlang model,
> which I think is
> > the main point. The more people that uses the BEAM, the better for the
> > FindingDevelopers problem.
> > What is better about Elixir from a learning standpoint is, in my highly
> > opinion, that you can get started quite easily with the mix tool.
> > Furthermore, the Elixir syntax is more familiar to youngsters. I asked
> my 12 year old
> > son to have a look in the "Introducing Elixir" book and his initial
> reaction was
> > "That's easy to read, it looks like lua." Minimising the amount of
> surprise is a good
> > thing!
> All of these points are true -- Elixir has a huge advantage here.
> Which is why I'm afraid you must be stoned.
> > Given that I think games are awesome for teaching there needs to be some
> sort of GUI
> > element at some point and here I'm leaning towards Elm (
> http://elm-lang.org) since it
> > is functional, but other suggestions are most welcome.
> All I can say for sure is that if you can create a simple developer
> experience around building anything related to *Minecraft* you have a
> chance at capturing the minds of an entire generation of programmers.
> > Am I on the right track to anything with this?
> > Is there a need for such a learning resource?
> > Is Concurrent, Functional Programming relevant enough to warrant putting
> some energy into?
> What does the 12 year old say?
> erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions