Live data from Hacker News

Scala projects are difficult to maintain

mungingdata.com

91–100 of 235 posts

Re: Scala projects are difficult to maintain

#91
post #3

>Python projects that are built with Python 3.6 are usable in Python 3.7 projects for example. This has not been my experience in the Machine Learning space.

Could you provide any specific examples? I've never had any problems swapping between versions but I don't do anything in the ML space.

Python 3.9 was released on October 5, 2020, but TensorFlow still doesn't support it. But that's an aberration and most of the time and for most packages minor Python releases doesn't break them.

Re: Scala projects are difficult to maintain

#92
post #62

I've been on C# for over a decade and I'm still very happy with it. I think it's highly underrated in the startup space. When helping start my current startup, one of the founders asked why I chose C# as he was asked by others why we'd pick that language/stack as it's not common for SF startups. I told him that it's less about the language and I could do just about anything with it. It's turned out great and of all t…

Agreed - the startup I work with now uses C# and its been very solid.

The tooling is good, and the lang has never gotten in the way of getting work done.

Re: Scala projects are difficult to maintain

#93
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.

Re: Scala projects are difficult to maintain

#94
post #10

Earlier quoted context omitted.

Python is distributed in source code and it sounds like Scala dependencies are distributed as JAR files. The compatibility problems when moving compilers are not entirely unexpected, I'd say.

but scala's cousin kotlin doesn't seem to suffer from this a lot... kotlin library-packages don't have kotlin-version to their download link... maybe I'm missing something?

[deleted]

Re: Scala projects are difficult to maintain

#95
post #83

Earlier quoted context omitted.

I didn't run into problems with recruiting in general being too difficult. Plenty of people are interested in FP and are eager to do it professionally. But recruiting the right mix of people can be a challenge. Scala tends to attract people with an experimental temperament, and scare away more conservative developers. A team needs a healthy mix of both, though. It's the creative tension among different attitudes abou…

Yeah, good luck when someone with experimental temperament decides to implement some of your crucial functionality with semialgebras. (that's what happened in my previous job where we run Scala). I'm happy I didn't have to debug any customer issues around that module. Also, I didn't enjoy constant bickering with my reviewers what makes a beautiful code or not. Apparently there are five ways to do everything in Scala…

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.

Re: Scala projects are difficult to maintain

#96
post #10

Earlier quoted context omitted.

Python is distributed in source code and it sounds like Scala dependencies are distributed as JAR files. The compatibility problems when moving compilers are not entirely unexpected, I'd say.

but scala's cousin kotlin doesn't seem to suffer from this a lot... kotlin library-packages don't have kotlin-version to their download link... maybe I'm missing something?

Kotlin is a “better Java”. Scala is sort of a tug of war between a better Java and a worse Haskell.

More importantly Kotlin is designed to be as straightforwardly compatible with Java at the bytecode level as possible. Scala isnt.

Re: Scala projects are difficult to maintain

#97

Earlier quoted context omitted.

I didn't run into problems with recruiting in general being too difficult. Plenty of people are interested in FP and are eager to do it professionally. But recruiting the right mix of people can be a challenge. Scala tends to attract people with an experimental temperament, and scare away more conservative developers. A team needs a healthy mix of both, though. It's the creative tension among different attitudes abou…

In contrast I think that going all in on Java scares away people who like to experiment.

Be honest and give a short list of experimental approaches that you wanted to do and couldn't be done on Java. What did you want to do and couldn't?

And, let's ask Rich Hickey. What language was it he used to experiment with a new s-expression language? Why wasn't RH scared away? You want the brutal honest answer? Because he is smart and can grok the complexity of the Java in toto.

What sort of experiments can you not do on a virtual machine based language, with open byte code/vm spec, open class loaders, and compile and runtime instrumentation and meta- capabilities?

I used to do the switch the superclass at loadtime to experiment with adaptable programs. This was circa late 90s. Loads of fun (npi).

What scares many away from Java is that it is now a very huge mental object. But not wanting to admit this, they simply pass along FUD.

Re: Scala projects are difficult to maintain

#98

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.

Go? Typescript? C++1x?

Re: Scala projects are difficult to maintain

#99

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.

Go? Typescript? C++1x?

C++ is much more complex than Scala! Typescript is great because you can create back and front in the same language.

Re: Scala projects are difficult to maintain

#100

I had a startup that went all in on scala. By the time we realized we chose the wrong language it was too late. Complexity is the primary issue with the scala language... when the whole goal is to have a scalable language which in itself is diametrically opposed to simplicity, your language is dead on arrival. After using Scala, Go seemed like a dream come true. We really loved the integration of OO and FP, really mi…

I think Scala needs to be treated something like how smart shops treat C++: there's so much there you can hang yourself with, so you need to define a subset/dialect and create a style guide and stick with it.

This is how C++ has been successful at Google, and it's how I'd approach something like Scala if I were to go back to doing it now.

Post reply on HN