Properties5
TypeArticle
AuthorC++ FQA
DateApr 20, 2019
URLhttp://yosefk.com/blog/low-level-is-easy.html
Note createdApr 20, 2019

rw-book-cover


Low-level things are likely to work correctly since there’s tremendous pressure for them to do so.


The higher your level, the loner you become. Not only do you depend on more stuff that can break, there are less people who care in each particular case.


You end up working around the bug at your end. Sometimes preventing the lower-level component author from fixing the bug, since that would break yours and everybody else’s workaround.


Good workarounds are essentially ways to avoid inputs which break the buggy implementation. Bad workarounds are ways to feed inputs which shouldn’t result in the right behavior, but do lead to it with the buggy implementation.


The ultimate example of the fun that is higher-level debugging is a big, slow, hairy shell script. “rm: No match.” Who the hell said that, and how am I supposed to find out? It could be ten sub-shells below.


everybody thinks high-level is easy, on the grounds that it’s visibly faster.