Article may be outdated

This article is 62 days old. Some details may have changed since publication.

Hacker News·4 min read·hard

Reversing Abstractions: An Existential Crisis

T
tosh
✦AI Summary

This article explores the philosophical and technical concepts of abstraction in computer science, specifically focusing on how developers choose to hide or expose implementation details. It contrasts the 'existential' approach of hiding internal logic with public conventions like ABIs and debuggers.

Why it matters

Understanding the trade-offs between abstraction and transparency is critical for software architecture, interoperability, and long-term system maintainability.

✦Dive DeeperCreate a free account to unlock

Diverting trains of thought, wasting precious time

Computer science in general, and language implementation in particular, are founded on the idea of realising abstractions in a way I'll call "forwards" and also "existential". This post is about how these aren't the only way to think about programming infrastructure and abstractions.

The theory goes that you pick some desired abstraction - it could be a programming language, maybe an abstract data type, or something else. Then you figure out the realisation. In the case of a programming language, this could be memory layouts, calling conventions and a compiler that generates object code modelling these. For abstract data types, it's some specific concrete data structure and the mapping from abstract to concrete operations.

Continue reading on Headlinne

Create a free account to read the full article.

Read full article →
technologyscience
✦

Get smarter about the news

Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.

Create free account

Already have an account? Sign in