130 likes | 530 Views
DECLARATIVE PROGRAMMING. Ivan Bratko Faculty of Computer and Info. Sc. University of Ljubljana. PROGRAMMING PARADIGMS, COMPUTATION MODELS. Programming paradigms ~ computation models Computation model = precise notion of “programming paradigm”
E N D
DECLARATIVE PROGRAMMING Ivan Bratko Faculty of Computer and Info. Sc. University of Ljubljana
PROGRAMMING PARADIGMS,COMPUTATION MODELS • Programming paradigms ~ computation models • Computation model = precise notion of “programming paradigm” • A computation model is a formal system that defines how computations are done
SOME COMPUTATION MODELS,PROGRAMMING PARADIGMS • Imperative programming • Declarative programming • Object-oriented programming • Functional programming • Logic programming • Relational programming • Constraint programming • Concurrent programming • Declarative concurrency • Message-passing concurrency • Shared-state concurrency
TWO DEFINITIONSFrom Wikipedia • According to one definition, a program is "declarative" if it describes what something is like, rather than how to create it. • This is a different approach from traditional imperative programming languages such as Fortran, C, and Java, which require the programmer to specify an algorithm to be run. In short, imperativeprograms make the algorithm explicit and leave the goal implicit, while declarativeprograms make the goal explicit and leave the algorithm implicit.
SECOND DEFINITIONFrom Wikipedia • According to a different definition, a program is "declarative" if it is written in a functional programming language, logic programming language, or constraint programming language. • The phrase "declarative language" is sometimes used to describe all such programming languages as a group, and to contrast them against imperative languages.