Programming Paradigms
What is a programming paradigm? Learn the main ones: structured, functional, logic, object-oriented and aspect-oriented programming, with example languages.
Many of us who have studied some branch of Computer Engineering ran into the classic phrase “Programming paradigm …” early on (most likely in one of the courses about a programming language). At first, many of us didn’t even know what the word “paradigm” meant, let alone understand the sentence that contained it. So, first of all, let’s define the word “paradigm”: <<A set of theories, standards and methods that together represent a way of organizing knowledge>> [Kuhn 1970].
Without getting into Computer Engineering yet, we can say that a paradigm is a set of “rules” that govern a particular facet or area of knowledge. To make a very rough analogy (and without knowing at first whether it exists), there could be a “paradigm for making potato omelettes”, which would specify the rules, materials and ingredients needed to make a potato omelette. Today this does exist, since broadly speaking all the potato omelettes that get made look and taste similar.
Now that it’s clear what a paradigm is, we can explain what programming paradigms are: nothing more and nothing less than a series of “rules” that every developer has to follow when programming.
Wikipedia definition: A programming paradigm is a technological proposal adopted by a community of developers whose central core is unquestionable in that it unambiguously tries to solve one or more clearly defined problems.
Although there are a few other programming paradigms, the best known are the following:
- Structured or imperative programming paradigm: This is the programming paradigm that has been used the most in the past. Many of us started programming under this paradigm. It is supported by languages like ‘C’, ’BASIC’ or ‘Pascal’.
- Functional programming paradigm: A programming paradigm based on the use of mathematical functions that don’t handle mutable data or state. This paradigm is supported by languages like ‘Haskell’ and ‘Lisp’.
- Logic programming paradigm: This is a programming paradigm based on the concept of a function. It is very math-oriented. This paradigm is supported by languages like ‘Prolog’.
- Object-Oriented Programming (OOP) paradigm: This is perhaps the most widely used programming paradigm and the most successful one today. That’s because it is a paradigm that is close to the real world and lets us make problems easier to understand. This programming paradigm is supported by languages like ‘C++’, ‘Java’ and ‘C#’.
- Aspect-oriented programming paradigm: This is a relatively new programming paradigm that includes the concept of an “Aspect”, which aims to provide a particular piece of functionality to the system, separating that functionality from the rest of the system in order to increase modularity. This new programming paradigm is supported by the programming language ‘AspectJ’.
“Programming Paradigms” by Ricardo Moya at jarroba.com, licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Registered at Safe Creative.

You may also like
Advanced Dockerfile: Multi-Stage Builds, Registries, and Tricks
Free Docker course. Expert Docker tricks: multi-stage builds, optimizing images, faster build times, and distributing images through Docker registries.
Dockerfile: Directives and Dockerizing Projects
Free Docker course. A Dockerfile is a file of directives for building and deploying custom applications with Docker. Learn how to Dockerize your projects.



Leave a comment