The Bike Shed
173: A Combinatoric Explosion of Nulls (Joël)
Joël Quenneville joins Chris to discuss Elm, the strongly typed functional programming language for writing reliable client side web apps. They discuss recent changes from the 0.19 release including reduced bundle size from dead code elimination, the somewhat controversial removal of custom operators. Anecdotally, Joël and team saw a reduction from 31.5K to 16.6K in bundle size going from 0.18 to 0.19 and felt no pain from the custom operators removal, so a big net win for them with this new version.
Along the way Joël and Chris detour into the complexity of managing a project and community like Elm's and discuss Joel's recent work with the thoughtbot apprentice program. To round things out, Joël and Chris discuss the power of using a type system like Elm's to constrain the valid states of your application and make your apps more robust and maintainable.
- Elm - A delightful language for reliable webapps.
- Elm 0.19 Release Notes
- Webpacker
- Elm 0.19 - Dead Code Elimination
- Scala.js
- The reasoning behind removing user-defined operators
- Minesweeper for JavaScript Equality
- WebAssembly
- Linus Torvalds - "I am going to take time off and get some assistance..."
- Also Linus, on the importance of "trivial patches" as entry points for new kernal developers
- Derek Prior - Implementing a Strong Code-Review Culture
- thoughtbot code review guidelines
- thoughtbot apprentice program
- How Elm Slays a UI Antipattern
- "Making Impossible States Impossible" talk by Richard Feldman
- "Working with Maybe" talk by Joël Quenneville
- "Confident Code" talk by Avdi Grimm
- "Nothing is Something" talk by Sandi Metz
- The Zen of Python
- Breakable Toys
- Joel’s many posts on the Giant Robots blog
- Stop Coding and Start Drawing