concepts and principles: • Distinguishing actions, calculations, and data • Staying immutable in a mutable language • ... and more • They are valuable and regardless of what language you use.
Thinking about a problem • Clarify parts that need special attention (actions) • What data we will need to capture (data) • What decisions we will need to make (calculations) • Coding a solution • Write code with immutable in mind: data > calculations > actions. • Reading code • Refactor the code to better separate from actions, calculations and data.
Needs 50 Engineers for Its 900M Users • Elixir • Discord - How Discord Scaled Elixir to 5,000,000 Concurrent Users • Apple - Working on APIs towards carbon neutral by 2030 • Clojure • Roam Research - State of Clojure 2021 Results • Elm • https://github.com/jah2488/elm-companies • Blazing Fast HTML