Computer Science I / Integrated Computer-System Reasoning
Practice question · Multiple choice

A Python programmer never thinks about voltage, and a chip designer never thinks about dictionaries. What makes that division of labour possible, and where does it leak?

Hints
  1. Name something a Python programmer must still know about the hardware.
  2. Ask why 0.1 + 0.2 ≠ 0.3 is visible from the top of the stack.
Show the answer

D. Each layer hides the one below, and leaks where physical reality shows through

Why

Interfaces hide detail well enough to work with and not perfectly. Cache behaviour surfaces as performance big-O does not predict, fixed word size as overflow, binary fractions as 0.1 + 0.2 ≠ 0.3, and knowing which abstractions leak, and where, is most of what separates a competent engineer from a fluent one.

Read the lesson: Integrated Computer-System Reasoning →

Practise Integrated Computer-System Reasoning

The app has 6 more questions on this lesson, and keeps your place in the course. Computer Science I is free to start.

More questions on Integrated Computer-System Reasoning