James Governor's Monkchips

On Lightbend, Lagom, and Java is Dead is Dead

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

lang-plot-116-wm-e1455906685179

Java is Dead is Dead. It was fashionable for a while to comment on the idea Java has legs with a curt “oh no Java the language is dead but the JVM is decent”. The cool kids like Twitter were using Scala. But Java the language shows consistent ongoing strength. For data, Stephen just dropped our regular programming language rankings and Java is still very much a thing.

Today came news Typesafe is rebranding. A company built on the idea it could build a business around Scala will henceforth be called Lightbend, and is going after Java shops adopting microservices approaches with a new framework called Lagom – Swedish for “just enough”.

Lightbend is still about Reactive Applications, and will continue to develop in Scala, but it had to recognise that trying to replace Java outright was not going to work, no matter how productive its Play framework and Akka runtime toolkit could make developers.

I talked to Paul Krill at Infoworld about the news and said:

Analyst James Governor of RedMonk sees an opportunity for Lagom. “The Java community needs good tools for creating and managing microservices architectures,” he said. “Lagom is squarely aimed at that space.”

Lagom would compete with the Spring Boot application platform in some areas, according to Governor. “It is early days for Lagom, but the design points make sense,” he noted. Typesafe was focused on Scala, which was adopted in some industries, such as financial services, but never became mainstream, he argues. “So [the company now] is looking to take its experiences and tooling and make them more generally applicable with a Java-first strategy.

11 comments

  1. Java is like Cobol was, it is no longer the language we have to use. Scala is just emerging and Typesafe is not doing the right thing to make Playframework famous, did you had a look at the Play website, their documentation is so POOR that it makes me cry every time I’m looking for informations about Play. Just look at the Django or SqlAlchemy documentation for example, awesome. Also I’ve always been disapointed by their Evangelist’s attitude, they fly too high and rarely give the answers people are waiting for. Also their’s not enough books available. I hope as Lagom is based on Play it will be compatible with Play/Scala !

  2. Using Scala simply does not make any sense. Some companies started using it because of hype but without any real string reason. It has nothing really striking to offer compared to Java and it is time to realize it.

    1. Are you serious? Have you even taken the time to learn Scala and compare with Java? Even with Java 8, Scala is far ahead in terms of how much one can achieve with far fewer lines of more robust code. Here’s a list for starters: case classes, for comprehensions, futures/promises/async – here’s a simple exercise for you – aggregate results from 3 API calls made in parallel using futures and for comprehensions in Scala and CompletableFuture in Java 8. You’ll see the difference in power.

    2. Nice trolling.

      Scala is the best thing that has happened to the JVM world. A breath of fresh air.

  3. I started to kearn scala 5 yets ago when I was a Play developer using java.

    Back then Typesafe was criticized for being scala focused and it was soo hard to read the scala code.

    Now we have gotten used to and apreciate the nice features and breavity of Scala.

    Then they give us ‘Lagom’ with Java8!!!

    Looking at it, java8 realy must win an award for the most; ugly, verbose and unreadable language ever invented.

    I am afraid that non swedish developers will translate ‘Lagom’ to fucking ugly.

  4. […] two spot, just behind JavaScript (TIOBE puts Java at number one for March 2016). This led to a blog post from James Govenor (also of RedMonk) stating that “Java is Dead is dead” (hence the title of my own […]

  5. In my opinion Lightbend is not trying to replace Java. They are focussing on Reactive Platform and Big Data / Apache Spark which is written in Scala.

  6. One of the most powerful capabilities of Java continues to be the modularity system provided by OSGi.

    This is increasingly being used across many verticals – where organisations what maintainable / evolvable solutions.

    It would be good to see the analysts community catching up and report on solid software engineering trends rather than point in time fashions.

    1. thanks @richard. this post isn’t about modularity per se, though it does touch on boot loading approaches. reactive architectures is just another way of explaining many of the kind of things you’ve been working on for some time. tech it’s true is a fashion business, and that’s something you can’t blame the analyst community for. i’d be happy to get an update – indeed i’d been meaning to reach out to you, so thanks for this reminder.

    2. I agree that OSGi is real engineering and I agree that it could use more love. I also agree that microservices are ALL ABOUT modularity, something that the OSGi knows quite a bit about.

      If it takes microservices and formal protocols (well, HTTP …) to force people to stop creating monolithic swaths of incestuous and tightly coupled code (i.e. “BIG-WAR because I can’t break it up”), then so be it.

      Developers are a strange breed of idiot. No doubt we’ll have this opportunity to discuss modularity again when the next trend begins.

  7. Lagom suffers from same issues as before; it does not address ‘architectural cross cutting concern’ caused by binding API data (which is communication data) to biz logic. This data needs to be shared across distributed architecture especiallt when edge case functionality is moved out to proxy/MQ or other services. Thus it cannot synchronize data, creates massive duplication, cause dropped threads when doing redirects/forwards and other issues. It’s just more of the same… except now you actually can use Java.

Leave a Reply

Your email address will not be published. Required fields are marked *