Sensible Programming
A programming paradigm is a way to describe the world by means of programming. Therefore, every programming paradigm must have a philosophical foundation that answers the questions defining the base of our conception of the world. The goal of this thesis was to compare the most renowned programming paradigms to the most renowned metaphysical theories and find the link between philosophy and programming.

The thesis examines functional, procedural and object-oriented programming and categorises them under subjective, dualistic and objective concepts on the basis of their way to handle the relationship between data and functions. It examines several philosophers, including René Descartes and Plato by comparing their theories to various programming paradigms.

After this the thesis implements the link between philosophy and programming by introducing a new programming paradigm called ”sensible programming”. Sensible programming is based on Immanuel Kant's transcendental idealism. The thesis examines the basic ideas of transcendental idealism and their link to programming. After this the thesis describes the basic structure of a program using sensible programming paradigm and demonstrates how it is possible to implement sensible programming with the programming languages we use today.

The functionality of the sensible programming paradigm proves that it is possible to use philosophical theories to analyse and develop programming paradigms. This opens new possibilities in the field of programming, because through philosophy this young, constantly evolving field obtains roots that are thousands of years old.