Programming Paradigm Taxonomy Poster
Creators: name: Vandeloise, Mikel
Publisher: name: Zenodo
Year: 2024
Subjects: Programming paradigm
Taxonomy
Imperative programming
Declarative programming
Object-oriented programming
Functional programming
Programming languages
Programming methodology
Software engineering
Collaboration Metrics
Multi-language Development
Academic Research

description: [New version]

Following a recent review of our taxonomy of programming paradigms, we have introduced changes to our poster, as well as observing minor evolutions in the tuples that represent these paradigms. To ensure the accuracy and relevance of our information, we have updated the poster and the corresponding dataset to reflect these changes. We invite you to download the most recent version to benefit from the updated data.

Description : Full access to the files for downloading will be granted upon submission of the paper for the conference.

This poster presents a novel taxonomy of programming paradigms inspired by Van Roy works (2004 & 2009), visualized as a tree structure. The tree offers a clear and insightful way to explore the relationships between various programming approaches.

Here's a breakdown of key elements within the taxonomy:



Nodes as Paradigms: Each node represents a unique programming paradigm, the fundamental building block for program design.

Edges as Transitions: Connections between nodes depict transitions between paradigms. Each transition is triggered by the introduction of a specific concept. A paradigm is considered a "child" if it directly follows another, which then becomes its "parent."

Accumulating Knowledge: As you navigate the tree, each paradigm can be viewed as an accumulation of concepts learned throughout the traversal.

Turing Completeness: The tree is divided into two sections:



Non-Turing complete paradigms (coloured gray) have limitations in what problems they can solve.

Turing complete paradigms (coloured yellow) have the theoretical capability to solve any problem solvable by a computer.



Non-Deterministic Behaviour: Highlighted nodes (in bold) indicate that the associated paradigm might exhibit non-deterministic behaviour, where the outcome can vary for the same input.

Meta-Paradigm Families: Colours within the taxonomy represent a paradigm's membership in a specific meta-paradigm. These meta-paradigms essentially group related paradigms into distinct families.


The CSV that accompanies the poster represents the set of tuples that correspond to the paradigms defined by the taxonomy.

Foundational Role in Collaboration Metric Design :

This taxonomy serves as the foundation for a novel inter-paradigm collaboration metric, which is detailed in our associated research paper, "[Towards a quantitative evaluation of paradigmatic collaboration: insights from Prolog and beyond]," intended for submission to the International Conference on Logic Programming (ICLP). The metric considers:



Structural characteristics of programming paradigms and languages

Kinship relationships between them

Fundamental computational and behavioural properties


This research explores the challenges of using Prolog, a logic programming language, within multi-paradigm environments. The proposed collaboration metric leverages the insights from the taxonomy to quantify the potential for effective collaboration between different programming paradigms.