Readit News logoReadit News
kriiuuu commented on Top Programming Languages 2025   spectrum.ieee.org/top-pro... · Posted by u/jnord
lmm · 3 months ago
Scala is the best language I've ever used - all the good parts of Typescript and all the good parts of Java or Rust. And fintech is one of the few niches where you might still be able to find a job using it.
kriiuuu · 3 months ago
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.
kriiuuu commented on Safety in an unsafe world   lwn.net/Articles/995814/... · Posted by u/signa11
smallstepforman · a year ago
Nice article. Any project rewritten from scratch (version 3 here) by the same experienced engineers will inevitably be better/more robust/more performant than the previous versions. During our career growth as craftsmen, we build using tools we understand, and get a certain output. As we learn more about various other tools (techniques), we have a wider understanding and will make it better again.

Having read about their journey, I can see they use 77 mutexes and a hierarchy chart for locking to prevent deadlocks. How quaint. I keep on harping about the Actor programming model to deaf ears, but I guess the apprentices need more stumbling around before achieving true enlightenment.

Version #4, perhaps?

Any guru want to share what path to take after Actors? I’m ready…

kriiuuu · a year ago
Effect systems are great for concurrent programming and easier to reason about than actors. They aren’t available in all programming languages however.
kriiuuu commented on What happens when you make a move in lichess.org?   davidreis.me/2024/what-ha... · Posted by u/dreis_sw
valenterry · a year ago
Maybe, but the thing is, if you are a new Scala dev, you will 1.) be confused by the number of build tools. Sbt is still kind of standard but there is now also Mill and now Bleep (first time I even hear of it!). And some people will tell you to just use Maven or even Gradle. Well...

And 2.) most people will go with sbt; and while it has improved a lot it is still comparably slow, has some annoying bugs and so on.

Compare that to Rust - I don't think those problems exist there.

kriiuuu · a year ago
Hopefully scala-cli being the default runner might help in the furure
kriiuuu commented on What happens when you make a move in lichess.org?   davidreis.me/2024/what-ha... · Posted by u/dreis_sw
valenterry · a year ago
If all the Rust people knew how nice Scala 3 as a language is... they would be surprised.

What still isn't great is the ecosystem and the build-tooling compared to Rust (part of it because of the JVM). But just language-wise, it basically has all the goodies of Rust and much more. Ofc. it's easier for Scala to have that because it does not have to balance against zero-overhead abstraction like Rust does.

Still, Scala was hyped at some point (and I find it wasn't justified). But now, the language is actually one if not the best of very-high-level-languages that is used in production and not just academic. It's kind of sad to see, that it does not receive more traction, but it does not have the marketing budget of, say, golang.

kriiuuu · a year ago
https://bleep.build is a very promising tool for building Scala projects. I like it more than I like cargo
kriiuuu commented on Microsoft TypeSpec   typespec.io/... · Posted by u/bundie
paxys · a year ago
Normally I'm happy with efforts like these, but do we really need another standard? Just use OpenAPI directly folks.
kriiuuu · a year ago
AWS also has it’s own implementation of this with smithy
kriiuuu commented on LSP: The good, the bad, and the ugly   michaelpj.com/blog/2024/0... · Posted by u/bryjnar
pama · a year ago
How much easier is it to get the tree-sitter spec implemented for a new language compared to LSP? Are there synergies in getting both to work?
kriiuuu · a year ago
Significantly easier because there is just a lot less surface area.
kriiuuu commented on Official proposal for Type Unions in C#   github.com/dotnet/csharpl... · Posted by u/Fervicus
Eji1700 · a year ago
F# is so hard to walk back from. I wish Microsoft would support it better and actually push it, because it's such a perfect sweet spot. Most of the functional advantages without being shackled to pure functions and the like is so easy to develop in.

Instead they've been, very slowly, turning C# into F#, which is even weirder to watch.

kriiuuu · a year ago
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.
kriiuuu commented on Official proposal for Type Unions in C#   github.com/dotnet/csharpl... · Posted by u/Fervicus
tombert · a year ago
Huh, I did F# for years with discriminated unions, and I guess I just assumed C# would have had them by now.

I know not everyone likes them, but for typed languages I find it extremely hard to go back to languages without ADTs of some kind. I do Java for my current job, and Java is generally fine enough, but it's a little annoying when I have to do whacky workarounds with wrapper classes to get something that would be done in three lines of F#.

kriiuuu · a year ago
Good news is that you can achieve this with relatively little boilerplate in Java with sealed interfaces and records now. Relative to Java that is
kriiuuu commented on Clang vs. Clang   blog.cr.yp.to/20240803-cl... · Posted by u/dchest
tomjakubowski · a year ago
In my experience it is very easy to accidentally introduce iterator invalidation: it starts with calling a callback while iterating, add some layers of indirection, and eventually somebody will add some innocent looking code deep down the call stack which ends up mutating the collection while it's being iterated.
kriiuuu · a year ago
That is not UB. That is simply mutable data. The solution here is static analysis (Rust) or immutable persistent collections.
kriiuuu commented on Python with Braces   github.com/mathialo/bytho... · Posted by u/punnerud
islandert · a year ago
Would the JVM ecosystem almost be a working example of this? Since there are a variety of languages with editor integration that all compile down to the same byte code, it feels pretty close to what you’re describing.
kriiuuu · a year ago
Unison would fit here

u/kriiuuu

KarmaCake day48September 5, 2023View Original