Comment by mikert89

Comment by mikert89 3 days ago

12 replies

Scala is too complicated. Most scala code bases I have worked on have no enforced structure, the language allows for all sorts of unconventional programming paradigms

Boxxed 3 days ago

Yeah I love it when people start defining their own operators all over the place and give them all inscrutable names. "Dude just use the eggplant parm operator: <<=-=>>"

  • nikitaga 3 days ago

    ^ This meme is from 10+ years ago when Scala was at the peak of its hype driven by the FP craze. Nobody seriously writes cryptic-symbolic-operator code like that nowadays. Scalaz, the FP library most notorious for cryptic operator/method names, hasn't been relevant for many years. Today everyone uses Cats, ZIO, or plain Tapir or Play, all of which are quite ergonomic.

  • ecshafer 3 days ago

    This is the type of thing that a good PR review culture will handle. I love that this is an option in some languages. But in a company, you need to decide what cool features should be used and when and how much.

    • fjordofnorway 3 days ago

      Good PR review isn't really enough unless the organization is only large enough to handle around one PR at a time.

      With languages like Scala I think its a clearer necessity that someone or some small group in an organization maintains a dominance of expertise or you have different groups that are only using the same language in name or facing overhead to keep in agreement where a lot of the best developers might be basically doing ambassador work.

      • mikert89 3 days ago

        yeah a small group of experts can leverage scala, its not a language for a corporate environment

  • shawn_w 3 days ago

    One reason why I keep bouncing off of Haskell.

packetlost 3 days ago

That's sorta the curse of Lisps too.

  • slifin 3 days ago

    Yeah sorta

    I would say Clojure is a big exception to that - Clojure applications tend to be more uniform than even non lisps

    • packetlost 2 days ago

      Clojure is an exception to pretty much everything in the category. I really wish I had the opportunity to use it in my professional career.

frakt0x90 3 days ago

This is exactly what turned me off. It supports so many paradigms that every line of code I wrote I had to sit and think if I was doing it the "right" way and it was miserable.

  • eweise 3 days ago

    Part of that I think is the culture and not the language. Personally I try to use the least powerful method that gets the job done and that usually keeps me unblocked. In practice that usually means using it as a better Java and not going down the functional monad path. I know scala has gone through a rough patch and maybe migrating from 2 to 3 is painful. But if you try starting a new project now with the latest Scala 3, I think you'll find that its pretty nice. Even IDE support is pretty good.

another_twist 2 days ago

I think its because we dont have too many established paradigms for functional programming. Having said that I think Scala is just marvellous. I had to work with a Scala codebase written by a set of very mature devs and it was an absolute joy. It influenced how I write Java.