Hasty Briefsbeta

Bilingual

Reversing Abstractions: An Existential Crisis

5 hours ago
  • The author critiques the dominant 'forward/existential' approach in computer science, which hides implementation details, and advocates for 'backward/universal' approaches that make details accessible.
  • Examples of opting out of hiding include ABIs (public conventions) and DWARF debuggers (meta-level descriptions), with debuggers representing a universal approach that can recover abstract views from any concretion.
  • The neglect of backward/universal methods contributes to software brittleness, contrasting with biological adaptability, and programming language research is particularly averse to this direction.
  • Link-time optimization (LTO) currently delays lowering rather than lifting; the author proposes using debugging information to lift object code back to intermediate representation for better flexibility.
  • Networking's hourglass design (IP) exemplifies a universal approach supporting diversity, unlike existential uniformity, and the author calls for similar thinking in language implementation.
  • The author argues that software performance is now limited by social and cultural factors, not machine performance, so overhead concerns about universal approaches should not be overemphasized.