CCAD & Video Org • Build state of the art control systems that manage set-top boxes, consumer devices, and video distribution equipment • Using Scala since 2008 • Open source • Primary author of scodec, simulacrum, cedi-config • Maintainer of FS2 (formerly scalaz-stream) • Committer to Cats 2
problems with software today. Unreliability, late delivery, lack of security -- often even poor performance in large-scale systems can all be seen as deriving ultimately from unmanageable complexity. — Ben Moseley & Peter Marks. Out of the Tar Pit. 2006
we refuse to be crushed by the complexities of our own making… — Edgar Dijkstra. The Tide, Not the Waves. 1997 Image credit: https://en.wikipedia.org/wiki/Edsger_W._Dijkstra#/media/File:Edsger_Wybe_Dijkstra.jpg CC BY-SA 3.0
way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. — C.A.R. Hoare. 1980 Turing Award Lecture, The Emperor’s Old Clothes. Image credit: https://en.wikipedia.org/wiki/Tony_Hoare#/media/File:Sir_Tony_Hoare_IMG_5125.jpg CC BY-SA 2.0 fr
as the discovery of the simple physical laws which underlie the complex phenomena of nature. — C.A.R. Hoare. 1980 Turing Award Lecture, The Emperor’s Old Clothes. Image credit: https://en.wikipedia.org/wiki/Tony_Hoare#/media/File:Sir_Tony_Hoare_IMG_5125.jpg CC BY-SA 2.0 fr
systems from small expressions that can be understood in isolation. — José Manuel. http://jmct.cc/1/. 2017 Image credit: https://pbs.twimg.com/profile_images/1295057087/25229_727959825617_10611734_41545628_160685_n_400x400.jpg Used with permission.
2015 Image credit: https://www.goodreads.com/photo/author/5774803.R_nar_Bjarnason/wiki/John_Hughes_(computer_scientist)#/media/File:John_Hughes_(computer_scientist).jpg Used with permission.
p → q q p 㲗 q p ⋀ q t t t t t t t t t t t f t t t t f f f f f t t t f f t t f f f f t f t f t f t f p q ⊥ p ↓ q p ≰ q ¬p p ≯ q ¬q p ⊕ q p ↑ q t t f f f f f f f f t f f f f f t t t t f t f f t t f f t t f f f t f t f t f t
from reality, but really you’re getting closer and closer to the heart of the matter. — Eugenia Cheng, How To Bake π Image credit: Paul Crisanti of PhotoGetGo. Used with permission.
capable of solving your problem — Li Haoyi. Strategic Scala Style: Principle of Least Power. 2016 Image credit: https://pbs.twimg.com/profile_images/475467756947513344/U2n2AzKv.jpeg Used with permission.
of FP is I’m not smart enough to program without discipline and tools. Read Backus: FP should aid in writing programs the author can understand (& prove things about). One discipline is simplicity! — Alex Gurney. 2016 Image used with permission.
• Be intentional about adoption • Be disciplined about referential transparency, totality, & abstraction • Don't get overwhelmed by abstract nonsense 26