Thursday, Jun 23, 2016
my description would be
“leveraging multiple sub systems to easily and conveniently accomplish a goal”
Humans are always abstracting. In order for us to be conscious, we need energy and thats accomplished by our intestine breaking down energy molecules and delivering them in our blood stream to our brains. Our brains don’t 100% understand how we break our food into energy and we don’t explicitly command these processes either. They just happen when we decide to eat. To me thats abstraction.
In the underlying and fundamental aspects of computing, we are moving 0s and 1s in a way to represent and rendering grander systems. And there is a complex and wiry intricate set of rules that govern to the point when we get the modern day computer and its functions. I cannot tell you what 0 and 1 are being pushed around in the processor and ram, and thats the beauty of abstraction, we don’t have to know the precise state of each 0 and 1 (tho its beneficial to have a loose understand how and why).
How much understanding do we need with sub systems of abstraction?
I may ramble/rant here.
This is an interesting question. Does a doctor need to know mechanism of cell genesis or metabolic pathway? Doe an sky scraper architect need to know structure integrity of every nuanced version of steel? Seems, no, but to have a general understanding of relevant concepts in a domain the better. If a tenured physician were to take their organic chemistry tests again, I would suspect they would score below 50%. Unfortunately, thats how the human brain operates, knowledge isn’t permanently stored.
expand on this later…
For computer science peeps
basic example of abstraction in python
def func1(x): return x*2
def func2(y): return y + ‘ some string to append’
def func3(z): return z = z.shuffle()
def abstractFunc(a): a = func1(a) a = func2(a) a = func3(a) return a
function ‘abstractFunc’ combines all the work done by func 1,2,3. So we can just call abstract once and understand its process, rather than calling all three functions.