|I was recently asked, "Is Elixir a good first language for someone to learn who has never done (serious) programming before?" After thinking for a minute, I realized that at some point in the last 20 - 25 years I really lost touch with this area.|
My first language was C, and I did and still do think that was a fantastic first language because you can start very simply and don't have to learn a ton of programming concepts prior to writing some code. In my experience, learning to code is much more likely to succeed if you can write something (even hello world) and iterate on it. For example, working with people learning Java as their first language, they really struggle because you can't really do a hello world without encountering objects, classes, static keyword, public/private, and other things.
I love functional programming and Elixir, but I do worry that it has a few things like that to learn that might be a barrier to entry for a brand new programmer. Since I started procedurally and years later learned OOP, and then after that learned functional, I have so much baggage that I'm not sure I can weigh Elixir as a first language.
There's also the obvious, "what do you want to do with it?" question that matters. For example if you want to write frontend SPAs or mobile apps you have less flexibility. In this case however, that's largely irrelevant.
Is there anyone here who learned Elixir as their first (or first serious) language who can comment on this? Or is there anybody who started with a functional language and/or a lisp or similar who can comment?