Source: Hacker News
Article note: Yesss.
IMO, the major sin of the last two generations of computing folks was the belief that adding layers of abstraction was always free and beneficial.
Leaky abstractions are often worse than none, because now you have complexity and opacity.
A few weeks ago I was talking to some students about abstraction, and have a new example I'm using:
Your abstracted interface is a 24.5lb smooth cube, 1ft on a side.
The implementation is a 0.2kg hollow shell 30+/-1cm on a side, containing a loose 11kg ball.
For some tasks, you can get away with the external interface, but for many not-even-very edge cases the tolerance, sloppy unit conversion, and non-uniform, shifting mass are going to cause problems.
Layer this for 40 years where no one understands more than than two layers at once.
Computing.
Comments