The ACM Computing Classification System (1998)
D.3.3 Language Constructs and Features
- Abstract data types
- Classes and objects

- Concurrent programming structures
- Constraints

- Control structures
- Coroutines
- Data types and structures
- Dynamic storage management
- Frameworks

- Inheritance

- Input/output
- Modules, packages
- Patterns

- Polymorphism

- Procedures, functions, and subroutines
- Recursion