Real World Ember
Functional Programming in Ember: Daniel Chappell at Q2 eBanking
Episode Summary
We talk functional programming in Ember, functional programming in other languages (including languages that transpile to Javascript), and functional programming in theory.
Episode Notes
We talk functional programming in Ember, functional programming in other languages (including languages that transpile to Javascript), and functional programming in theory.
- Daniel Chappell
- 2.5 years programming exp, previous career was as a photographer
- motivation for starting programming was getting out of photography, but he soon came to love programming for itself
- functional programming
- functional style makes codebase safer and easier to change and collaborate on
- Computed Properties in Ember are pure functions
- Should separate code into functional and imperative pieces, with imperative as small as possible
- Recognized a lot of Functional philosophy in Ember
- Most Ember code can be turned into Computed Properties
- Types of Ember Code where mutation are fine: hooks and actions
- These happen based on user actions- changing the route, changing data, interacting with the screen
- Computed Properties are as trustworthy as functional properties thanks to how Ember updates them for us
- Data Flow
- Elmber <- Please create!
- Javascript is getting way better! Thanks TC39 and Babel.js!
- ES6 + Babel has made transpiling cool whereas it wasn’t before (Somewhere, Jeremy Ashkenas weeps)
- Coffeescript helped us understand Javascript
- Type systems
- Algebraic data types
- Not an expert in all of FP, but it informs how he writes code
- Javascript facilitates multi-paradigm coding
- “Patterns are language features that haven’t been implemented yet"
- Patterns are the testing ground for new ways of organizing code
- Javascript is flexible enough to emulate most other languages’ patterns
- Scheme is another example of a language that is flexible enough to emulate other languages’ patterns
- He invests in eMacs because he wants to mess around with lisp
- Q2 eBanking
- Provides high-quality banking software for small local banks that wouldn’t be able to build one themselves
- Web, Android, and iOS experiences all from the same Ember codebase
- Mission: keep small community banks/credit unions competitive with the big banks
- Jeffrey just opened a business account with a Q2-affiliated bank, and the software is great
- Ember has been great for the project- especially the commitment to semantic versioning
- They’re hiring!
- You can work with Ember all day every day
- If you’re investing your time in Ember, they want to talk to you
- Reach out to @josephdchappell on twitter
- Sponsored by EmberScreencasts.com