![rw-book-cover](https://readwise-assets.s3.amazonaws.com/static/images/article2.74d541386bbf.png) --- > Low-level things are likely to work correctly since there's tremendous pressure for them to do so. - [View Highlight](https://read.readwise.io/read/01h08abm8v35tvc7bh3g4enjmp) - _Tags_: `favorite` --- > 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. - [View Highlight](https://read.readwise.io/read/01h08ack0zfcn16g93rrngfzq0) --- > 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. - [View Highlight](https://read.readwise.io/read/01h08aej68q49ft6t4g8t6nhkx) --- > 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. - [View Highlight](https://read.readwise.io/read/01h08aj581jj4j05f6g0q4ca8y) --- > 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. - [View Highlight](https://read.readwise.io/read/01h08an9wr2ve25mgrkz7j8088) --- > everybody thinks high-level is easy, on the grounds that it's visibly *faster*. - [View Highlight](https://read.readwise.io/read/01h0aghz9bhvmzv5165xhp8b1c) ---