3 ms·
The problem with programming paradigms is that people tend to follow them obsessively, to the point where breaking from the paradigm seems automatically bad. Fo
by silent_cal 4y ago
The problem with programming paradigms is that people tend to follow them obsessively, to the point where breaking from the paradigm seems automatically bad. For example, the four "pillars" of OOP are kind of arbitrary in my opinion, so I don't see an issue with breaking them, but sometimes writing a class is a better way to handle a collection of inter-related variables & functions. I don't think that makes me an OOP "adherent". It's not really possible to determine a priori if one theory will always be better than another when it comes to writing programs.
- danielvaughn 4y agoAgreed. My favorite example of this is domain-driven design. I love the core concepts - get everyone on the same language, make sure the code follows directly from business rules, etc. But you open the book and it's a flurry of absurd terminology that does nothing but obfuscate whatever the author is trying to talk about. Then that terminology gets tossed around by hardcore adherents, and you end up more confused about software development than before you learned about DDD. It's a shame.
- silent_cal 4y agoIt may be because programmers are often also attracted to mathematics, and so they think everything in programming must be very carefully defined, and everything must follow from axioms. In reality, programming has a lot more in common with a practical skill like carpentry - you use the best tools & methods available depending on the product you're trying to make.
- edgyquant 4y agoFunny you chose carpentry which is very much a field where everything must be mathematically tested and proofed.
- silent_cal 4y agoYou use a bit of math in carpentry, but carpentry itself is not like mathematics. There's no deductive proof of the best way to make a chair out of oak.
- tomxor 4y agoCorrect, more generally the problem is often absolutism, and presenting or applying ideas as absolute truths. All of the ideas have merit, they have cases where they work wonderfully, and a lot of places where they do not. This issue extends beyond programming patterns and paradigms, not only into the rest of technology but life in general. You cannot unsee this, you will start to see "worked for me"s being presented as "this is the solution to all things" everywhere. My first criticism to observation based conclusions anyone suggests is usually "that's subjective" and the following criticisms are usually exploring the parameters of that subjectivity, my partner is so tired of me saying this, because everything is subjective - I shouldn't need to say it, but we seem to live in a world where it's increasingly necessary to point out.