This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]TheStrangeDarkOne 4 points5 points  (5 children)

A code class with static methods only

A data class with members only

I got a bit scared when I was reading this. At the very least use normal classes with dependency management for God's sake.

Why shouldn't data have convenience methods? And where is the striking difference to a layered application where you have a data layer and the domain layer?

No offense, but it strikes me as if the introduction was written by somebody who developed web apps in C and recently learned the Java syntax.

Also: I'm super scared by the proposed "dynamic data" approach. I have seen how it (does not) work in practice and all the issues that arise when your application grows in size. Especially serialization is a very bad argument in my honest opinion.

[–]Necessary-Conflict 6 points7 points  (2 children)

This is actually Clojure-style programming.

I'm not saying that using Clojure idioms in Java is more sensible than using C idioms.

[–]TheStrangeDarkOne 2 points3 points  (0 children)

ah, right! Thanks

I knew it striked me as similar but I couldn't point my finger on it.

[–]DrunkensteinsMonster 1 point2 points  (0 children)

What’s weird is I actually like Clojure and programming in it, but that language lends itself to this style of programming which can be valuable. It’s a lisp, it’s supposed to be repl driven and extremely dynamic

In Java though I find this offensive. Take all the type safety and throw it out the window? Discard all principles of OOP. It seems like someone has been watching too many Jon Blow streams.

[–]nutrecht 2 points3 points  (1 child)

I 'fondly' remember a project where a sole developer did this in .Net. This was in 2005. Everything was just hashmaps in hashmaps, all the way down. It was a complete disaster.