Programming Paradigms
Computer Science: OCR A Level, topic 2.4.3
Programming Paradigms
There are several different types of programming paradigms to help us solve different types of problems.

Programming paradigms
- A programming paradigm is a way of coding to solve a problem.
- We have 4 types of paradigm and each one is geared towards certain types of situations.
- Within each paradigm there are many different programming languages that all offer different things to each other.
- Some programming languages can be used for more than one paradigm.

Procedural programming
- Procedural programming is the most common paradigm of programming language.
- Procedural languages have built in simple data types like string, char, boolean, int and real.
- Procedural languages focus on a set of instructions that are followed through to achieve a desired outcome at the end.
- Python is foremost a procedural language.

Object orientated programming
- Object orientated programming came about as developers needed to model real world items that could be copied over and over again but given different attributes.
- An object “class” is set up and shows the attributes (such as colour of a car) and its behaviours (such as engine_start), this class is a blueprint for creating an object.
- Once a class is defined, it can be reused to create “instances” of the object as many times as the developer needs.
- Java and Python are object orientated languages.

Declarative programming
- Declarative languages use statements to describe a problem to be solved instead of how to solve the problem.
- The statements are given to the programming language engine, it then figures out how to solve the problem and return a result.
- SQL is a declarative language.

Functional programming
- In functional programming, functions (not procedures) are the blocks we build programs out of.
- Functions are different to procedures as they have to follow set rules:
- They must take in valid inputs, return an output, and not have any side effects.
- Haskell and Python are examples of languages that can be functional languages.
Test yourself on Programming Paradigms
Which of the following is an example of a declarative language?
What are the properties of a function in programming?