Rambles around computer science
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. That's the “forwards” part. It's also “existential” when you keep the details of the realisation to yourself. Client code (e.g. source code in our new language) knows there is a realisation but the implementation choices themselves are hidden. In turn this allows the i
Rambles around computer science Rambles around computer science Diverting trains of thought, wasting precious time 10 11 2025 --> Mon, 10 Nov 2025 Reversing abstractions: an existential crisis 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
Explore this link on the map →saved by
related reading
- The Law of Leaky Abstractions – Joel on Softwarejoelonsoftware.com
- how I think when I think about programming - alice mazalicemaz.com
- Abstraction (computer science) - Wikipediaen.wikipedia.org
- 100R - computing and sustainability100r.co
- Introduction · Crafting Interpreterscraftinginterpreters.com
- The Alternative Implementation Problempointersgonewild.com
- Recent interestsryansepassi.com
- E.W.Dijkstra Archive: On the foolishness of "natural language programming". (EWD 667)cs.utexas.edu
- Essays on programming I think about a lot | benkuhn.netbenkuhn.net
- Leaving Haskell behind - Infinite Negative Utilityjournal.infinitenegativeutility.com
- C Isn't A Programming Language Anymore - Faultlorefaultlore.com
- A Map of the Territory · Crafting Interpreterscraftinginterpreters.com