HACKER Q&A
📣 ralmidani

is learning Elixir suitable for a kid who currently uses MIT’s Scratch?


Someone asked me about this on LinkedIn: https://www.linkedin.com/posts/ralmidani_exercism-activity-6957666476564619264-4VVf

I am not sure how to answer. Part of me thinks starting out with Elixir would wire the kids’s brain to think about transformation of immutable data, isolating side effects, implicit return, and everything is an expression before encountering Imperative/OO programming. Would learning Elixir now be good for his long-term development and future career?


  👤 nateb2022 Accepted Answer ✓
I would recommend Go. It would be easier to learn, and it's syntactically more similar to established languages like C, C#, Java, and the like, so it would be a good introduction to them.

If he wants to make a game, which is the reason I picked up programming when I was 13, I strongly recommend giving him Godot and having him learn GDScript, which is basically a dialect of Python 3. It would be enjoyable for him, and he'd have something tangible, fun, and hands-on.


👤 bluehatbrit
If a child really wanted to do something with a web app or something highly concurrent then sure. However, in my expereince kids typically want to engage in programming to do something particular. Make a game, make some music, etc.

I'd probably introduce someone to SonicPi after something like Scratch. That way they can make some music and have some fun while learning some kind of Ruby. It's built to be educational so should be straight forward to pick up following the tutorials and lesson plans.

Elixir is a fine language really. I don't think you're wrong in anyway, it probably would teach some useful skills while also being less frustrating to learn than something like C, but I'm not sure there's much point in a child learning a language for the sake of it. They're also less likely to enjoy it.


👤 fiat_fandango
As an elixir engineer, start with something much lower level like Racket or Lisp first! Elixir has lots of shiny features but IMO it would be distracting / disorienting to someone transitioning from a no-code platform. Lack of a repl is also something to consider.