This is probably my favorite interview question. When I ask Modularity and Abstraction in practice, many a time, I get a mixed, confused or confusing answer. The reason is, there is a very thin line in what we perceive Modularity and Abstraction are. We all do it everyday, but knowing it for real..
From MIT's reading material.
And that proabably is as clear as it can get.
From MIT's reading material.
Modularity is the idea of building components that can be re-used; and abstraction is the idea that after constructing a module (be it software or circuits or gears), most of the details of the module construction can be ignored and a simpler description used for module interaction (the module computes the square root, or doubles the voltage, or changes the direction of motion).
And that proabably is as clear as it can get.