7 ms·
A builder may use bricks to build a house - yet he may still be interested in the brick's composition & the brick making method. These days, he may even use a
by meric 4y ago
A builder may use bricks to build a house - yet he may still be interested in the brick's composition & the brick making method.
These days, he may even use a brick robot to automate bricklaying, and still be interested in the mortar used.
Same for software ?
- yshrestha 4y agoThat is an interesting comparison. I think it highlights that engineers may need to constrain the design a few levels of abstraction lower than where they typically operate at any given time. I think performance constraints is a key motivating factor for when we need to peel back the layers of abstraction and tweak something under the hood(s). I think another analogy is like building a skyscraper. The construction worker needs to worry about the floor below him and the floor he is working on. Everything below him is an implementation detail from his perspective. If N is the cutting edge level of abstraction, N+1 is what research is doing, N-1 is where I like to operate at while I wait for N to stabilize. Take a stack of AWS services for example. AWS comprehend medical is an abstraction built on a bunch of NLP building blocks. AWS health lake is an abstraction on top of AWS comprehend medical. At this point I don't care about the NLP underlying AWS comprehend but I don't want to use AWS health lake until it has a chance to stabilize and another abstraction is built on top of it.