Live data from Hacker News

Scala 2.13 is now available

scala-lang.org

81–87 of 87 posts

Re: Scala 2.13 is now available

#81
It's sad to see Kotlin took over quite a share from Scala in my perspective. A lot of people are waiting for Scala 3 to make their decision which makes it worse.

Don't get me wrong - Kotlin is a nice language. But Scala is one of the most language to bring novel ideas in to the industry. There will be even dependent type in Scala 3.

A lot of people are keep bashing languages like Scala for complexity. I don't think they are wrong but in this way the industry is moving slow compared to the reckless style in 90s. People are just too caution with new languages nowadays, which makes things harder for new ones. New languages have to add a lot of compromises to get attraction.

There's still a long way from carpentry to engineering.

Re: Scala 2.13 is now available

#82

We use Java in our projects and although there is interest in Scala, I fail to see any real benefits from moving to it, especially with new Java features, except for a nice addition to your CV. Can anyone share their experience where moving from Scala to Java yielded measurable benefits, besides "it's more fun to program in Scala"?

"More Fun" has more implications on productivity, defect rates, and quality than you give it.

You can't underestimate how much the motivation of developers and their enjoyment and engagement with a project, feature, or any given code change actually impacts the overall delivery.

Now, if you don't find it more fun, more engaging and more motivating, disregard this. But my point is, any language, tooling, environment, team culture, etc., which will bring you "more fun" will actually make you deliver way better software as a side effect.

Re: Scala 2.13 is now available

#83
post #70

Earlier quoted context omitted.

If true, I’m curious as to why. They call the same compiler and both support incremental compilation.

Because Gradle requires an additional daemon sucking up 2GB and uses Groovy for plenty of its tasks, instead of using declarative builds implemented in Java without using background daemons. I seldom see conference talks how to optimize Maven builds, Gradle talks about build optimization, at least one per Java conference, and several per Android one. Just Google IO 2019 had three talks about it.

That's just bizarre. And so far removed from my experience I'm genuinely surprised.

I've never had a gradle build that didn't manage to remember I've only just compiled the code and haven't changed any of it. I can't remember ever having a maven build that could tell I didn't need to compile every single time. And the same the whole of the way down the stack.

Nice attempt to imply gradle isn't declarative though.

Re: Scala 2.13 is now available

#84
post #70

Earlier quoted context omitted.

Because Gradle requires an additional daemon sucking up 2GB and uses Groovy for plenty of its tasks, instead of using declarative builds implemented in Java without using background daemons. I seldom see conference talks how to optimize Maven builds, Gradle talks about build optimization, at least one per Java conference, and several per Android one. Just Google IO 2019 had three talks about it.

That's just bizarre. And so far removed from my experience I'm genuinely surprised. I've never had a gradle build that didn't manage to remember I've only just compiled the code and haven't changed any of it. I can't remember ever having a maven build that could tell I didn't need to compile every single time. And the same the whole of the way down the stack. Nice attempt to imply gradle isn't declarative though.

Fortunately there are plenty of blog posts from Gradle blog and conference talks that prove otherwise.

Again just Google IO 2019 has three talks about tackling build performance issues.

Maven never required a build performance profiler tool.

Gradle is just like Ant, give DevOps a programming language DSL and they will make a mess of build scripts.

Re: Scala 2.13 is now available

#85
post #29

Earlier quoted context omitted.

I guess there's always "one more feature", but to me it feels like Scala stopped frustratingly just short of getting the language design right. Partial type application is frustratingly cumbersome. For the last 3 releases or so - which is what, 6 years of language development? - people have been using the kind-projector plugin to the point that it's now pretty much entrenched. Any kind of built in solution - even if…

Scala 3 (known in its prototype phase as Dotty) will solve lots of the issues you describe. The language is reevaluating how some of its features are used in practice, and lots of common use cases that now are a bit clunky will be streamlined. Other issues like better compiler errors and nicer tooling are being worked on. Both Scala and SBT have advanced a lot on that regard, and I'm eager to see what's next.

I'm aware. It was just frustrating to see two major releases (five years and counting) focused on things that weren't an issue for me (indeed "Java 8 support" was actually a regression from my point of view, as it means my code doesn't work on Android any more). At one point there was a fork that was offering some more valuable features ("-Zirrefutable-patterns" was a huge help in some of my code) which I would've wanted to try to contribute to, but then it disappeared all of a sudden with all references to it vanishing, as if via some back-room deal.

(It's possible that there's a better explanation in some of the meeting videos that have started being published; in principle that's a great move,but I'm not able to follow videos and there have never been any written transcripts/minutes available (I have asked))

Re: Scala 2.13 is now available

#86
post #79

Earlier quoted context omitted.

Most of my background is in Python, but I've dabbled in a lot of languages out there from Haskell, lisp, Perl...etc. The point being I don't mind trying new things. I don't know Java and the JVM very well though and a lot of hosted languages like Scala, Clojure, Kotlin...etc seem to assume that you're intimately familiar with it which is a pain. Also, the Scala tooling when I last checked ~2 years ago was complex. I…

Clojure is great for scripting now.

Does it still require you to magically know a ton of Java classes?
Post reply on HN