Having trouble reading this email? View it in your browser.
New This Week

Elm: Building Reactive Web Apps »

Elm apps run in the browser, but you don't write them in JavaScript. Elm embraces the good parts of functional programming, but lets you ignore the theoretical underpinnings. Elm makes functional, reactive programming not only possible, but practical and even fun! In The Pragmatic Studio's new video tutorial, you'll learn how to create a reactive web app from scratch using Elm.

Recently Released:

 

Coming Up Next:

  • Modern Perl, Fourth Edition
  • iOS, lots of books in print, and more...
Elm: Building Reactive Web Apps
August 19, 2015

On this day in 1909, the first race was held at the Indianapolis Motor Speedway, now home to the world's most famous motor racing competition, the Indianapolis 500. The initial racers drove at an average speed at 57 mph (92 km) on a surface of crushed rock and tar. The results weren't pretty. The track was treacherous, to say the least. No surprise then that racers quickly looked for a completely different approach. The track surface was replaced with 3.2 million paving bricks and subsequently dubbed "The Brickyard."

Sound a bit like programming with JavaScript-based frameworks today? The results aren't always pretty, the route is laced with treacherous runtime exceptions, and everyone is looking for a better approach.

Thankfully, you don't need to keep going in circles on a dangerous track. The new Elm language offers a fresh and fun approach to browser programming. Elm makes functional, reactive programming not only possible, but practical too!

Check out this new video from our friends at the Pragmatic Studio.

Elm: Building Reactive Web Apps

In The Pragmatic Studio's new video tutorial Elm: Building Reactive Web Apps, you'll learn Elm from the ground up by creating a single-page, reactive web app. Along the way you'll also discover how Elm helps you write reliable code that stays well-factored and easy to maintain even as you scale feature-rich apps. Runtime exceptions are a thing of the past. How's that for a blazing fast track!

Check it out and watch the first 3 videos for free at pragmaticstudio.com/elm.

Q&A with Mike Clark of The Pragmatic Studio

Q: First off, what is Elm?

A: Elm is a functional programming language that compiles to JavaScript and runs in the browser. It was designed and developed by Evan Czaplicki.

Q: The Pragmatic Studio hasn't offered a functional programming language course until now. Why Elm?

A: Elm made functional programming finally click for me. I had been curious about FP but never knew exactly what to do with it. Since I'm not a numbers geek, the typical math examples you find in FP introductions didn't appeal to me. With Elm, however, I started learning the language by drawing shapes in the browser. That naturally led to writing single-page web apps at which point I got sucked in. And somewhere along the way I realized that I was doing functional programming, and enjoying myself! I figured Elm might help other folks get into FP, so we put together this tutorial.

Q: So, you don't have to be a math nerd to get into functional programming?

A: Absolutely not! In fact, I'm fairly miserable when it comes to anything beyond basic math. So math examples aren't a big language selling point for me. Instead, in our course we build something everyone can relate to: a single-page, reactive web app.

Q: What else can you build with Elm?

A: Elm is also great for 2D and 3D graphics programming, or to write canvas-based games. In fact, what got me hooked was the quick visual feedback of running a simple graphics program in Elm's online editor.

Q: Do you need to know another functional language before learning Elm?

A: Well, I didn't. You don't need to know JavaScript either. For our course, we assume you're fluent in HTML, CSS, and an OO programming language.

Q: Who should learn Elm?

I think Elm will appeal to the following kinds of folks:

  • If you're simply curious about functional programming or you've struggled with FP concepts in another language, then I think you'll find Elm relatively straightforward to learn. Its syntax is clean and readable, and you can build practical stuff with it quickly.
  • If you're a front-end programmer who is weary of JavaScript, then you absolutely owe it to yourself to check out Elm as an alternative. With Elm, I find my code is more reliable, stays well-factored, and is easier to maintain as the application grows. And I've yet to get a runtime exception!
  • If you're a language nut, then you'll really enjoy Elm. It's an innovative and well-designed language. Evan Czaplicki, the designer of Elm, drew inspiration from Haskell, OCaml, F#, and other ML-family languages and made it all approachable in Elm.
  • Lastly, if you just want to become a better all-around programmer (and who doesn't?), then knowing a functional programming language will serve you well. For me, Elm was the easiest way into FP and has been a gateway of sorts into other FP languages. After 20+ years of (mostly OO) programming, learning Elm has made me think differently about solving simple and complex programming challenges.

More Q&A with Mike...

Upcoming Author Appearances

  • 2015-08-19 Andrew Hunt, Triangle DevOps
  • 2015-09-08 Adam Tornhill, Swanseacon, Swansea, Wales, UK
  • 2015-09-09 Johanna Rothman, SQGNE
  • 2015-09-17 Chris Adamson, CocoaConf Boston
  • 2015-09-18 Chris Adamson, CocoaConf Boston
  • 2015-09-23 Mattias Skarin, Upphandla IT, Göteborg
  • 2015-09-24 Alex Miller, Strange Loop - St. Louis, MO
  • 2015-09-29 Jesse Anderson, Strata NYC
  • 2015-09-29 Johanna Rothman, Agile Cambridge
  • 2015-09-30 Johanna Rothman, Agile Cambridge
  • Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on pragprog.com (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: @pragprog, @pragpub, Andy @PragmaticAndy and Dave @pragdave.

    Thanks for your continued support,
    Andy & Dave
    The Pragmatic Programmers

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts
    PragProg.com

    Manage your subscription using your account, or permanently unsubscribe here.
    Sent by the Pragmatic Programmers, LLC. • 2831 El Dorado Pkwy, #103-381 • Frisco TX 75033