algol ars based programming array programming aspect-oriented programming aspectj attribute-oriented programming basic binary code cobol class-based programming common lisp computer programming constraint programming dataflow declarative programming flow-based programming function-level programming functional programming grammar-oriented programming high-level programming language imperative programming intentional programming iteration language-oriented programming logic programming low-level programming language metaprogramming multi-paradigm programming language nondeterministic programming object-oriented programming object pascal pipeline programming policy-based design procedural programming process-oriented programming programming language prolog prose prototype-based programming reactive programming scalar programming smalltalk software engineering spreadsheet structured programming subject-oriented programming tree programming value-level programming visual basic