Live data from Hacker News

Scala Native

github.com

111–120 of 265 posts

Re: Scala Native

#111

Earlier quoted context omitted.

I've heard a lot of the early adopters of Scala are moving away, including LinkedIn, Twitter, etc.

No, not really. Some people from losing ecosystems like to spin it that way¹, but the truth is people are happy, adoption is great, and companies see that pain-points get addressed. Of course there are companies which drop Scala, but often like in LinkedIn's case it's not caused by a dissatisfaction with Scala, but new leaders making different decisions like "we are using 10 different languages, we should consolidate…

> I remember there was some very very bitter Groovy evangelist a while ago

Apache Groovy has always been good for scripting stuff on the JVM, including for Grails and as a DSL for Gradle. Unfortunately, one of its backers tried to retrofit it to do static compilation, and pitched it as a alternative to Java instead of simply an accompaniment. That's when the trouble started. Groovy's static compilation can't be as good as that of a language designed from the ground to be statically compiled, e.g. Java, Scala, or Kotlin. To this day, Groovy's own codebase is still Java. Even though some people talk anonymously of "1 million line Groovy codebase where static compilation is required", Groovy's own "million line codebase" isn't statically compiled Groovy and until it is, any claim of such codebases is just a claim, nothing more.

Re: Scala Native

#112

Earlier quoted context omitted.

I know for a fact LinkedIn dropped Scala because of dissatisfaction over Scala. Things like maintainability, the fact it was just a single company developing Scala, etc that caused them to switch away. Kafka is deprecating their Scala clients because of maintainability issues as well. Scala keeps making breaking changes on dot releases, making it impossible to maintain long term.

Well, then we got different sources. Scala is developed by the EPFL, Lightbend, and ScalaCenter. That's three, not one. > Scala keeps making breaking changes on dot releases, making it impossible to maintain long term. That hasn't been true for more than half a decade.

Sorry, I meant minor releases, like 2.10 to 2.11, etc.

Re: Scala Native

#113

Earlier quoted context omitted.

Go is great if you dont mind writing 1000's of lines of boiler plate code one would expect to exist.

Agreed, but that said I'm a recent convert from Scala to Go. Not sure I'd go backwards (no pun intended), boilerplate aside. Having standardization on things like channels in the language makes for a much nicer consistency in the language. Scala has 8000 ways to do anything, half of which involve an exotic DSL. I'll take plain and simple please over esoteric and unmaintainable.

'plain and simple' languages encourage and often necessitate 'esoteric and unmaintainable' applications. Look at Java for examples of this, and Go is basically java without generics and a much worse garbage collector.

Re: Scala Native

#114

Earlier quoted context omitted.

You're talking about Play Framework, I assume. They did some fancy work with Macros (i.e. Scala Reflection) which causes a lot of headaches for Scala.js. The reality is most of the reflection it does is nice but not necessary and I really wish they offered a "switch" to turn it off.

Sorry I've never used Scala macros, beginner's question: are Scala macros not completely compile time? Why would they use reflection? Is it just syntactic sugar for dynamic type inference? If they just use reflection during compilation: why would that not be compatible with whatever the runtime is? Shouldn't that be unaffected by runtime and purely depend on the compiler's support for reflect? Or am I looking at this…

Scala macros are compile-time. The Scala reflection library (that works at runtime) share most API with macros.

Macros should always work, reflection is harder as some information needs to be retained at runtime (either via Java reflection or additional data – which can both be problematic in Scala.js).

Re: Scala Native

#115
post #4

Hi all, I'm the author of the project and would gladly answer any questions.

What are the plans with tail call optimisation in this version? or do you get that for free from LLVM?

The slides mention that proper tail calls "just work", even mutual ones. :-)

Re: Scala Native

#116

Earlier quoted context omitted.

No, not really. Some people from losing ecosystems like to spin it that way¹, but the truth is people are happy, adoption is great, and companies see that pain-points get addressed. Of course there are companies which drop Scala, but often like in LinkedIn's case it's not caused by a dissatisfaction with Scala, but new leaders making different decisions like "we are using 10 different languages, we should consolidate…

I know for a fact LinkedIn dropped Scala because of dissatisfaction over Scala. Things like maintainability, the fact it was just a single company developing Scala, etc that caused them to switch away. Kafka is deprecating their Scala clients because of maintainability issues as well. Scala keeps making breaking changes on dot releases, making it impossible to maintain long term.

That's funny, when I talked to Neha (ex-Linkedin, cofounder of Confluent) she explicitly denied this meme about moving away from Scala.

The new Kafka client library is in Java just to reduce the number of dependencies, the server is still written in Scala. Strangely, using Java hasn't stopped Confluent from making breaking changes on dot release of the client... which really puts the lie to your explanation.

Re: Scala Native

#117

Earlier quoted context omitted.

> I think most people on this planet are able to consider each point at its face value. Humans have a pretty strong demonstrated tendency to develop positive or negative emotional attachments to pretty much everything, including sources of information/arguments, and see the world strongly filtered through those. This is, while it can be misleading, an important evolved survival mechanism in terms of attention/resourc…

People who can't assess statements objectively are probably exactly those people whose opinion I couldn't care less about. Perhaps this is exactly the filter I want to have.

So you would not assess their other statements objectively?

Re: Scala Native

#118

Earlier quoted context omitted.

It does a discredit to any other better substantiated or more reasonable opinion you have stated. For better or for worse when most people hear a new statement or opinion coming from someone they will trust it as much as they trust the least believable thing they have heard that person say.

This sounds like a very US-trigger-warning-safe-spacey stance. I think most people on this planet are able to consider each point at its face value.

This is not about safe spaces, this is about basic human psychology.

Re: Scala Native

#119
post #65

Earlier quoted context omitted.

A small side note: Scala has several great features, but "low development overhead" just isn't one of them. Also why so harsh on Go?

If by low development overhead you mean amount of crap you need to type in order to get things done, Scala absolutely does have low development overhead. As for Go, I'd say that's the most honest description of the language I've seen in a while.

If your limiting factor is how fast you can type you are either an amazing person that should be studied or you need to take a typing class.

Re: Scala Native

#120

Earlier quoted context omitted.

> I think most people on this planet are able to consider each point at its face value. Humans have a pretty strong demonstrated tendency to develop positive or negative emotional attachments to pretty much everything, including sources of information/arguments, and see the world strongly filtered through those. This is, while it can be misleading, an important evolved survival mechanism in terms of attention/resourc…

People who can't assess statements objectively are probably exactly those people whose opinion I couldn't care less about. Perhaps this is exactly the filter I want to have.

A few different people are trying to politely show you a way you're undercutting yourself.
Post reply on HN