← Back to context

Comment by pshirshov

2 days ago

> But Scala 3 gives you "too much rope to hang yourself with".

No, you use it wrong way. It gives you capability to write cleanest code possible. As with any expressive language you have to select a subset of features and a specific style and maintain it.

Unmaintainable code can be written in any language, expressive ones provide you with tools to keep code maintainable.

HKTs and macros make possible things which are completely impossible in most other languages without a preprocessor/compiler plugin.

I don't have the mental energy to review every line of code and argue with co-workers that they're "using it the wrong way" unfortunately.

Maybe in my younger years, but not after the first decade...

This is why Rob Pike designed Go the way he did, I think.

  • > I don't have the mental energy to review every line of code and argue

    You don't have to. Just your process is broken.

    > first decade

    I've been using Scala since 2008. I'm not a smart guy, so made some smart tools which do the enforcement job for me.

that's a cool story for 1 person projects that use no libraries.

also, no working on other people projects.

which is fine. i do clojure, i stay in my niche!

  • Not true, we successfully maintain more than 1 MLoC of Scala code. But our framework is completely homegrown.

    > no libraries.

    We made the cats->zio adapters and BIO, we do use libraries, in a sense more extensively than other teams out there do.