← Back to context

Comment by RA_Fisher

14 days ago

By moving up a level in the abstraction layer similar to moving from Assembly to C++ to Python (to LLM). There’s speed in delegation (and checking as beneficial).

Moving up abstraction layers really only succeeds with a solid working knowledge of the lower layers. Otherwise, you're just flying blind, operating on faith. A common source of bugs is precisely a result of developers failing to understand the limits of the abstractions they are using.

  • We only need to do that when it’s practical for the task at hand. Some tasks are life-and-death, but many have much lower stakes.

  • So we can all only succeed if we know how CPUs handle individual instructions?

    • I'm not sure whether I agree with GP, but I think you may be misinterpreting their point. I can have an understanding of CPUs in general without knowing individual instructions, and I do think knowing about things like CPU cache is useful even when writing e.g. Python.

      3 replies →

    • There's generally a pretty quick falloff of how much help knowledge of each layer under you generally provides as you go deeper.

      That being said, if you're writing in C, having a pretty good idea of how a cpu generally executes instructions is pretty key to success I'd say.

      1 reply →