Live data from Hacker News

Rise and fall of JVM languages

blog.frankel.ch

81–90 of 233 posts

Re: Rise and fall of JVM languages

#81
post #49
post #38

Earlier quoted context omitted.

Java was cool when I started using it "in anger" in 1995. It was going to be a totally new way of delivering software on the fly over the network (that's why all the package names look like reverse domain names). I moved to Python when Java gave up on the dream and became the new COBOL after the dotcom crash.

> It was going to be a totally new way of delivering software on the fly over the network That sounds really interesting! Has any documentation survived about that?

There were quite a few articles about Java in 90s Wired (which, like Java, was considered cool for a brief moment in the 90s).

https://www.wired.com/1995/12/java-saga/ https://www.wired.com/1998/02/java-talk-with-gosling/

Re: Rise and fall of JVM languages

#82
post #78
post #64

Earlier quoted context omitted.

That's incorrect. Scala had 13 years to achieve something while Kotlin is only around for a few years. If you extrapolate the current trends you will see that Kotlin will surpass Scala __very__ soon.

Kotlin is 6 years old, so about half the age of Scala - and, despite the heavy marketing, less than half the popularity on the chart in the article. We'll see what happens; Scala's growth has been slow and organic, but the flipside of that is that its success is down to the merits of its design. (There's plenty I don't like about Scala qua Scala, but I don't see it ever being displaced by a language that lacks HKT. K…

Not really. If you check google trends now you can see that it _surpassed_ Scala after the Google announcement and while it was a bump in trends if you extrapolate the trend it you can see that it will surpass Scala within a year. Higher kinded types in themselves don't have any business value so I don't see why it can't be displaced by Kotlin or Clojure. I don't see any "anti-intellectual hostility" either. Actually I'm working on a library which wraps Clojure's STM and persistent data structures. I like how Clojure works much more (you can opt-in to any extra features Clojure has to offer and they are not forced on you) compared to Scala. Clojure is a clean language with a very powerful and useful philosophy behind it, Scala on the other hand has a lot of tacked-on features and the whole language lacks consistency and philosophy (thus it lacks direction as well).

Re: Rise and fall of JVM languages

#83
post #80
post #38

Earlier quoted context omitted.

Java was cool when I started using it "in anger" in 1995. It was going to be a totally new way of delivering software on the fly over the network (that's why all the package names look like reverse domain names). I moved to Python when Java gave up on the dream and became the new COBOL after the dotcom crash.

Package naming never had anything to do with software delivery over the network. The reverse domain name thing was just a convenient way to deconflict the namespace by leveraging the existing DNS and registrars. And it's just a convention, not actually enforced anywhere or used in any network code.

Right, and I guess it was also done that way (reversed domain name followed by different suffixes for the leaf names for the actual packages) so that it would be easier to see at a glance that some packages were from the same (reversed) domain, indicating from the same creator.

E.g.

com.sun.java.foo

com.sun.java.bar

com.ibm.foo2

com.ibm.bar2

etc.

Re: Rise and fall of JVM languages

#85
post #56

This article is very poorly thought out. First and foremost it talks about the __fall__ of JVM languages yet it forecasts good things for all of those languages. The author also failed to check out things like the TIOBE index where Java is still at the top. Not to mention that Clojure hasn't even been mentioned which is a __huge__ letdown since Clojure is the only pure functional language which is native to the JVM.

I agree. There are many points and oddities in this article that make it a poor source of information on the topic. Actually, not just a poor source, a misleading one.

Re: Rise and fall of JVM languages

#86
post #26

> I started developing in Java, late 2001. At that time, Java was really cool. As someone who was there in 2001, I just have to say: Java was never cool, and especially not at that time. It was bloated and ugly and slow, the GC was terrible, applets were simply the worst, the UI toolkits available looked horrible on every single platform. There were no decent IDEs or editors and the language was if possible even more…

The Java servlet API and ecosystem was quite cool at least in the early years, IMO. Very simple and elegant model, and I did some commercial work with Java servlets. There were 3-rd-party servlet engines (before they started calling them fancier names like containers after J2EE v1 started :), like LiteWebServer and JRun (good fun using them), apart from the Sun reference implementation and and more heavyweight ones like Tomcat which came a bit later, IIRC. I remember following the Tomcat mailing list for some time, and there was intense activity on it for a long time. Also used Tomcat and JBoss later in a few projects. I sometimes mention Jason Hunter's O'Reilly book "Java Servlet Programming" (1st edition) as one of the best programming books I've read, both for the content and the quality of the writing and the code examples.

J2EE v1 was slow and considered by many to be over-engineered (probably why slow). Used it in one project but didn't like it. I've heard that after v3 or so (from then called JEE) it became lighter and better. Maybe others can comment on that. And from some time there have been other options like Spring, etc. Found Spring rather complex too on an initial look.

What do people on here like using for Java web apps these days (those who do use it)? Heard of Wicket and Play, I know there must be others.

Re: Rise and fall of JVM languages

#87
post #82
post #78

Earlier quoted context omitted.

Kotlin is 6 years old, so about half the age of Scala - and, despite the heavy marketing, less than half the popularity on the chart in the article. We'll see what happens; Scala's growth has been slow and organic, but the flipside of that is that its success is down to the merits of its design. (There's plenty I don't like about Scala qua Scala, but I don't see it ever being displaced by a language that lacks HKT. K…

Not really. If you check google trends now you can see that it _surpassed_ Scala after the Google announcement and while it was a bump in trends if you extrapolate the trend it you can see that it will surpass Scala within a year. Higher kinded types in themselves don't have any business value so I don't see why it can't be displaced by Kotlin or Clojure. I don't see any "anti-intellectual hostility" either. Actually…

> Higher kinded types in themselves don't have any business value

They make it much easier to fulfil business requirements in a clear, maintainable way (and mean there's a huge space of libraries available to help with that), which is what programming is all about.

> I like how Clojure works much more (you can opt-in to any extra features Clojure has to offer and they are not forced on you) compared to Scala.

What exactly is "forced on you" in Scala?

> Clojure is a clean language with a very powerful and useful philosophy behind it, Scala on the other hand has a lot of tacked-on features and the whole language lacks consistency and philosophy

Clojure has a clean design as far as it goes, but the design is so spare that to do anything practical in it relies heavily on macros. That's a legitimate language design philosophy and I'm glad there are languages that pursue it, but I don't find it makes for maintainability in the long run; macros are too powerful to be able to reason about code that uses them, so for a maintainable codebase your macros need to be restricted to a subset of what's possible - and to be able to maintain that it would be better to standardize more restricted alternatives that cover the important use cases.

What Scala features would you say are tacked-on? I find it very coherent, with just a few powerful, orthogonal features - it's not quite as minimal as Clojure, sure, but it feels like it's got a lot fewer special cases than Kotlin or any number of modern languages. The libraries some people have written are a lot more... variable, but that's not a sign of issues with the language - if anything it's the opposite.

Re: Rise and fall of JVM languages

#88
post #26

> I started developing in Java, late 2001. At that time, Java was really cool. As someone who was there in 2001, I just have to say: Java was never cool, and especially not at that time. It was bloated and ugly and slow, the GC was terrible, applets were simply the worst, the UI toolkits available looked horrible on every single platform. There were no decent IDEs or editors and the language was if possible even more…

I found it cool in the "approachble, usable" sense. At least I got a lot further than with C++. (My background at the time was purely Visual Basic and PHP). Then again I am still not a fan of C++ today :P

Re: Rise and fall of JVM languages

#89
post #19
post #9

I'm surprised to see that Groovy slightly beats Kotlin in on that graph. I really underestimated Groovy popularity, or overestimated Kotlin. I've yet to work with Kotlin but did like Groovy some years ago. Never used it professionaly though, only for play-projects.

Maybe Gradle is the 'killer app' that keeps Groovy popular? I've heard from people with tricky build tool requirements that it's one of the best options out there.

I see Groovy in 3 places: Gradle files (a Kotlin alternative is coming), Jenkins pipeline build scripts, and the Spock testing framework.

I don't have a good read on how popular Grails is anymore. I liked it a lot in the past but I don't need it anymore with Kotlin and Spring Boot.

Re: Rise and fall of JVM languages

#90
post #71
post #58

Earlier quoted context omitted.

You forgot Jini, https://en.wikipedia.org/wiki/Jini Also Oberon was another system that also allowed for something like Java applets, called Juice. http://www.modulaware.com/mdlt69.htm

And Marimba Castanet

And somewhat less well known, probably, but cool and potentially useful, nonetheless: ObjectSpace Voyager. It was a framework for mobile code / agents / distributed computing. I tried it out a bit, liked it. ObjectSpace were also the company that came out with JGL - the Java Generics Library, a commercial library for generics in Java, some time before Java itself got generics or even before the Java Collections API came out. I think JGL was inspired by C++'s STL (Standard Template Library).
Post reply on HN