Re:Python's “Disappointing” Superpowers
by joshuamorton on Wednesday February 01, 2023 @03:40PM
(#34617352)
A lot of the orm style things are not really feasible in static-er languages without clunky approaches like codegen.
[ Parent
| on HN ]
Re:Python's “Disappointing” Superpowers
by ImprobableTruth on Wednesday February 01, 2023 @03:57PM
(#34617622)
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.
Re:Python's “Disappointing” Superpowers
by david2ndaccount on Wednesday February 01, 2023 @04:35PM
(#34618170)
Java is actually a very dynamic runtime with a very static language front end.
Re:Python's “Disappointing” Superpowers
by arcturus17 on Wednesday February 01, 2023 @05:14PM
(#34618727)
The thread is about programming semantics though, so what does that have to do with anything?
Re:Python's “Disappointing” Superpowers
by DarkNova6 on Wednesday February 01, 2023 @05:51PM
(#34619195)
cough Reflection. This also includes Annotations which can give clear semantics to code generation.
Re:Python's “Disappointing” Superpowers
by jononomo on Wednesday February 01, 2023 @04:37PM
(#34618199)
Unless 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/King...
Re:Python's “Disappointing” Superpowers
by DarkNova6 on Wednesday February 01, 2023 @06:44PM
(#34619876)
... 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).
Re:Python's “Disappointing” Superpowers
by za3faran on Thursday February 02, 2023 @11:33PM
(#34637182)
Don't forget the many additional features since then, such as records, pattern matching, virtual threads, and more.
Re:Python's “Disappointing” Superpowers
by giesch on Wednesday February 01, 2023 @08:45PM
(#34620949)
Almost 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.
Re:Python's “Disappointing” Superpowers
by Daishiman on Thursday February 02, 2023 @02:37PM
(#34631929)
Java'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.