We use Scala as well and are very happy with it. We also have a lot of TS, and at this point we are tempted to just switch to using ScalaJS on the frontend as well because of how much better the language is to use. It feels like Scala 3 fixed a lot of issues people had with the language. The IDE tooling isn’t the best, but even then it feels like the IDE tooling for TS breaks all the time once the project is large enough.
Effect systems are great for concurrent programming and easier to reason about than actors. They aren’t available in all programming languages however.
I feel the same about Scala. I use Scala3 daily and almost every other language is such a step back. I have looked at F# and it looks like one of the only other languages I would enjoy as much as Scala. Haskell is nice too, but the ecosystem is just not quite there. F# being able to tap into the rich C# ecosystem and Scala being able to tap into the Java ecosystem is such a win and makes them feel a lot less niche when you use them.
I don’t think anyone actually listens to anything said in a standup. 99% just does not affect you in any way. If we have an issue we need help with we just send a message on teams or get on a call. The standup is pure ritual
Yes. I hate it with a passion. Pointless meetings, planning that doesn’t matter and endless timesinks. The only devs I can imagine liking it are the ones that don’t want to take responsibility of the product backlog nor want to think about feature implementation. They just want micromanaged tiny tasks that tell then what to do next, a life void of responsibility.
Scala 3 has opaque types for this. And libraries like iron build on top of it so you can have a very clean way of enforcing such things at compiletime.
I have a medium sized project with it and the initial compile can be slow, however every recompile usually has the page updated as I switch from my editor to it. Not as fast as TS, but worth it for the much better programming language. Tyrian also makes it trivial to set up hot-reload with preserved state.
TEA is the best way to build reactive frontends. Elm sadly has not taken a pragmatic approach to ffi with JS. Scala.js and Tyrian gives you a great alternative and has been my favourite approach for building reactive frontends.
If you want to try TEA, but not Elm I reccomend Scala.js with Tyrian[1]. Scala.js is a wonderful, mature project and Tyrian gives you the elm architecture in a very pragmatic way.
What is your reasoning behind nr.3? I don’t disagree as they seem hostile towards the nix HA project. At least that is what I gathered when I set up my zigbee devices on a NixOS server.
Both Scala3 and Kotlin allow you to annotate functions with @tailrec which will give you a compiler warning if the compiler can’t optimize. And if you use the xfatal-warn compiler flag the Scala code won’t compile if your function is not tail call.
I use it for Java and Scala and it is great. The LSP support is good as long as the LSP implementation is good. I imagine it works well for most programming languages nowadays. I have Intellij Ultimate, but I have not needed or wanted to use it in ages.