Live data from Hacker News

Scala projects are difficult to maintain

mungingdata.com

121–130 of 235 posts

Re: Scala projects are difficult to maintain

#121

Earlier quoted context omitted.

I wouldn't blame the language, I'd blame the people who chose Scala. The impression I always had was that Scala was a research project into how various programming language features could live together and interact, hence their everything and the kitchen sink approach. From an academic point of view I think Scala was a huge success. That people chose to use Scala in production speaks more to how badly people hate Jav…

Recent Javas made many QoL improvements to remove some of the complaints IMO. And there are more neat improvements coming (already there?) with 15 and 17.

Also, Kotlin is a rather nice and much less radical "better Java", well-supported, but mostly popular on mobile.

Re: Scala projects are difficult to maintain

#122
post #118
post #82

Earlier quoted context omitted.

I think the more expressive language is that quality. Which I believe is the base of the problem. If you have a really professional team then it will make programming even complex programs a breeze. But this same thing is a catastrophe in the hand of average devs. Go’s design was pretty much this (though I prefer a more expressive lang than that). Java while not necessarily an elegant language, I think strikes a grea…

Some of this comes from a willingness to do it, though. With static imports, it isn't actually impossible to effectively add keyword like things to java. It is done far less often than it is in other communities, though. And I can't see why.

I don’t see any hard to reason about feature in static inports. If I must choose something, I would say that reflection allows for some spooky things from a distance, but it is not abused as often in my experience.

Re: Scala projects are difficult to maintain

#123
Some of the worst and unmaintainable code I've ever seen was written in Python & Java.

While some of the cleanest codebases were written in Scala and Javascript.

The problem is not the language, but the team & overall approach to development (rushing to deploy bad code because your manager said so; lack of code review).

Tooling can be better, but it was massively improved over last 2 years

Re: Scala projects are difficult to maintain

#125

As an old pragmatic, I believe for a new startup language of choice must be Java/C#. * Stable, Well understood language. * Rich ecosystem. * Fast enough. * Plenty of developers to hire from. * Scales well to large projects. No other language/ecosystem ticks all the checkboxes.

No they should absolutely not and the reason has nothing to do with the languages as such (which would be fine choices!) and all to do with people. A senior programmer that writes Java or C# in 2021 is not going to jump ship from his comfy overpaid position into your fancy space ship.

Why haven't you learned anything new?

Re: Scala projects are difficult to maintain

#129
post #121

Earlier quoted context omitted.

Recent Javas made many QoL improvements to remove some of the complaints IMO. And there are more neat improvements coming (already there?) with 15 and 17.

Also, Kotlin is a rather nice and much less radical "better Java", well-supported, but mostly popular on mobile.

Kotlin on the server is growing though and has the biggest library ecosystem to exist

Re: Scala projects are difficult to maintain

#130

Earlier quoted context omitted.

Yes. That's pretty much how the Scala project I was working on ran itself aground. Everyone got so caught up in flexing at each other that solving actual business problems became a secondary priority.

This is why I think the community is way more important than the language. In Python people are like, hmm, this is a hack, but it works for now, in Scala it’s, what have you done you savage?!?

It's also just really weird, when you step back and take a good long look at it, to see people getting worked up about hacky ways of doing things within the context of a language that implemented sum types the way Scala implemented sum types, and that implemented typeclasses the way that Scala implemented typeclasses.

Which, I don't want to be too down on Scala. Overall, I like the language. Scala's real weak point is its culture. There's a decent risk of cognitive dissonance when you try to wrap an ethos of design purity around a language that's always been a bit of a communal experimentation project.

Post reply on HN