Earlier quoted context omitted.
I think it presents a problem beyond paying. At my job, I can't just reach for Akka. I need to talk to someone who has the authority to purchase a $2,000/year/core license. If I'm deploying something to 6 instances with 4 cores each, that's $48,000/year for a pretty small deployable. It might be totally worth the price, but I'm definitely going to need to justify to someone that we're going to spend a fifth the price…
> You can argue that the company is using Akka so much so they should be paying that much, but at the same time it means that maybe the company would have been better hiring a different engineer that would have used anything other than Akka. If the company had gone with Go or C#, they wouldn't be spending that $3.2M. The company would be better off if they hired a different engineer who wrote the system in Go rather…
Scala isn't fun anymore
381–390 of 394 posts
Re: Scala isn't fun anymore
#382The big takeaway here for me is that Akka has changed license to BSL. It's almost crazy to me that such a fundamental and widely used project would switch to such a restrictive license. Some more details here: https://coralogix.com/blog/akka-license-change/ > Lightbend are operating on a “per core” model, with their base license starting at $1995 per core (defined as a thread or vCPU) > The license is only enforced i…
Well, unless some big player forks it and puts the developers on keeping the development of the fork.
Re: Scala isn't fun anymore
#383I don't have a ton to say here, the article says it all really. But this also reflects my experience when developing with Scala and although I love the language and its brevity, I went back to Java because I hated the Scala toolchain, sbt, dependency issues, etc. Basically, I like the language in isolation but the overall experience was horrible.
Java has the same dependency issues? I vividly remember spending days on jars shading in Maven. Basically, a single approach that would solve this, irrespective of the language, would be isolating dependency trees of every library from each other, essentially duplicating the code of many common libraries in RAM (like Docker, but for libraries inside the same process). There's an option to do that in Maven, but it's n…
Re: Scala isn't fun anymore
#384Earlier quoted context omitted.
Java has the same dependency issues? I vividly remember spending days on jars shading in Maven. Basically, a single approach that would solve this, irrespective of the language, would be isolating dependency trees of every library from each other, essentially duplicating the code of many common libraries in RAM (like Docker, but for libraries inside the same process). There's an option to do that in Maven, but it's n…
Java has the same dependency issues. But, from the article, it seems like there might be something cultural within the Scala community that contributes to the problem. Most Java libraries, in my experience, are relatively flat. The article gives an example of HikariCP, which depends on a random JDBC library from Akka. Obviously, that situation is going to end terribly given the popularity of Akka. As soon as Akka upd…
Re: Scala isn't fun anymore
#385Earlier quoted context omitted.
In the end, having a 'more expressive' language isn't the key competitive advantage. At least, I can't recall when a company seems to have significantly outperformed a competitor because they used a 'fancier' programming language. Yes, of course, the blogposts by PaulG and how reddit started, but I'm not sure that reddit is succesful because they programmed it in lisp at first. Twitter specifically was designed in a…
> So, if that isn't the competitive advantage, why go for it in the first place? At least blue collar languages have much, much larger pools of competent programmers to select from, which is an objective, convenient upside any manager can understand. I think its like Haskell, Rust, Go, Erlang, etc. These languages are extremely useful in the microcosm of places where they excel. Rust when you absolutely need to insur…
Very much doubt it re: Python. Performance, difficult to reason about, and lack of static typing all come to mind.
I agree that modern Java is competitive now, but it probably wasn't when they picked Scala.
Re: Scala isn't fun anymore
#386Earlier quoted context omitted.
In the end, having a 'more expressive' language isn't the key competitive advantage. At least, I can't recall when a company seems to have significantly outperformed a competitor because they used a 'fancier' programming language. Yes, of course, the blogposts by PaulG and how reddit started, but I'm not sure that reddit is succesful because they programmed it in lisp at first. Twitter specifically was designed in a…
seriously. when they make me twitter cto for a day, my one change would be a public graph of build times (as a proxy for 'how long are backend devs waiting for builds') I suspect this would be deeply embarrassing + would lead to change in my (limited) experience, large scala codebases are not productive scala adoption was all like 12 years ago and driven by bored developers looking for a brain teaser / resume builder…
Like Kafka and Samza?
Re: Scala isn't fun anymore
#387Earlier quoted context omitted.
Rust and golang are not really in the same space. Rust is more of a C++ competitor, while golang is somewhere between python/ruby and Java/C#. Furthermore, there really isn't anything that golang does that Java or C# don't, but the latter do it in a much more saner way, especially Java now with Loom on the way. Unless you really need to compile to binaries, but both ecosystems are getting solutions in the works (Graa…
Sure, Java is going to take off and rule the world ....
Re: Scala isn't fun anymore
#388I worked at a Scala shop, a little over 10 years ago, and it wasn't fun then, either. 1) IDE support was unstable (Eclipse was basically unusable, IntelliJ was better.) 2) Builds were slow 3) Everyone using their own little dialect, and arguments would ensue over whether we should use that feature or not. Perhaps it's better now.
Re: Scala isn't fun anymore
#389Earlier quoted context omitted.
There's a big difference. If you write to a file using the stdlib in java, you will block an OS thread. In Go you won't. That does not mean all Go calls are cancelable, they're not. If, in a Scala/Python/Rust async function you use a synchronous stdlib function, that call will block the whole OS thread with it. The following experiment will show you the difference: In Java, run 10 futures on a threadpool of 4 workers…
Yes I understand the difference between threads and fibers. That is a much different conversation than "All functions async by default and preemptible."
Functions need to be compiled in a special way and use IO in a very specific way (async io) in order for them to be properly runnable by fibers.
This specific way is commonly referred to as "async", or "nonblocking", and all functions in Go are that way, including all IO functions available in the stdlib.
Re: Scala isn't fun anymore
#390Earlier quoted context omitted.
seriously. when they make me twitter cto for a day, my one change would be a public graph of build times (as a proxy for 'how long are backend devs waiting for builds') I suspect this would be deeply embarrassing + would lead to change in my (limited) experience, large scala codebases are not productive scala adoption was all like 12 years ago and driven by bored developers looking for a brain teaser / resume builder…
> a bunch of half-baked java projects to apache Like Kafka and Samza?