Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Give Elm a Chance!

Joel Clermont
February 14, 2017
250

Give Elm a Chance!

Joel Clermont

February 14, 2017
Tweet

Transcript

  1. 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. No runtime exceptions • Hooray, no bugs! Not quite. •

    Runtime exceptions are a common class of bugs
  3. No runtime exceptions • Hooray, no bugs! Not quite. •

    Runtime exceptions are a common class of bugs • “undefined is not a function”
  4. 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.
  5. The power of the type system • PHP’s type system

    is getting better, but still basic
  6. 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
  7. 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
  8. Elm ecosystem • Package manager enforces semantic versioning • API

    design is extremely thoughtful • Awesome tooling!
  9. Elm ecosystem • Package manager enforces semantic versioning • API

    design is extremely thoughtful • Awesome tooling!
  10. 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
  11. 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