Programming Techniques Overview


First, we introduce one of the most important parts of programming: data types. Afterwards, we overview several programming techniques:

Imperative
Object-oriented
Functional
Generic

The next techniques will be explained in the near future:

Metaprogramming

Based on these programming paradigms, we explain how to use them in a modern way to build applications or solutions to given problems. The language of choice is C++.

 

Language of Choice

Why do we use C++ for our own development and for the tutorials and techniques?

C++ is known for its complexity due to the fact that there are often several different mechanisms for accomplishing a task. We do not want to hide this fact. The problem is the result of the long evolutionary development of the language. Features are inherited from the C language, enriched with the object-orientation "hype", and some are dead ends. The most important mechanisms of C++ are, of course, inheritance and templates, which provide two different ways to produce abstract, generalized software components. Other languages are definitively superior in subparts.

We summarize the drawbacks of C++ briefly:

Long compilation times, multiple symbols created many times
Error messages can be very long and a lot of internal code can be exposed
Problems with templates and virtual functions
No overall mechanism for pre-compiled headers

But up to now, it is the only programming language which offers the usage of all different programming paradigms together. With proper implementation techniques the execution speed is superior to most of the other languages, even Fortran.