As long as the theorists don't run too far away, the practitioners are happy. And, theorists are happy as long as they have enough food, water, and shelter to allow them to continue to think about stuff. :-)
As a (mostly) practitioner, I don't feel that a lot of the abstractions that the author identifies are helping me write better code faster. For instance, 90% of my time is taken up by just a few things:
- Transforming data from one structure to another.
- Moving data around.
- Writing and re-writing similar business rules and domain logic in different libraries and languages.
- Writing 'adapters' to get one library to work with another.
- Trying to find 'the right' data structure or algorithm.
- Discovering that the many different implementations of the same data structure or algorithm in different languages don't 'do' the one thing that I need them to do (and having to write my own implementation).
- Reading other people's code.
- Debugging other people's code.