4 ms·
What part specifically? Java is (in)famous for its orms after all. Unless you want to count that as clunky codegen? I'd argue that all metaprogramming boils dow
by ImprobableTruth 4y ago
What part specifically? Java is (in)famous for its orms after all. Unless you want to count that as clunky codegen? I'd argue that all metaprogramming boils down to that though.
- david2ndaccount 4y agoJava is actually a very dynamic runtime with a very static language front end.
- arcturus17 4y agoThe thread is about programming semantics though, so what does that have to do with anything?
- DarkNova6 4y agocough Reflection. This also includes Annotations which can give clear semantics to code generation.
- jononomo 4y agoUnless you want to count Java as clunky? Well, I definitely think Java is clunky. This article by Steve Yegge, titled "Execution in the Kingdom of Nouns" sums up Java for me: https://www.eecis.udel.edu/~decker/courses/280f07/paper/KingJava.pdf https://www.eecis.udel.edu/~decker/courses/280f07/paper/King...
- DarkNova6 4y ago... this PDF is from 2006, the same year that Java 6 was released. Java 7 and Java 8 were game-changers at their time. I doubt there is much relevance left, especially in light of Java's excellent functional integration into its type system and JVM. Edit: ``` There's no reason Java couldn't simply add first-class functions and finally enter the grown-up, non-skewed world that allows people to use verbs as part of their thought processes ``` Ironically, this is exactly what happened. With exception that proper technological implementation took many years and might have one of the best implementations for anonymous functions out of any programming language (thank you, dynamic JVM).
- za3faran 4y agoDon't forget the many additional features since then, such as records, pattern matching, virtual threads, and more.
- giesch 4y agoAlmost all Java ORMs are dynamically typed in the ways that matter. The "clunky codegen" method would be something like JOOQ, that actually checks your schema.
- Daishiman 4y agoJava's ORMs are infamously clunky and both them and many of its modern frameworks make tremendous efforts to twist the language into an unidiomatic, dynamically typed thingy with a bunch of extra compilation in between. By comparison using and modifying ORMs in languages like Python and Ruby feels like second nature.