DEV Community

Anton
Anton

Posted on

Bite the bullet and roll with the punches. Starting to learn ELM.

I've been meaning to learn ELM and now I'm even more excited to learn it. I found some great educational material and I will share it here.

Videos:

1) The first one is a course by James Moore. I started watching it a little bit. Great explanations and the course is practical. Price: FREE.

https://courses.knowthen.com/courses/enrolled/86520

2) The second one is a course also by James Moore. Called "Elm beyond the basics". It's not free, but I want to buy it. There are team licenses, so if you want to cheap in let me know. Price: $45.

https://courses.knowthen.com/p/elm-beyond-the-basics

3) The third one is a screen cast with 51 episodes https://elmseeds.thaterikperson.com/

4) The fourth one is a course by Richard Feldman. Price: $39 a months. It's a cost to a subscription for Frontendmasters website.

https://frontendmasters.com/courses/elm/

5) The fifth one is also a course by Pragmatic Programmers. Price: $68 They also have a team discount and a discount until 31st December with coupon code MERRY2017. https://pragmaticstudio.com/elm

Books:

1) Elm in action by Richard Feldman https://www.manning.com/books/elm-in-action

It's still in progress, but Richard has produced a lot of great materials already. And he is here on dev.to, https://dev.to/rtfeldman/i-am-the-author-of-elm-in-action-ask-me-anything

He also open sourced an SPA app in elm https://dev.to/rtfeldman/tour-of-an-open-source-elm-spa

2) Pragmatic Programmers also have a book on ELM https://pragprog.com/book/jfelm/programming-elm Price: $22.

I'n not an ELM programmer and I haven't read the books so I can't really provide any useful feedback. But I hope this compilation is useful for you.

This in unfinished post, I also will later write add my experience of learning Elm and what I meant by bite the bullet and roll with the punches.

Top comments (8)

Collapse
 
rhymes profile image
rhymes

I do have sort of an odd question: why does learning Elm matter? Except for the obvious reason of expanding one's mind which in itself it's not to be belittled. But probably you're going to address this in later posts so I might just be getting ahead of myself :-D

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

Elm is a great introduction to functional programming. It also shows you an interesting way to create UIs (Model-View-Update) without depending on heavy framework abstractions. This point may not be obvious at first, but Model (and Msg) are just ordinary user data types, and Update and View are just functions on the data types... nothing special about them. So most all the code you write are just your functions on your data types.

P.S. We use it in production.

Collapse
 
antonrich profile image
Anton

The way I see it. It's better refactoring and no runtime errors. The things I often hear about JS is that it's hard to find bugs. You see the error messages but don't really know where the error is.

This reason better refactoring alone means I can develop software faster when I get the hang of things.

After watching Kevin Yank's presentation I understand that ELM has its pain points. Nevertheless, it's a great language to learn. Plus kind of an introduction language to static typing.

Collapse
 
alephnaught2tog profile image
Max Cerrina

I mean... why does learning any new language matter?

Collapse
 
stoft profile image
Rasmus Larsson

I find that learning new languages teaches me new concepts and also gives me further insight into already known concepts from previous languages. These are things I then tend to bring back to my old language giving me new ways of solving problems in my old familiar environment/language. Two examples come to mind:

Learning C after Java gave me insight into references in Java and what the garbage collector gives me and what it costs me.

After learning Elixir I started using functional constructs in JavaScript much more often.

Collapse
 
rhymes profile image
rhymes • Edited

Sorry, my question wasn't meant to downplay the importance of his quest. I'm all for learning odd languages and expanding one's mind as I said.

My question was purely practical and directed to the author: his tone is definitely excited but I noticed he didn't address the why :-)

I googled a bit (I'm 100% ignorant about Elm) and it seems a terrific language on paper.

Thread Thread
 
alephnaught2tog profile image
Max Cerrina

Totally fair :D Only reason I'm familiar with elm is my SQL teacher this semester really likes it so he'd mention it at and random and posted some articles about it just for fun.

Thread Thread
 
antonrich profile image
Anton

As far as I know SQL is a declarative language. Did you teacher liked ELM because ELM is also declarative?