Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Did you ever try Scala? It has great client-side support (likely better than TypeScript's server-side support), and the type system has the soundness of Java/C# but is flexible enough to cover all the reasonable use cases (at least once you include shapeless), as can be seen by the fact that even enterprisey Scala code doesn't have to rely on magic annotations anywhere.


Scala tries to do too many things: both Haskell and Java, both backward compatible and radically new...

It just does not fit together. Want functional? Go with Haskell/OCaml/ReScript/etc. Want JVM compatibility-and-thus-OO-at-the-core (possibly with some functional goodness on top)? Go with Kotlin.


All popular languages seem to try to do too many things. Scala just seems to have achieved more than the others and has became infamous for it.

Just like any language, just use the bits you need for your project and apply KISS (Keep It Simple, Stupid) liberally! :)


Nope! What magic annotations are you referring to? In Java?


Yeah, I've found that any large Java codebase tends to use a lot of annotations (e.g. Spring, JPA, JTA, AspectJ, JAX-RS) to do things that would be too cumbersome to do within Java proper - the annotations tend to be "magic" in the sense of doing something that breaks the normal rules of the Java language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: