2 ms·
It has virtual threads, that under most circumstances let you get away from the async model. It has records, that are data-first immutable classes, that can be
by gf000 1y ago
It has virtual threads, that under most circumstances let you get away from the async model. It has records, that are data-first immutable classes, that can be defined in a single line, with sane equals toString and hash. It has sealed classes as well, the latter two giving you product and sum types, with proper pattern matching.
Also, a very wide-reaching standard library, good enough type system, and possibly the most advanced runtime with very good tooling.