Abstraction in all its forms has played a substantial role in the design of programming languages. It has motivated the various language paradigms, and has inspired, and is manifested in, the rich type structure and machinery of control to be found in contemporary languages. These include specification schemas, procedural abstraction, inheritance, iteration, recursion, polymorphism, abstract data types, modules, and classes. The quest for simpler yet richer means of abstraction is one of the central driving forces in language design. These language features both aid and constrain the style of programming and specification.
Unable to display preview. Download preview PDF.