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)
Fmrauch (Diskussion | Beiträge)
teilweise falsch, deutsche Erklärung wäre hier sinnvoll
Zeile 1: Zeile 1:
Eine '''Programmiersprache''' ist ein Werkzeug, um [[Computerprogramm|Computerprogramme]] zu schreiben.
Eine '''Programmiersprache''' ist die Sprache, in der [[Computerprogramm]]e geschrieben werden. Programmiersprachen werden nach verschiedenen Kategorien und Anwendungsbereichen unterschieden


== Unterscheidung nach Generationen ==
== Hardware orientierte Sprachen ==
=== Erste Generation ===
=== Maschinensprache ===
* [[Maschinensprache]]
** Programmierung der [[Hardware]] durch Folge elementarer Befehle der Maschine ([[Binärcode]])
** Programmierung der [[Hardware]] durch Folge elementarer Befehle der Maschine ([[Binärcode]])
** schwer verständlich
** Sehr anstrengend zu programmieren
** sehr fehleranfällig
** schlecht wartbar
** schlecht wartbar
** Höhere Performance als Hochsprachen
** Hohe Performance


=== Zweite Generation ===
=== Zweite Generation ===
* [[Assemblersprache]]
* [[Assembler]]
** Ein Assemblerbefehl ist ein [[Compiler|compilierter]] Maschinenbefehl
** an der Hardware orientiert
** Ebenfalls sehr fehleranfällig und schwer wartbar.
** sehr aufwändig zu programmieren
** Höhere Performance als Hochsprachen
** Höhere Performance als Hochsprachen


==Höhere Programmiersprachen ===
== Höhere Programmiersprachen ==
* Die geläufigen Sprachen  
Höhere Programmiersprachen sind die geläufigen Sprachen. Sie sind weitgehend von der Hardware unabhängig. Für den Menschen verständlich. Die Übersetzung erfolgt mit Hilfe eines [[Compiler]]s in die Maschinensprache oder auch zunächst in Assembler.
* 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
* [[Interpreter]]
* und/oder [[Compiler]]
notwendig.


Die ersten höheren Programmiersprachen entstanden in den 1950er/1960er Jahren
Die ersten höheren Programmiersprachen entstanden in den 1950er/1960er Jahren. Dazu gehören
* [[Fortran]] für technische Anwendungen
* [[Fortran]] für wissenschaftliche und technische Anwendungen
* [[COBOL]] für ökonomische Anwendungen
* [[COBOL]] für kaufmännische und [[betriebwirtschaft]]liche Anwendungen
* [[PL/1]] sollte die Möglichkeiten von Fortran und COBOL vereinen
* [[LISP]]
* [[LISP]]
* [[Basic]]
* [[Basic]]


Heute sind es vor allem [[GUI|grafikorientierte]] Sprachen
Später kamen [[objektorientiert]]e und [[GUI|grafikorientierte]] Sprachen dazu wie
* [[Visual Basic]]
* [[Visual Basic]]
* [[Visual C]]   
* [[Visual C]]   
Zeile 60: Zeile 50:


== Vor- und Nachteile von Compilern und Interpretern ==
== 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
Maximale Geschwindigkeit durch Optimierung des Codes, aber das übersetzte Programm läuft nur auf einer Maschine
Zeile 82: Zeile 71:
* Aber langsam
* 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 virtuellen [[Prozessor]]en, für die es entsprechende Umsetzungen gibt.
== Links und Quellen ==
=== Siehe auch ===
=== Siehe auch ===
* [[Algorithmus]]
* [[Algorithmus]]


----
 
{{PPA-Silber}}


[[Kategorie:Informatik]]
[[Kategorie:Informatik]]
[[Kategorie:Software]]
[[Kategorie:Software]]
[[Kategorie:Programmiersprache| ]]
[[Kategorie:Programmiersprache| ]]
[[Kategorie:Compilerbau]]

Version vom 21. April 2017, 21:26 Uhr

Eine Programmiersprache ist die Sprache, in der Computerprogramme geschrieben werden. Programmiersprachen werden nach verschiedenen Kategorien und Anwendungsbereichen unterschieden

Hardware orientierte Sprachen

Maschinensprache

    • Programmierung der Hardware durch Folge elementarer Befehle der Maschine (Binärcode)
    • schwer verständlich
    • schlecht wartbar
    • Hohe Performance

Zweite Generation

  • Assembler
    • an der Hardware orientiert
    • sehr aufwändig zu programmieren
    • Höhere Performance als Hochsprachen

Höhere Programmiersprachen

Höhere Programmiersprachen sind die geläufigen Sprachen. Sie sind weitgehend von der Hardware unabhängig. Für den Menschen verständlich. Die Übersetzung erfolgt mit Hilfe eines Compilers in die Maschinensprache oder auch zunächst in Assembler.

Die ersten höheren Programmiersprachen entstanden in den 1950er/1960er Jahren. Dazu gehören

Später kamen objektorientierte und grafikorientierte Sprachen dazu wie


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

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

Siehe auch


Vergleich zu Wikipedia