3 ms·
You describe yourself as a type theorist but would pick go over Java even though it lacks generics? That doesn't seem to fit.
by valenterry 6y ago
You describe yourself as a type theorist but would pick go over Java even though it lacks generics?
That doesn't seem to fit.
- hardwaresofton 6y agoI’d pick Go over Java for other separate reasons than types. If you’re on the JVM and you want good types I’d look at Scala and Kotlin and maybe clojure first before Java. Java’s type system is pretty wasteful, the marriage of structure and functions is a big mistake, first class functions didn’t land until in 1.8 IIRC, it’s got nullable types but people rarely use Option<T> as much as they should, the list is long. Go gets protocols and interfaces more right in my opinion as well. Maybe I shouldn’t blame Java for not being able to be up on PL research that wasn’t mainstream yet, but Haskell has been around since the 90s. Java’s type system is better than Go’s (because Go’s is almost nonexistent) but it’s getting strangled with Spring soup and the unbelievable ceremony around everything in Java that makes me not want to pick it. If you want good types period, Haskell or Rust.