Programmiersprachen.tex 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. \chapter{Programmiersprachen}
  2. Im folgenden werden einige Begriffe definiert anhand derer
  3. Programmiersprachen unterschieden werden können.
  4. \section{Paradigmen}
  5. Die grundlegendste Art, wie man Programmiersprachen unterscheiden
  6. kann ist das sog. \enquote{Programmierparadigma}, also die Art wie
  7. man Probleme löst.
  8. \begin{definition}[Imperatives Paradigma]\xindex{Programmierung!imperative}
  9. In der imperativen Programmierung betrachtet man Programme als
  10. eine folge von Anweisungen, die vorgibt auf welche Art etwas
  11. Schritt für Schritt gemacht werden soll.
  12. \end{definition}
  13. \begin{definition}[Prozedurales Paradigma]\xindex{Programmierung!prozedurale}
  14. Die prozeduralen Programmierung ist eine Erweiterung des imperativen
  15. Programmierparadigmas, bei dem man versucht die Probleme in
  16. kleinere Teilprobleme zu zerlegen.
  17. \end{definition}
  18. \begin{definition}[Funktionales Paradigma]\xindex{Programmierung!funktionale}
  19. In der funktionalen Programmierung baut man auf Funktionen und
  20. ggf. Funktionen höherer Ordnung, die eine Aufgabe ohne Nebeneffekte
  21. lösen.
  22. \end{definition}
  23. \section{Typisierung}
  24. Eine weitere Art, Programmiersprachen zu unterscheiden ist die stärke
  25. ihrer Typisierung.
  26. \begin{definition}[Dynamische Typisierung]\xindex{Typisierung!dynamische}
  27. Bei dynamisch typisierten Sprachen kann eine Variable ihren Typ ändern.
  28. \end{definition}
  29. Beispiele sind Python und PHP.
  30. \begin{definition}[Statische Typisierung]\xindex{Typisierung!statische}
  31. Bei statisch typisierten Sprachen kann eine niemals ihren Typ ändern.
  32. \end{definition}
  33. Beispiele sind C, Haskell und Java.