-
programmers combine primitive elements to form compound objects, they abstract compound objects to form higher-level building blocks, and they preserve modularity by adopting appropriate large-scale views of system structure.
- primitives -> compound objects -> higher-level blocks -> module -> system
-
Metalinguistic abstraction — establishing new languages
- Establishing new languages is a powerful strategy for controlling complexity in engineering design
- enhance our ability to deal with a complex problem by adopting a new language that enables us to describe (and hence to think about) the problem in a different way, using primitives, means of combination, and means of abstraction that are particularly well suited to the problem at hand
- tools
- venv
uv venv --python 3.14.3 source .venv/bin/activate
- venv