2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-25 14:28:05 +02:00
LaTeX-examples/documents/Programmierparadigmen/Programmiersprachen.tex

43 lines
1.6 KiB
TeX
Raw Normal View History

\chapter{Programmiersprachen}
Im folgenden werden einige Begriffe definiert anhand derer
Programmiersprachen unterschieden werden können.
\section{Paradigmen}
Die grundlegendste Art, wie man Programmiersprachen unterscheiden
kann ist das sog. \enquote{Programmierparadigma}, also die Art wie
man Probleme löst.
\begin{definition}[Imperatives Paradigma]\xindex{Programmierung!imperative}
In der imperativen Programmierung betrachtet man Programme als
eine folge von Anweisungen, die vorgibt auf welche Art etwas
Schritt für Schritt gemacht werden soll.
\end{definition}
\begin{definition}[Prozedurales Paradigma]\xindex{Programmierung!prozedurale}
Die prozeduralen Programmierung ist eine Erweiterung des imperativen
Programmierparadigmas, bei dem man versucht die Probleme in
kleinere Teilprobleme zu zerlegen.
\end{definition}
\begin{definition}[Funktionales Paradigma]\xindex{Programmierung!funktionale}
In der funktionalen Programmierung baut man auf Funktionen und
ggf. Funktionen höherer Ordnung, die eine Aufgabe ohne Nebeneffekte
lösen.
\end{definition}
\section{Typisierung}
Eine weitere Art, Programmiersprachen zu unterscheiden ist die stärke
ihrer Typisierung.
\begin{definition}[Dynamische Typisierung]\xindex{Typisierung!dynamische}
Bei dynamisch typisierten Sprachen kann eine Variable ihren Typ ändern.
\end{definition}
Beispiele sind Python und PHP.
\begin{definition}[Statische Typisierung]\xindex{Typisierung!statische}
Bei statisch typisierten Sprachen kann eine niemals ihren Typ ändern.
\end{definition}
Beispiele sind C, Haskell und Java.