2 ms·
Ask HN: You develop in an imperfect system; what would you do to fix the API?
This question is kind of vague, but I'm certain that there is a ton of "lesson learned" experience in the HN community that would be good to pass on.
What infrastructure do you code on top of that could have been done better. Actually, the name of the infrastructure is irrelevant, but please share the "fatal flaw" of a common design challenge you've come across.
I was thinking about OS services in particular (xwindows having to support networking, for example), but any library, first-party software, or even embedded code would be interesting to hear about.
- shakna 10y agoAll of them. Very little infrastructure is a perfect fit, and you often find yourself fighting with it to do something you need to be able to do. Sometimes a new approach, sometimes not. Here's a few examples: * Python's GIL : https://www.youtube.com/watch?v=MCs5OvhV9S4 https://www.youtube.com/watch?v=MCs5OvhV9S4 * Node's processes : https://www.youtube.com/watch?v=9o8B3L0-d9c https://www.youtube.com/watch?v=9o8B3L0-d9c * PHP's Super Globals : https://www.youtube.com/watch?v=QZQ_V_ZJUjA https://www.youtube.com/watch?v=QZQ_V_ZJUjA For more anecdotal information: ARM is my bane. Though the ARM processor is cool, and lets me use whatever toolchain I want... Instruction sets in the wild can be: * Incomplete * Inconsistent * "Extended" with unexpected, and often undocumented, side-effects
- appleflaxen 10y agoI've heard of the other issues, but the ARM example was great; thanks!