Give Elm a Chance!

2fe1b2866cfd498a513295d60d5cad0f?s=47 Joel Clermont
February 14, 2017
30

Give Elm a Chance!

2fe1b2866cfd498a513295d60d5cad0f?s=128

Joel Clermont

February 14, 2017
Tweet

Transcript

  1. 7.

    What to expect What makes Elm useful and interesting? •

    Code that doesn’t crash • A powerful type system • Ecosystem: quality over quantity • Care-free refactoring • Amazing QA / debug experience
  2. 17.
  3. 18.
  4. 19.
  5. 20.
  6. 24.
  7. 25.
  8. 26.
  9. 27.
  10. 32.

    No runtime exceptions • Hooray, no bugs! Not quite. •

    Runtime exceptions are a common class of bugs
  11. 33.

    No runtime exceptions • Hooray, no bugs! Not quite. •

    Runtime exceptions are a common class of bugs • “undefined is not a function”
  12. 34.

    No Red Ink’s testimonial Since we began using Elm in

    2015, our production Elm code has yet to cause a single runtime exception. Our error logs show plenty of crashes from our legacy JavaScript code, but none from our Elm code. We've also found our Elm-powered front-end substantially easier to scale than our previous React code base.
  13. 40.

    The power of the type system • PHP’s type system

    is getting better, but still basic
  14. 41.

    The power of the type system • PHP’s type system

    is getting better, but still basic • C# and Java? Better yet, but not very expressive
  15. 42.

    The power of the type system • PHP’s type system

    is getting better, but still basic • C# and Java? Better yet, but not very expressive • ML type system
  16. 46.
  17. 47.

    Elm ecosystem • Package manager enforces semantic versioning • API

    design is extremely thoughtful • Awesome tooling!
  18. 50.

    Elm ecosystem • Package manager enforces semantic versioning • API

    design is extremely thoughtful • Awesome tooling!
  19. 51.
  20. 52.
  21. 53.
  22. 54.
  23. 55.
  24. 56.
  25. 60.

    My final sales pitch • Welcoming community • Lots of

    effort to making concepts accessible • Easy to use it gradually • Will make you a better JavaScript developer
  26. 61.

    Next steps • http://elm-lang.org (live demos, debugger, REPL) • https://pragmaticstudio.com/elm

    • https://guide.elm-lang.org/ • https://frontendmasters.com/courses/elm/ • https://www.dailydrip.com/topics/elm • @elmlang @czaplic @rtfeldman @jclermont