Programmiersprachen#

Midjourney: Skyscraper City Code Rain, ref. Matrix Code Rain

There are only two kinds of programming languages: the ones people complain about and the ones nobody uses.

— Bjarne Stroustrup (creator of C++)

Folien/PDF#

Generationen der Programmiersprachen#

  1. Generation - Zuerst wurden Computer direkt in binärem Maschinencode programmiert, die ein Prozessor direkt ausführen kann, aber meist nur ein Prozessortyp vertehen können.

      1101 0000 0000 0111 1011
      1011 1111 1110 1000 1010
      1101 0010 0000 0111 1111
    
  1. GenerationAssemblersprachen nutzen Maschienenbefehle (ADD, MOV, …) eines bestimmten Prozessortyps. Die Befehle werden mit Hilfe einer Übersetzungssoftware (Assembler) in Maschinencode übersetzt.

      CLO
      MOV AL, 2     ; kopiert 2 in Register AL
      ADD AL, 3     ; addiert 3 zu Register AL
      END
    
  1. Generation - Höhere Programmiersprachen sind menschenlesbar und näher an natürlicher Sprache. Ein Compiler übersetzt den Code in den Maschinencode.

      while i < 20:
          x = x + i * i
          if x > 100:
              i = i + 3
    

Die beliebtesten Programmiersprachen#

Durch die Änderungen der Anforderungen an Software entwickeln sich nicht nur die Softwarearchitekturen sondern auch neue Programmiersprachen die an Popularität gewinnen. So wurden zuerst traditionelle Anwendungssprachen (C++) ersetzt durch Serversprachen wie Java und dann durch Websprachen (PHP, Perl, JavaScript). Über die letzten 20 Jahren hat sich in diesem Bereich vor allem JavaScript durchgesetzt da es Client- und Serverseitig eingesetzt werden kann. Seit 2017 gewinnt vor allem Python massiv an popularität, da es insbesondere im KI-Bereich eingesetzt wird.

  • Neue Programmiersprachen entwickeln sich ständig um ändernden Anforderungen entwickelten sich

  • Traditionelle Anwendungssprachen wie C++ wurden durch Serversprachen wie Java abgelöst.

  • Später folgte ein Übergang zu Websprachen wie PHP, Perl und JavaScript.

  • In den letzten Jahren wurde JavaScript für Webseiten beliebt.

  • Seit 2017 wird Python immer Beliebter durch die Nutzung für KI.

Python#

Python hat in den letzten Jahren zunehmend an Popularität gewonnen, ist allerdings älter als Java, C# und JavaScript. Die Popularität ist zum einen darauf zurück zu führen, dass die Sprache sehr auf Lesbarkeit und Einfachheit ausgelegt ist und dadurch sehr leicht zu erlernen ist. Ferner gibt es durch ihr Alter heutzutage sehr viele Bibliotheken und für fast jedes Problem eine existierende Lösung. Dadurch ist Python auch sehr vielseitig einsetzbar ist.

Quiz#

--- shuffleQuestions: true shuffleAnswers: true --- ### Was ist eine Programmiersprache? - [x] Eine formale Sprache zur Erstellung von Programmen - [ ] Eine spezielle Hardwarekomponente - [ ] Eine visuelle Darstellung von Daten - [ ] Ein Dateiformat für Textverarbeitung ### Welche Merkmale definieren eine Programmiersprache? - [x] Zeichensatz - [x] Syntax - [x] Semantik - [ ] Farbschema ### Was zeichnet Programmiersprachen der 1. Generation aus? - [x] Binär codierter Maschinencode - [ ] Verwendung von Hochsprachen wie Python - [ ] Direkte Mensch-zu-Mensch-Kommunikation - [ ] Nutzung von HTML ### Wodurch zeichnen sich Assemblersprachen aus? - [ ] Sie sind unabhängig von der Hardwarearchitektur - [x] Sie müssen in Maschinencode übersetzt werden - [ ] Sie werden direkt vom Browser interpretiert - [ ] Sie sind eine Form von natürlicher Sprache ### Was kennzeichnet Programmiersprachen der 3. Generation? - [x] Sie sind menschenlesbar und näher an natürlicher Sprache - [ ] Sie benötigen keine Übersetzung in Maschinencode - [x] Sie nutzen Compiler oder Interpreter zur Übersetzung - [ ] Sie bestehen nur aus Nullen und Einsen ### Warum entwickeln sich neue Programmiersprachen? - [x] Wegen neuer Anforderungen an Softwareentwicklung - [ ] Weil alte Sprachen nicht mehr funktionieren - [ ] Um Grafiken besser darzustellen - [ ] Für die Steuerung von Monitoren ### Welche Faktoren beeinflussen die Beliebtheit einer Programmiersprache? - [x] Community-Unterstützung - [x] Anwendungsbereiche - [x] Tools und Frameworks - [ ] Die Farbe des Logos