I am a CS student.
I know how to program. I taught myself when I was 15 (my brother taught me how to use the While loop and For loop, and I figured out the rest).
I am familiar with C, C++, Java, Python, assembly, Racket-Scheme, and TI-BASIC.
I am familiar with the conceptual benefits of using Functional languages.
I am new to Haskell, Elm, and still somewhat new to Racket-Scheme.
I do not like memorizing new languages and quickly forget their specific terms, but I retain the general idea and structure. It is difficult for me to learn languages, because I have a language and short-term memory deficit, despite excellent perceptual reasoning skills (98th percentile) and excellent working memory (96th percentile). While I am an exception, I am a sort of “yellow canary” for language designers, as my difficult predicts whether a language will gain popularity. This is because the specifics of any given language are not reusable in other languages, due to the execution models being necessarily different, so it is logical for new users like me to decide not to invest much mental effort in retaining those specifics, when there are so many different languages for a new user to decide between. It is not economical for people to switch languages, and people tend to pick up whatever language is taught by teachers, used by friends, or requested by bosses, so this is why popular languages stay popular, while smaller languages fight harder to gain dominance.
While doing the tutorial, it has been somewhat accessible, and I’m actually impressed.
However, I do believe that Elm would benefit greatly from a graphical IDE built for Elm. This accelerates the discovery process for the language and gives users an easy way to remember the language specifics by contextualizing the terms (associating the string with a visual construct), instead of first memorizing the terms and then generalizing the specifics into a theory.