Live data from Hacker News

Scala isn't fun anymore

alexn.org

261–270 of 394 posts

Re: Scala isn't fun anymore

#261

> I’m also having affectionate memories of JavaScript and Python I am afraid, things are equally messy in JavaScript and Python too. "X language isn't fun anymore" is exactly how I feel about X = JavaScript, X = Python, X = C++, X = Java and many other languages. There was a time when I found Python and Js to be very fun languages. But recently the ecosystem has been becoming a mess. Build breakages on dependency upg…

”There are only two kinds of languages: the ones people complain about and the ones nobody uses.” - Bjarne Stroustrup

HAHAHAHHA, Stroustrup, author of quite the monstrosity, would say that wouldn't he? rofl

Re: Scala isn't fun anymore

#262

I wrote scala for six years and was on the team to first deploy akka in production. I've seen Json libraries come and go while also struggling to read files written with OO and FP patterns intermixed. Scala can be beautiful but in practice it gets messy. Switched to Go four years ago and I've never looked back. Go made programming fun again just like PHP did before either of them.

> Scala can be beautiful but in practice it gets messy.

And, of course, you have a peer-reviewed article to support your statement?

Re: Scala isn't fun anymore

#263

> Maybe this is just me getting older (going to turn 40 soon). Maybe all programming is terrible. I’ve actually started to read Java newsletters, maybe Spring isn’t that bad, I’m also having affectionate memories of JavaScript and Python, and thinking about having a plan B in case this programming thing doesn’t work out The older I get the more this rings true. I've had several false starts with fancy new languages a…

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. same trend as companies like linkedin / uber, who have no reason to invent infra, contributing a bunch of half-baked java projects to apache

Re: Scala isn't fun anymore

#264

Earlier quoted context omitted.

> I don't understand why do we have to listen to this boring crap. You don't? You chose to read the article yourself of your own free will. At least, I hope you did.

This link had been heavily spammed across all the Scala communities over last week. I'm pretty tired of this "useful" discussion.

Alright, well, this is not a Scala community so I'm sorry you've seen this in your select social circle to the point of annoyance. Still, you aren't forced to read it.

Re: Scala isn't fun anymore

#265
post #222

Earlier quoted context omitted.

My interpretation of that clause is it applies to distributing code over a network. The most common example of this is serving javascript to a web browser. I'm pretty sure putting an API in front of a server that happens to run open source software doesn't count as "distribution", which is what we're talking about here with SAAS providers and Akka. If it does, then every site that is backed by servers running linux a…

I would disagree with your assessment. OSL was specifically crafted, to close this exact loophole: > Most other open source licenses treat such network uses of software as internal to the company that runs the server, and they don't require disclosure of source code. That is seen by many nowadays as a loophole that permits large online companies to avoid their reciprocal source code obligations. http://rosenlaw.com/O…

Sorry, I didn't read your link carefully enough. I stand corrected, that does indeed seem to be the only reasonable interpretation. That said, this clause only exists in this particular OSL license, so it only applies to software distributed under it. Some quick googling indicates that OSL is 20 years old, and OSL v3 (the latest version), is 17. Despite that, it doesn't appear to have any significant usage. PyPi, for example, lists 10 software packages distributed under it [1], out of 387,658 total. So it certainly doesn't seem like a practical solution to the problem.

I suspect the reason that nobody uses it is due to its toxicity - it taints anything that transitively uses it in any practical way. This leads to all sorts of nonsensical violations. For example, say you write a document in a word processor that uses a leftpad lib distributed under this license. Then you email that document to someone else. Congratulations, you're now in violation of the license - you distributed a "derivative work" of the leftpad lib to someone "other than you" over a "network".

The terms of this license are so restrictive and cumbersome as to make it basically useless. Anything you publish under it can't effectively be used by the vast majority of the people who would want to use it, at which point you might as well not publish your work at all. I certainly wouldn't view this as a panacea for solving the SaaS-wrapping-OS-code problem.

[1] https://pypi.org/search/?c=License+%3A%3A+OSI+Approved+%3A%3...

Re: Scala isn't fun anymore

#266

The 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…

Am I the only one that doesn't think this is really all that bad? I'll admit that I've not ever written a line of Scala, but in principal it seems like the only people who have to follow this license will be those who can afford it. Sure, true FOSS is always better, bit the maintainers have to eat somehow. If you're making 25m+ ARR and are using their software, maybe you should be paying them something.

The problem is that there's nothing stopping them from removing that 25m limit and jacking up the price tomorrow. It's putting your company at the mercy of another company which is not an ideal position.

It's also sort of a meta problem. You generally want to use well known libraries/frameworks so that you can hire people with experience. If other companies stop using it because of the above you probably want to stop as well even if you are not worried about hte license.

Re: Scala isn't fun anymore

#267
post #119

Earlier quoted context omitted.

Haha, I guess you are right. The reason why it is a mistake is because it is essentially trying to solve the rpc problem once again even though it has been tried many times without success. There just is a difference between making a synchronous call within your own OS thread vs. making such a call against anything else (the filesystem, the network, ...). Because you can assume that a synchronous call either succeeds…

Joe Armstrong (the creator of Erlang) said the same thing back in 2008. > The fundamental problem with taking a remote operation and wrapping it up so that it looks like a local operation is that the failure modes of local and remote operations are completely different. > If that's not bad enough, the performance aspects are also completely different. A local operation that takes a few microseconds, when performed th…

We can go further - the very first of Peter Deutsch's Fallacies of Distributed Computing, written in 1994, is [1]:

> The network is reliable.

[1] https://www.computing.dcu.ie/~ray/teaching/CA485/notes/falla...

Re: Scala isn't fun anymore

#268

Earlier quoted context omitted.

It has the ability to make real-world concurrency scenarios trivial e.g. * 3 fibers - each fetches from remote storage, local storage and in-memory cache. * Race them, kill the two slowest and give me the result. * Free the resources safely including if any of the connections fails for an unforeseen reason. That's a few lines in ZIO. Pain to get working properly in Java, Rust, Go, C++ at least.

I find that one of the best things about using a managed runtime such as the JVM is the ability to get stack traces when things go wrong. When debugging, it is a considerable time saver to be able to determine the causality chain that lead to a specific failure. Unfortunately, all libraries that abstract concurrency on an application-level break the ability to get meaningful stack traces. At least all the ones I know…

> Unfortunately, all libraries that abstract concurrency on an application-level break the ability to get meaningful stack traces.

This is completely false. Years ago we (7mind) added async stack traces to ZIO. Now both Cats and ZIO support them.

Re: Scala isn't fun anymore

#269

The 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…

Imo this kind of license is a huge PITA with containerized workloads that autoscale, etc. Would one pay based on average core usage or peak usage?

Re: Scala isn't fun anymore

#270
post #265

Earlier quoted context omitted.

I would disagree with your assessment. OSL was specifically crafted, to close this exact loophole: > Most other open source licenses treat such network uses of software as internal to the company that runs the server, and they don't require disclosure of source code. That is seen by many nowadays as a loophole that permits large online companies to avoid their reciprocal source code obligations. http://rosenlaw.com/O…

Sorry, I didn't read your link carefully enough. I stand corrected, that does indeed seem to be the only reasonable interpretation. That said, this clause only exists in this particular OSL license, so it only applies to software distributed under it. Some quick googling indicates that OSL is 20 years old, and OSL v3 (the latest version), is 17. Despite that, it doesn't appear to have any significant usage. PyPi, for…

> That said, this clause only exists in this particular OSL license, so it only applies to software distributed under it.

Nope:

https://choosealicense.com/licenses/agpl-3.0

https://choosealicense.com/licenses/cecill-2.1

https://choosealicense.com/licenses/eupl-1.2

> Some quick googling indicates that OSL is 20 years old, and OSL v3 (the latest version), is 17

what does that have to do with anything? A license can be old, its still valid.

> The terms of this license are so restrictive and cumbersome as to make it basically useless

I see this often. This is business speak for "we don't like the terms of some license, so that license is useless for everyone". For anyone willing to respect the license terms, they can have full access to the software.

Post reply on HN