(no title)
jolt42
|
3 months ago
My OO projects were usually in Java with a DB. They all ran afoul of what Martin Fowler calls the Anemic Domain Model. Basically your objects are data-only, so there's no benefit. In addition Spring injection became ubiquitous, and further killed objects with behavior. The only project using a DB and had objects with behavior was an old one that happened to use TopLink as an OR mapping.
ejflick|3 months ago
This makes me wonder why most of us use Java at all. In your typical web app project, classes just feel like either:
1) Data structures. This I suspect is a result of ORM's not really being ORM's but actually "Structural Relational Mappers".
- or -
2) Namespaces to dump functions. These are your run-of-the-mill "utils" classes or "service" classes, etc.
The more I work in Java, the more I feel friction between the language, its identity(OO beginning to incorporate functional ideas), and how people write in it.
marcosdumay|3 months ago
Java was the first popular language to push static analysis for correctness. It was the "if it compiles, it runs" language of its day, what meant that managers could hire a couple of bad developers by mistake and it wouldn't destroy the entire team's productivity.
I'm not sure that position lasted for even 5 years. But it had a very unique and relevant value proposition at the time.
elric|3 months ago
You don't need an ORM or an overgrown dependency injection framework to create a webapp in Java.
vips7L|3 months ago
21asdffdsa12|3 months ago
The separation of functions and records..
morshu9001|3 months ago
fmjrey|3 months ago
elric|3 months ago
Java has had "data carriers" in the form of records for a while now. Immutable(ish), low boilerblate, convenient.
Records are great when doing more "data oriented programming".vips7L|3 months ago
morshu9001|3 months ago
unknown|3 months ago
[deleted]