If you are using Scala to do reactive programming, then Monifu, an extension to the standard Scala library has the potential to help you write better performing code. Recently, I was in Romania and had a chance to attend a development conference held by Eloquentix, where Alexandru Nedelcu, the creator of Monifu presented some of the benefits and uses of Monifu with regards to reactive programming.
A little bit of background
I’m not quite sure where to begin, so let me back up for a second. I have worked with a lot of development shops and a lot of developers, and while I’m not a great coder, there is one things I do understand. Language should never dictate a new technology. The technology should typically be the one driving the bus. And that’s one thing I really like about Alex and all of the guys at Eloquentix. They, as a whole, have a very design-centric focus on building software. Whatever programming language is best for the product, platform, microservice, whatever, is the language that the product needs. Alex, who is a thought leader in Scala not only made this evident during his presentation, but also in his article on Scala Best Practices.
Back to the Monifu
Monifu was originally created as part of a Scala project Alex works on that relies heavily on reactive programming. Reactive programming is an essential paradigm shift in today’s complex software world that allows for increased responsiveness, elasticity, and better handling of error messages. Monifu adds extensions to the standard Scala library that expedites all of this. It can target both the JVM and Scala.js.
In the end it’s not about what language we code in. It’s about writing code that allows us to create the ultra responsive software and services that we need to build. And right now, Monifu is a resource that can help us create even concise Scala that better handles loosely coupled services that are flexible, scalable, and in the end serve the technology they are creating.