Hacker News new | ask | show | jobs
by hxa7241 5326 days ago
What is abstraction? Here is an informal casual answer that works quite well.

An abstraction unites something fixed with something varying. It specifies something fixed that ecompasses a set of variants.

For example, an 8 bit number fits this straightforwardly. The number of bits and their interpretation as successive powers of 2 is what is fixed; the actual values of the bits is what varies.

It seems quite a good definition: it is simple, and discrete -- it is measurable, and it very neatly fits software/computation. It is pretty much built-in to the basics of what we commonly take as computation, the bit -- a single element (fixed) with two values (varying between 0 or 1). And everything follows on top of that.

And furthermore, this definition can even be seen as somehow quasi-fundamental, as inevitably arising in how natural systems behave (well, with a little imagination maybe -- it is worth a ponder) . . .

http://www.hxa.name/notes/note-hxa7241-20110410T0910Z.html