3 ms·
This! I am frustrated at how often devs will not accept that simple things become incredibly complicated at scale. That favorite coding technique? That containe
by ternaryoperator 4y ago
This! I am frustrated at how often devs will not accept that simple things become incredibly complicated at scale. That favorite coding technique? That container you wrote? Those tests you added? All good, but until you've tested them at scale, don't assert that everyone should use them. This dynamic is true in the other direction too: that techniques often taken for granted simply are not feasible in highly resource-constrained environments. With rare exception, the best we can say with accuracy is that "I find X works well enough in the typical situations I code for."
- trasz 4y agoThis goes both ways - things written “to scale” often, or usually, do worse in more typical, smaller scenarios, because of all the bloat that’s irrelevant to 98% of use cases. That’s one of the fundamental problems in todays Open Source world: everything’s being optimized for a very rare case.
- throwaway012377 4y ago> simple things become incredibly complicated at scale In a way it's the opposite. Things scale up by removing complex interactions. Software gets faster by solving the same problem with less steps. Any beginner can write to much code and pile up too many software and hardware components. It takes knowledge to simplify things.
- ProZsolt 4y agoIt reminds me of a saying: "Any idiot can build a bridge that stands, but it takes an engineer to build a bridge that barely stands."
- maerF0x0 4y ago> Any beginner can write to much code and pile up too many software and hardware components. I'd take it a step further, the beginner has no choice but to write too much code/cruft. By definition they lack the experience required to know the options before them, many of which are simpler.
- throwaway012377 4y agoIndeed, but it's also about having the wrong mindset: piling up stuff gives people the idea that they are building something. Removing complexity and saving CPU cycles does not feel as good to beginners.
- closeparen 4y agoPeople have career and ego incentives to overestimate the constraints of the environment they're working in, and will use lazy heuristics like rounding some number to "a lot" and assuming that it justifies pulling out all the stops. Computers are fast. One or a few of them can accomplish quite a lot. Some people really do exceed those limits, and godspeed to them, but even in the companies they work at, the vast majority of applications do not.