Thus, data abstraction allows the programmer to manage data at a conceptual level, rather than managing data as a collection of primitive data types.
Suitable modularization should allow an application programmer to invoke services of the operating system, e.g.