- Declarative Programmierung: Problems im Vordergrund, kürzer Programme, Beweise sind leichter durführbar, z.B. Haskell, Lisp, Prolog, XAML.
- Prozedurale Programmierung: Hierarchie von Funktionen, sequentiell abgearbeitet. Startpunkt ist in der Hauptprozedur. z.B. Fortran, COBOL, C, Pascal.
- Objektorientierte Programmierung: Objekte, Klassung, Polymorphie und Vererbung. z.B. C#, Java, C++... bessere Strukturierung, bessere Tetbarkeit, Wiederverwendbarkeit von Programmteilen.
- Funktionale Programmierung: z.B. Lisp, Haskell, OCAml, Erlang... Berechnungen sind effizient aber ist nur für Berechnungen.
- typisierte Programmiersprachen: fail Fast, Vervollständigungsvorschläge durch die IDE. z.B. C, Java, Typescript...
- typenlose Programmiersprachen: z.B. sh, cmd, JavaScript... nur faktische Kompatibilität, implizite Konvertierung, Typenfehler treten erst zur Laufzeit des Programms auf.