3 ms·
Excellent question! In choosing a first programming language, I think the most important things are (1) acquire generic knowledge, (2) have help along the way.
by thatha7777 4y ago
Excellent question! In choosing a first programming language, I think the most important things are (1) acquire generic knowledge, (2) have help along the way.
(1) The most important thing to keep in mind while learning a first programming language is that it should teach you the abstract notions of programming, without entrenching your mind into a particular programming paradigm. (When I say paradigm, I mean procedural, functional, object-oriented, message passing---I'm sure I'm forgetting a lot.)
I have seen countless _very good_ software engineers struggle when switching but from one paradigm to another, but not between languages of similar paradigms.
In that respect, a multi-paradigm language is the ideal first programming language.
Elixir's origins are functional, but it's evolved to be a multi-paradigm language [1].
(2) To have help along the way, you either need a strong/active community, OR a very helpful compiler. Elixir's compiler isn't particularly helpful, and the community is nascent, so in that regard Elixir isn't the best first programming language.
At the end of the day, I think someone's pre-existing mental model of computers should be the tie-breaker (for example, if it's someone with a strong mathematical background, I think they'd enjoy Elixir more than someone who'd get a kick out of making a cute website-based game.)
[1] I'm guessing the Elixir community would consider purely-functional Elixir as the most-aesthetically pleasing Elixir, keeping true to its Erlangian origins.
- sbuttgereit 4y agoI have to take some issue with your community appraisal. The Elixir community is certainly smaller than some but they do exist, the community is pretty active, and are very welcoming of newcomers with beginner level questions usually answered with good timeliness. My sense is that this has been improving over time. As a beginner with Elixir, this has been my experience. Anyway, my take is that the strength of the community is perhaps greater than you've given credit for.
- thatha7777 4y ago^^ likely a more accurate opinion than mine -- I've been a recluse for ~18mo