this post was submitted on 30 Jun 2023
22 points (89.3% liked)
Programming
17378 readers
434 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You've asked about my favorite soap box! Thank you.
If possible, read this in the voice of that fast ad-copy guy who does medical disclaimers:
Classes suck in Java. Classes suck in C#. Classes suck in JavaScript.
Getting down in the weeds a bit, but bear with me:
Class objects are usually a crutch for keeping needless complexity isolated, but babied like a pet, rather than getting rid of it. A particular sign that this is happening is if there's inheritance in play, or a factory method.
Inheritance is bad and it should feel bad.
Most factory patterns owe more to a developer's massive ego, than to any emergent elegance in the problem space.
Everything good that comes from classes comes from interfaces. Interfaces are great, and they can do everything that classes can, but in a procedural way.
This message was brought to you by that weird cult some of us join after we try Haskell for the first time. It's a great cult. We have cookies every other Friday.