Hacker News new | ask | show | jobs
by eikenberry 13 days ago
2 different meanings of abstraction at work here.
1 comments

Nope, the same single meaning.

English to program is the same kind of abstraction as going from assembly to program to C to program to high level scripting to "4G languages" and so on, and hiding all kinds of details behind a much terser layer. It's just that it's a qualitative jump at it.

Here's a ChatGPT provided answer asked to "define abstraction in programming, like when going from assembly to C to scripting, etc":

"Abstraction in programming is the process of building layers where each layer hides the details of the layer below".

In math/computers abstraction has a technical meaning that requires deterministic behavior for the abstraction to work. It isn't a proper abstraction if it doesn't always do the same thing underneath.

Abstraction as a layering idea without regard to how it works is like the pop-pych version in that it is "right" but misses nuance.