3 ms·
Good post that laments how we adopt different programming paradigms all in the name of solving the problem more elegantly and modeling the problem more purely,
by niftich 10y ago
Good post that laments how we adopt different programming paradigms all in the name of solving the problem more elegantly and modeling the problem more purely, but we inevitably get bogged-down in some language- or platform-specific quagmire or bikeshed; all for what?
To answer the author's question, I believe we constantly hunt for a 'better' abstraction because we want to make code reusable, as-in, callable as an independent unit or copy-pasteable to somewhere else. In truth, we rarely do this; instead we build something new, or build on top of it, climbing even higher on the ladder.
It's also intellectual golf. A lot of software is in fact written to be just good enough and barely working; this duct tape runs most our non-mission-critical, line-of-business computing. This level of preoccupation with modeling only occurs when the pressures to deliver aren't sufficiently great to preclude these explorations to take place.
- MaulingMonkey 10y agoI get interested in this kind of stuff in an attempt to avoid the "barely working" quagmire, which has it's own problems (namely, ongoing maintenance when it stops working.) Less for reuse - what abstractions will help me avoid bugs? Which abstractions can simplify this and make it faster to write or modify? Which will be easiest to read and thus maintain? It's rare - although not impossible - that the answer to any of these things is "callback hell". "Reusable" just sounds too similar to "YAGNI violation" to me these days.