Theme index -- Keyboard shortcut: 'u'    Next slide in this lecture -- Keyboard shortcut: 'n'Programming Paradigms
1.  Programming Paradigms

Before we start on the functional programming paradigm we give a broad introduction to programming paradigms in general.

In this section we will discuss the meaning of the word 'paradigm', and we will enumerate the main programming paradigms, as we see them.

In Chapter 2 we will discuss each of the main programming paradigms in some details. Be aware, however, that this material is about the functional programming paradigm. The two first chapters of the material mainly serve as background, and as contrast for an enhanced understanding of the functional school.

1.1 Paradigm1.2 The main programming paradigms

1.1.  Paradigm
Contents   Up Previous Next   Slide    Subject index Program index Exercise index 

It is interesting and useful to investigate the meaning of the word 'paradigm'

We will here look at the meaning of the word 'paradigm', as it appears in 'The American Heritage Dictionary of the English Language, Third Edition':

"An example that serves as pattern or model."

Another and slightly more complicated explanation stems from the 'The Merriam-Webster's Collegiate dictionary':

"A philosophical and theoretical framework of a scientific school or discipline within which theories, laws, and generalizations and the experiments performed in support of them are formulated"

Below we will first describe the meaning of the word 'paradigm' as we adopt it in this course. After that we describe related concepts, namely 'programming technique', 'programming style', and 'programming culture'.

  • Programming paradigm (in this course)

    • A pattern that serves as a school of thoughts for programming of computers

  • Programming technique

    • Related to an algorithmic idea for solving a particular class of problems

    • Examples: 'Divide and conquer' and 'program development by stepwise refinement'

  • Programming style

    • The way we express ourselves in a computer program

    • Related to elegance or lack of elegance

  • Programming culture

    • The totality of programming behavior, which often is tightly related to a family of programming languages

    • The sum of a main paradigm, programming styles, and certain programming techniques.


1.2.  The main programming paradigms
Contents   Up Previous Next   Slide    Subject index Program index Exercise index 

In this section we will enumerate the four main programming paradigms which will be treated in additional details in Chapter 2. It may very well be a matter of taste if some of the additional programming paradigms, which we also mention below, should be considered as main programming paradigms as well.

We identify four main programming paradigms and a number of minor programming paradigms

In the concept definition below, we characterize a main programming paradigm in terms of an idea and a basic discipline.

A main programming paradigm stems an idea within some basic discipline which is relevant for performing computations

  • Main programming paradigms

    • The imperative paradigm

    • The functional paradigm

    • The logical paradigm

    • The object-oriented paradigm

  • Other possible programming paradigms

    • The visual paradigm

    • One of the parallel paradigms

    • The constraint based paradigm

In Chapter 2 we will characterize the four main programming paradigms mentioned above. We will in particular attempt to trace the idea and basic discipline behind the four main programming paradigms. We do not go into the other programming paradigms, mentioned above, in this material.

Generated: Tuesday July 2, 2013, 09:27:18
Theme index -- Keyboard shortcut: 'u'    Next slide in this lecture -- Keyboard shortcut: 'n'