It helped crystallize a number of concepts I understood but hadn’t been able to fully realize in the face of the prevailing OOP trends of the time.
It was the permission I needed to buck those trends.
- You’re not dealing with persistence. No DB, no migration headaches, no downtime requirements, etc. Constraints entirely devoid of business requirements.
- You still arrived at the same level of indirection you belabored.
- You worked off of an established project that didn’t go off on any tangents. Building bottom up, depending on how much foresight you have, easily leads to the kind of mess that you cannot semantically compress without rewriting from scratch. In many cases, especially if working on projects with multiple people, those reusable patterns will be incredibly difficult to spot due to the mess surrounding the implementations.
You’re definitely on the right track, but for one it’s not an xor choice which approach you take (semantic compression or OOP), secondly, semantic compression is not as simple as it was made out here to be, and lastly, businesses do not build bottom up.
thefourthchime•4h ago
gdulli•4h ago