The world after LambdaDays and ReactDay 2015

Marcin Rzeźnicki
Apr 17, 2015 · 4 min read

Attending (or, even better, organizing) a conference is one of the best opportunities to predict what the future may bring. Knowing what the future may bring is undoubtedly the most important knowledge for any enterprise — especially when you’re in IT. We recognize this at VirtusLab and we’ve always been trying to be on top of things by being one of the leading sponsors of many conferences and meet-ups. This time is no different and we’ve been co-organizing the LambdaDays 2015 conference with a special dedicated track for reactive programming — ReactDay. This effort would have been an futile exercise if we hadn’t asked ourselves in the end: “What have we learnt?”. Let’s try to draw some conclusions then, and try to see what the world is going to be after the event.

Scala has gradually been losing its status of uncharted territory and has become more and more adopted by enterprises and hobbyists. Thankfully, it has not yet reached the status of an aging, boring auntie (that’s still Java) — hopefully it never will — but it was clear that the fringe has moved on. This year the adventurous folks were more interested in sophisticated dependent typing that Idris can offer (video). BTW, Edwin Brady gave very inspiring talk, it’s been an eye-opener for me, and I’m really looking forward to seeing the advent of Idris. You could hear a story of Stack Builders Inc., a New York based business not only embracing Haskell but also hiring new Haskellers in places as remote as Ecuador. If that’s not the proof of FP gaining the worldwide traction then I do not know what is. Other folks were busy rewriting their projects to Clojure because they “fell out of love with these technologies” and felt that Clojure is “more fun”. OCaml was gaining its share of souls as well.

It does not suffice to have JavaScript + two JS frameworks under your belt to become an accomplished web developer. Knowing your Scala will not grant you a safe place in the pantheon. We, the programmers, need to reach out to better tools for the job even more than before. It felt as if some psychological barrier had been lifted and successful businesses, seeing the constant adoption of sophisticated paradigms, languages, tools — you name it, no longer shy away from them but embrace them to their advantage. As a corollary, if you want to become the next big thing you need to experiment with better tools. See, while you were struggling with pure JS, other people had successfully used ClojureScript for the next-gen front-end development (video). I was almost in the state of rapture when I saw how elegantly Yan Cui churned out his code while simultaneously debugging, running and refactoring (see for yourself — video) — thanks to the power of Elm, a reactive programming language, and tools that it offers. The result was not a plate of spaghetti, mind you, but quite a tasteful piece of code. The other observation that springs to mind is that nowadays no thing is too weird — if you happen to have an use-case for reactive functional programming, you go grab a RFP language.

Programmers are no longer debating whether functional programming is a good thing. Currently they want to squeeze more out of it (Tomek Borek tried to analyze the phenomena of FP and convince everyone that not everything is moonlight and roses, though (slides)). Everyone and his brother discusses monadic computations and you’d better know what this is all about. See Noel Markham’s video for some amazing things you can do once you grasped the concept. Unfortunately, some of the speakers did not notice and were beating the dead horse by saying why it is good to be doing FP. We already know why! That’s why we came to the conference in the first place. 90s called and want their talk back.

If you want to place a wager on what the next trend in programming is going to be then reactive programming is a sure bet. We even hosted a separate track, called React Day, dedicated to this very subject. There is a ton of things going on in RP and lot of vibrant and dedicated supporters. Probably everyone has heard of Spark or Akka/AkkaStreams but there is much more to reactive programming — ranging from academic works to capture the semantics of RP (Andre van Delft’s SubScript) to practical HOW-TOs guiding programmers (ktoso’s of Akka fametalk and slides) and dev-ops (Michael Nitschinger’s talk and slides) on how to approach this demanding kind of applications. Not to mention that reactive programming’s made great strides in big data processing, or, as Nilanjan Raychaudhuri (the author of “Scala in Action”) would put it: fast data processing. He made a somewhat bold claim that “speed is the problem to solve, not size” and went on to prove that with help of state-of-the-art Spark ecosystem. His talk is a must-see if you’re into big data and/or Spark in general (video). As for myself I enjoyed the beauty of Spark Scala API the most. The power and expressiveness of Scala really shines in this setting. All in all, if you are wondering what to master next — dive in into reactive programming.

Having written all this I recalled an old internet joke that says “Wadler [Philip — co-author of Haskell] tries to appease critics [of Haskell] by explaining that “a monad is a monoid in the category of endofunctors, what’s the problem?”. In the world after Lambda Days you should be answering “Nothing, it’s all fine”.

VirtusLab

Virtus Lab company blog

Marcin Rzeźnicki

Written by

Using Scala to build most composable and concise business logic @ iterato.rs

VirtusLab

VirtusLab

Virtus Lab company blog