Whether you’re a seasoned developer or just starting your coding journey, these seven talks are packed with insights that will challenge and inspire you. In the rapidly evolving world of software development, it’s easy to get lost in the sea of new languages, frameworks, and techniques. But as I journeyed through my career as a developer, I found that revisiting seminal talks from industry visionaries consistently provides me with fresh perspectives and enduring wisdom.
In the last post, we saw how to combine pure functions running in IO and Akka streams using .mapAsync and .unsafeToFuture val source: Source[String, NotUsed] = ??? val sink: Sink[Int, NotUsed] = ??? def pureFunction[F[_]](s: String): F[Int] = ??? source .mapAsync(parallelism = 8)(m => pureFunction[IO](m).unsafeToFuture()) .runWith(sink) In order to make it easier to work with IO in Akka Streams, we can write some helpers to add a method on Streams that automatically run the IO inside the flow.
In Scala you can write pure functional code, similar to Haskell or other pure functional languages, but you’re not obligated to. Wikipedia categories Scala as an impure Functional language. FP purists view this as a weakness of Scala, but others view the option of “cheating” pureness as an acceptable choice sometimes. Even if you can do everything purely, it’s sometimes a lot easier to think about the problem in a different paradigm.
Theory Having complete silence while you sleep 😴 may seem nice, but in fact can lead to trouble if the outside environment is not also completely quiet. A cat may meow🐱, a car may honk 🚗, your upstairs neighbour can wake up for a late-night snack 🍟… All these sounds will seem louder if your room is completely quiet. The human perception of sound is nonlinear. That’s why it’s measured in decibels.