A program is a description in a chosen programming language, also known as code, which is compiled to give a practical output. Programs can be various different sizes depending on each one’s functionality, for example a simple program which when asked to tell the time would only use a few lines of code, compared to an overnight payslip generator which could be pages long.


A programming language is a syntax used to develop programs, there are many different generations of programming languages and all of them differ in their own way; first-generation languages which is also known as machine code and is just binary digits, machine code can be executed by the computer directly. Second generation languages or assembly language was made to be closer to the human tongue so it was slightly easier than typing in 1’s and 0’s for machine code. Third-generation programming languages or low-level language are imperative which means all instructions are executed in a specific order stated by the user. Fourth-generation languages or declarative programming languages are used when the user needs to write or declare facts rather than how the execution is meant to be done.


A paradigm is the style, structure and layout of a program, depending on the programming language that we use, we can other have a single paradigm to the program or multiple. There are various different paradigms, some are as follows; imperative, declarative, structured, procedural, functional, function-level, object orientated, event-driven, flow-driven, logic, constraint, aspect-oriented, reflective and array.


Procedural is a type of imperative programming where you use procedural calls, it’s a linear so its works from top to bottom and relies on subroutines and procedures to execute.


Object Orientated programming is when objects are defined and they send messages to one another. Objects have their own state and public interfaces. Object orientation can be class based or prototype based.


Event Driven is when emitters and listeners are used for actions.


Describe examples of applications that can be devolped using the programming langages above.


Explain what application fits into that particular paradigm