Email or username:

Password:

Forgot your password?
Devil Lu Linvega

Elegant Objects (EO) is an object-oriented programming paradigm that renounces traditional techniques like null, getters-and-setters, code in constructors, mutable objects, static methods, annotations, type casting, implementation inheritance, data objects, etc.

elegantobjects.org

18 comments
Cian O'Connor

@neauoire

This reads like a plea for help from a Java programmer.

Ari/gamedev

@neauoire I've been casually watching this. I really like the concept and syntax, but I'm not sure what I'd use it for yet and the JVM isn't my favorite platform.

There's some really cool work being done, though, like the inline Rust FFI

mcc

@neauoire It seems it's not easy to get from the front page to a place where the author explains what they'd replace these things with.

Devil Lu Linvega

@mcc all the "why?" are clickable, and send to links where they go into a bit of detail to contour the pattern. The first few offer some alternative, the bottom ones are more like rant against their usage. I'm still going through the list atm.

Avi Bryant

@d6 @neauoire I’m sympathetic to a lot of their points but in the context of Java it feels a bit like “how to live happily in suburban Texas: walk everywhere, eat fresh local produce, speak French”… like, maybe just move.

Devil Lu Linvega

@avi @d6 English Prime is a version of the English language that excludes all forms of the verb "to be", including all conjugations, contractions and archaic forms. Its goal is to leads to a less dogmatic style of language that reduces the possibility of misunderstanding or conflict.

I think it's kind of neat to use subsets or restricted versions of something, instead of speak a different language.

forresto

@neauoire @avi @d6
imagining a bot that could help you write that way, for some kinds of reflection..

the bouncing paw 🎃

@neauoire oh yeah, I have the cactus book. Some good ideas.

opfez

@neauoire i remember hearing about this and just thinking it sounds like functional programming?

Chorisssssssst (snake voice)

@neauoire Provocative! They triggered me with "public static methods are bad" (I love them) and now I have a lot of their blog posts to read...

Capital

@neauoire :: Strongly relate to every word of this. The worst part is that some how the Getter/Setter pattern has leaked into language that qoute-unquote renounce OOP practices.

Andy Jones

@neauoire I'm sure that there is some good stuff here but continually reading "this is wrong" turns me right off. There is no objective right and wrong here, any more than there is in a choice of sandwich¹, and I wouldn't want to work with anyone that thought there was.

Also choosing Java to demonstrate the "flaws" of OOP is kind of easy mode — Java is known to get itself tied up in knots.

¹You can't make a milk sandwich, but ham and cheese are not objectively rankable.

Xavier Van de Woestyne

@neauoire hmm there is a lot of invalid(or just against the Scandinavian approach of OOP) statement :/

Go Up