PlusPedia wird derzeit technisch modernisiert. Aktuell laufen Wartungsarbeiten. Für etwaige Unannehmlichkeiten bitten wir um Entschuldigung; es sind aber alle Artikel zugänglich und Sie können PlusPedia genauso nutzen wie immer.

Neue User bitte dringend diese Hinweise lesen:

Anmeldung - E-Mail-Adresse Neue Benutzer benötigen ab sofort eine gültige Email-Adresse. Wenn keine Email ankommt, meldet Euch bitte unter NewU25@PlusPedia.de.

Hinweis zur Passwortsicherheit:
Bitte nutzen Sie Ihr PlusPedia-Passwort nur bei PlusPedia.
Wenn Sie Ihr PlusPedia-Passwort andernorts nutzen, ändern Sie es bitte DORT bis unsere Modernisierung abgeschlossen ist.
Überall wo es sensibel, sollte man generell immer unterschiedliche Passworte verwenden! Das gilt hier und im gesamten Internet.
Aus Gründen der Sicherheit (PlusPedia hatte bis 24.07.2025 kein SSL | https://)

Bei PlusPedia sind Sie sicher: – Wir verarbeiten keine personenbezogenen Daten, erlauben umfassend anonyme Mitarbeit und erfüllen die Datenschutz-Grundverordnung (DSGVO) vollumfänglich. Es haftet der Vorsitzende des Trägervereins.

PlusPedia blüht wieder auf als freundliches deutsches Lexikon.
Wir haben auf die neue Version 1.43.3 aktualisiert.
Wir haben SSL aktiviert.
Hier geht es zu den aktuellen Aktuelle Ereignissen

Programmiersprache: Unterschied zwischen den Versionen

Aus PlusPedia
Zur Navigation springen Zur Suche springen
Whorf (Diskussion | Beiträge)
Kl. Erweiterung
Whorf (Diskussion | Beiträge)
Zeile 83: Zeile 83:


== Virtuelle Maschine ==
== Virtuelle Maschine ==
Eine virtuelle Maschine dient dazu, Programme aus Hochsprachen in einen einheitlichen Code einer virtuellen Maschine zu übersetzen. Dieser Code läuft dann mithilfe der virtuellen Maschine auf [[Prozessor]]en, für die es entsprechende Umsetzungen gibt.
Eine virtuelle Maschine dient dazu, Programme aus Hochsprachen in einen einheitlichen Code einer virtuellen Maschine zu übersetzen. Dieser Code läuft dann mithilfe der virtuellen Maschine auf [[Prozessor]]en (Hardware), für die es entsprechende Umsetzungen gibt.
 


== Links und Quellen ==
== Links und Quellen ==

Version vom 1. November 2016, 07:55 Uhr

Eine Programmiersprache ist ein Werkzeug, um Computerprogramme zu schreiben.

Unterscheidung nach Generationen

Erste Generation

  • Maschinensprache
    • Programmierung der Hardware durch Folge elementarer Befehle der Maschine Binärcode
    • Sehr anstrengend zu programmieren
    • sehr fehleranfällig
    • schlecht wartbar
    • Höhere Performance als Hochsprachen

Zweite Generation

  • Assemblersprache
    • Ein Assemblerbefehl ist ein compilierter Maschinenbefehl
    • Ebenfalls sehr fehleranfällig und schwer wartbar.
    • Höhere Performance als Hochsprachen

Höhere Programmiersprachen

  • Die geläufigen Sprachen
  • Hardware (Maschinen)-Unabhängigkeit
  • Für den Menschen verständlich
  • Codierarbeit soll die Maschine selbst machen
  • Niedrigere Performance als Maschinensprache und Assembler

Dafür sind

notwendig.

Die ersten höheren Programmiersprachen entstanden in den 1950er/1960er Jahren

Heute sind es vor allem grafikorientierte Sprachen


Unterscheidung nach Programmierparadigmen

Charakteristika von Programmiersprachen

  • Eindeutige Lexikalität
    • Festlegung von gültigen Zeichen
  • Eindeutige Syntax
  • Eindeutige Semantik
    • Der Computer macht genau das, was man ihm sagt
  • Pragmatik

Vorgehensweise beim Übersetzen von Programmen

  • Lexikalische Analyse
  • Syntaktsiche Analyse
  • Semantische Analyse
  • Code-Generierung

Bugs

Grace Muray Hopper erfand die Sprache COBOL. Ihr wird der Begriff Bug zugeschrieben.

Vor- und Nachteile von Compilern und Interpretern

  • "The difference between theory and practice is that in theory, there is no difference between theory and practice, but in practice there is"

Maximale Geschwindigkeit durch Optimierung des Codes, aber das übersetzte Programm läuft nur auf einer Maschine

Compiler übersetzt das Quellprogramm "als Ganzes"

  • Kann dann optimieren (Befehlsfolgen vertauschen, Paralletitäten nutzen, Vorausberechnung)
  • Binden
    • Vorübersetzte Servicefunktionen werden hinzugefügt. Symbolische Namen ersetzt (statische / dynamische DLLs)
  • Laufen lassen

Interpreter

  1. Lexikalische Analyse nur einer Anweisung im Programm
  2. Syntaktische Analyse
  3. Übersetzung der Hochsprache in Befehlsfolgen der Maschinensrpache oder einer Zwischensprache; dynamisch binden
  4. Ausführen
  • Geänderte Programme sind sofort ausführbar
  • Sehr hilfreich beim Testen
  • Schnelles Ändern
  • Sehr gut für Prototypen
  • Aber langsam

Virtuelle Maschine

Eine virtuelle Maschine dient dazu, Programme aus Hochsprachen in einen einheitlichen Code einer virtuellen Maschine zu übersetzen. Dieser Code läuft dann mithilfe der virtuellen Maschine auf Prozessoren (Hardware), für die es entsprechende Umsetzungen gibt.

Links und Quellen

Siehe auch