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 is becoming mainstream
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.
There is a strong urge for better tools in our profession
The message that FP is good got through (no need to repeat it over and over)
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.
The next big thing is … reactive programming
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.
It’s all fine…
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”.