Hacker News new | past | comments | ask | show | jobs | submit login

30 years ago, this article could have mentioned the OSI model (https://en.m.wikipedia.org/wiki/OSI_model)

Although desribed in terms of networks, it is flexible/abstract/content-free (1) enough to describe communication between software components on a single machine.

An API describes what programs/libraries say to each other, an ABI is a lower layer that describes how they should do that. I would place them on levels 4 and 3. Level 2 is the hardware in the CPU, level 1 are electrons moving through tiny wires, but one can change that to something different (light flowing through fibers, a human keeping track of state on paper, etc) without affecting ABI nor API.

Looking at this this way, it is clear that there are levels above an API. For example, one could place the semantics of the API (you can only close a file that is open, free memory you allocated, etc) at level 5.

(1) I think it is a mix of these, but feel free to pick an adjective you like.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: