Pull > Push: Please stop polluting our imperative languages with pure concepts
The past few years have seen an influx of ideas from functional programming languages to mainstream languages. Not only lambdas and higher-order functions have found their way into Java and other languages, but even more advanced concepts like monads, imported from the purest of FP languages. In this talk we’ll explore the validity and applicability of those concepts to imperative languages (or, rather, lack thereof), and the motivation for their inclusion. In particular, we’ll discuss:
- Push and pull are duals, but pull is always better (in imperative languages).
- We already have native syntax for (the important) monads.
- How monads ruin imperative code.
- Keep your monad transformers, we’ve got ThreadLocal
- Why is this happening in the first place? Can we do better?
Ron Pressler is the founder of Parallel Universe, a YC company building a JVM-based server-side stack for easily writing high-performance, low latency applications that work in harmony with modern hardware architecture rather than fight it. Prior to founding Parallel Universe, Ron was a developer and a software architect in the Israeli Air Force, where he developed and designed air-traffic control and missile-defense systems, as well as large, clustered physics simulations.