Declarative programming is tightly connected to functional programming. Modern functional languages prefer to express programs as algebra and not as algorithms. This means that programs in functional languages are combinations of certain primitives with operators. The technique where you express your programs by specifying what to do, but not how to do it, is referred to as declarative programming. We will explore why declarative programming appeared and where it can be used.
In this chapter, we will cover the following topics:
- Principles of declarative programming
- Declarative versus imperative collections
- Declarative programming in other languages