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
Pfitzi (Diskussion | Beiträge) |
KKeine Bearbeitungszusammenfassung |
||
(44 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Eine '''Programmiersprache''' ist | Eine '''Programmiersprache''' ist eine [[formale Sprache]], in der [[Computerprogramm]]e geschrieben werden. Das Erstellen und Ändern solcher Programme wird als [[Programmierung]] bezeichnet. Programmiersprachen werden nach verschiedenen Kategorien und Anwendungsbereichen unterschieden: | ||
== | == Maschinenorientierte Sprache == | ||
Die Programmierung der [[Hardware]] erfolgt durch eine Folge elementarer Befehle für die Maschine, die sogenannte [[Maschinensprache]] (als [[Binärcode]] oder im [[Hexadezimalsystem]]). Nachteil dieses Verfahrens ist, dass die Befehle schwer verständlich und das Programm daher schlecht zu warten ist. Die Fehlersuche ist sehr aufwändig. Als Hilfe dient meist ein [[Assembler]]. Zur Erleichterung wurden zunächst [[Assemblersprache]]n und später [[höhere Programmiersprache]]n entwickelt. | |||
== | == Benutzerorientierte Sprache == | ||
Höhere Programmiersprachen sind weitgehend von der Hardware unabhängig und für den Menschen besser verständlich. Die Übersetzung erfolgt mit Hilfe eines [[Compiler]]s in die [[Maschinensprache]]. | |||
Die ersten höheren Programmiersprachen entstanden in den 1950er/1960er Jahren. Dazu gehören | |||
* | * [[BASIC]], oft als Einstiegs-Sprache genutzt | ||
* | * [[COBOL]] für kaufmännische und [[betriebswirtschaft]]liche Anwendungen | ||
* | * [[Fortran]] für [[wissenschaft]]liche und technische Anwendungen | ||
* | * [[PL/1]] hat die Möglichkeiten von Fortran und COBOL vereint | ||
Später kamen weitere Sprachen dazu wie | |||
* [[ | * [[C (Programmiersprache)|C]] und C+ | ||
* | * [[Pascal (Programmiersprache)|Pascal]] wurde ähnlich wie Basic ursprünglich zum Lernen entwickelt | ||
== Prinzipien von Programmiersprachen == | |||
* [[ | Der Computer macht nur genau das, was man ihm sagt. Dieser oft zitierte Satz führt dazu, dass Programmiersprache bestimmte Prinzpien haben: | ||
* [[ | * Eindeutige [[Lexikalität]] | ||
* [[ | * Eindeutige [[Syntax]] | ||
* Eindeutige [[Semantik]] | |||
Die Lexikalität bedeutet, dass es einen festgelegten Vorrat an Befehlen gibt. Aus dem Regelwerk folgt zum Beispiel ein bestimmtes Format für Kommentare und Daten. Über sogenannte Bibliotheken könne Erweiterungen vorgenommen werden, die auch in einer anderen Programmiersprache erstellt sein können. Die Syntax ist sehr starr im Vergleich zur menschlichen Sprache. Die Semantik bestimmt, das es immer nur eine Bedeutung für bestimmte Zeichenfolgen gibt. Allerdings ist zu beachten, dass Daten und Programme voneinander getrennt werden müssen, wobei der Datenbereich innerhalb des Programms definiert wird. Da sich die Daten ändern, werden innerhalb des Programms in der Regel keine Daten mitgeliefert, sondern diese werden erst zur Laufzeit eingebunden. | |||
=== | == Fehler und Bugs == | ||
[[Grace Muray Hopper]] erfand die Sprache COBOL. Ihr wird der Begriff [[Bug (Informatik)|Bug]] für versteckte Fehler in den Programmen zugeschrieben. Diese entstehen hauptsächlich bei komplexen Programmen. Die Suche nach solchen Fehlern ist oft sehr aufwändig, da diese meist nur unter bestimmten Bedingungen auftreten und manchmal erst durch einen Benutzer oder nach längerem Einsatz des Programms entdeckt werden. Daher werden in der Regel vor dem Einsatz eines Programms mehrere Testläufe durchgeführt. | |||
== Compiler und Interpreter == | |||
Der [[Compiler]] übersetzt das Quellprogramm (englisch ''source code'') als Ganzes in die Maschinensprache. Jede Programmiersprache hat ihren eigenen Compiler. | |||
Beim ''Binden'' werden vorübersetzte Servicefunktionen und Module hinzugefügt, symbolische Namen ersetzt (z.B. statische / dynamische DLLs) oder auch mehrere Pakete von Programmen aus verschiedenen Programmiersprachen zusammengesetzt. | |||
Der Vorteil eines Compilers ist die maximale Geschwindigkeit beim Ausführen des fertigen Programms. Allerdings läuft das übersetzte Programm nur auf bestimmten Maschinen (Hardware) und oft auch nur unter einem [[Betriebssystem]]. | |||
Ein Nachteil des Compilers ist, dass meist noch anschließend ein Test mit den tatsächlichen Daten erfolgen muss, was einen zusätzlichen Zeitaufwand bedeutet. Die Laufzeit kann - insbesondere bei größeren Datenmengen - oft erst bei diesem Test festgestellt werden. | |||
Beim [[Interpreter]] erfolgt die Übersetzung der Hochsprache in Befehlsfolgen der Maschinensprache oder in eine Zwischensprache bereits zur Laufzeit. Dafür wurden sogenannte [[Skriptsprache]]n entwickelt. Diese haben den Vorteil, dass geänderte Programme sofort ausführbar sind. Dies ist sehr hilfreich beim Testen. Schnelle Änderungen sind möglich und das Verfahren ist sehr gut für [[Prototyp]]en geeignet, stellt allerdings gegenüber einem Compiler höhere Anforderung an die Leistung des Computers. Ein großer Nachteil kann die wesentlich längere Ausführungszeit der einzelnen Tests sein. | |||
Das Ergebnis kann optimiert werden, indem häufige Befehlsfolgen als [[Modul]] eingebunden, Parallelitäten genutzt und Vorausberechnungen für die Laufzeit erstellt werden. | |||
== Siehe auch == | |||
* [[Algorithmus]] | * [[Algorithmus]] | ||
{{PPA-Silber}} | |||
- | |||
[[Kategorie:Software]] | |||
[[Kategorie:Programmiersprache| ]] | [[Kategorie:Programmiersprache| ]] | ||
Aktuelle Version vom 22. Juni 2025, 19:01 Uhr
Eine Programmiersprache ist eine formale Sprache, in der Computerprogramme geschrieben werden. Das Erstellen und Ändern solcher Programme wird als Programmierung bezeichnet. Programmiersprachen werden nach verschiedenen Kategorien und Anwendungsbereichen unterschieden:
Maschinenorientierte Sprache
Die Programmierung der Hardware erfolgt durch eine Folge elementarer Befehle für die Maschine, die sogenannte Maschinensprache (als Binärcode oder im Hexadezimalsystem). Nachteil dieses Verfahrens ist, dass die Befehle schwer verständlich und das Programm daher schlecht zu warten ist. Die Fehlersuche ist sehr aufwändig. Als Hilfe dient meist ein Assembler. Zur Erleichterung wurden zunächst Assemblersprachen und später höhere Programmiersprachen entwickelt.
Benutzerorientierte Sprache
Höhere Programmiersprachen sind weitgehend von der Hardware unabhängig und für den Menschen besser verständlich. Die Übersetzung erfolgt mit Hilfe eines Compilers in die Maschinensprache.
Die ersten höheren Programmiersprachen entstanden in den 1950er/1960er Jahren. Dazu gehören
- BASIC, oft als Einstiegs-Sprache genutzt
- COBOL für kaufmännische und betriebswirtschaftliche Anwendungen
- Fortran für wissenschaftliche und technische Anwendungen
- PL/1 hat die Möglichkeiten von Fortran und COBOL vereint
Später kamen weitere Sprachen dazu wie
Prinzipien von Programmiersprachen
Der Computer macht nur genau das, was man ihm sagt. Dieser oft zitierte Satz führt dazu, dass Programmiersprache bestimmte Prinzpien haben:
- Eindeutige Lexikalität
- Eindeutige Syntax
- Eindeutige Semantik
Die Lexikalität bedeutet, dass es einen festgelegten Vorrat an Befehlen gibt. Aus dem Regelwerk folgt zum Beispiel ein bestimmtes Format für Kommentare und Daten. Über sogenannte Bibliotheken könne Erweiterungen vorgenommen werden, die auch in einer anderen Programmiersprache erstellt sein können. Die Syntax ist sehr starr im Vergleich zur menschlichen Sprache. Die Semantik bestimmt, das es immer nur eine Bedeutung für bestimmte Zeichenfolgen gibt. Allerdings ist zu beachten, dass Daten und Programme voneinander getrennt werden müssen, wobei der Datenbereich innerhalb des Programms definiert wird. Da sich die Daten ändern, werden innerhalb des Programms in der Regel keine Daten mitgeliefert, sondern diese werden erst zur Laufzeit eingebunden.
Fehler und Bugs
Grace Muray Hopper erfand die Sprache COBOL. Ihr wird der Begriff Bug für versteckte Fehler in den Programmen zugeschrieben. Diese entstehen hauptsächlich bei komplexen Programmen. Die Suche nach solchen Fehlern ist oft sehr aufwändig, da diese meist nur unter bestimmten Bedingungen auftreten und manchmal erst durch einen Benutzer oder nach längerem Einsatz des Programms entdeckt werden. Daher werden in der Regel vor dem Einsatz eines Programms mehrere Testläufe durchgeführt.
Compiler und Interpreter
Der Compiler übersetzt das Quellprogramm (englisch source code) als Ganzes in die Maschinensprache. Jede Programmiersprache hat ihren eigenen Compiler. Beim Binden werden vorübersetzte Servicefunktionen und Module hinzugefügt, symbolische Namen ersetzt (z.B. statische / dynamische DLLs) oder auch mehrere Pakete von Programmen aus verschiedenen Programmiersprachen zusammengesetzt. Der Vorteil eines Compilers ist die maximale Geschwindigkeit beim Ausführen des fertigen Programms. Allerdings läuft das übersetzte Programm nur auf bestimmten Maschinen (Hardware) und oft auch nur unter einem Betriebssystem.
Ein Nachteil des Compilers ist, dass meist noch anschließend ein Test mit den tatsächlichen Daten erfolgen muss, was einen zusätzlichen Zeitaufwand bedeutet. Die Laufzeit kann - insbesondere bei größeren Datenmengen - oft erst bei diesem Test festgestellt werden.
Beim Interpreter erfolgt die Übersetzung der Hochsprache in Befehlsfolgen der Maschinensprache oder in eine Zwischensprache bereits zur Laufzeit. Dafür wurden sogenannte Skriptsprachen entwickelt. Diese haben den Vorteil, dass geänderte Programme sofort ausführbar sind. Dies ist sehr hilfreich beim Testen. Schnelle Änderungen sind möglich und das Verfahren ist sehr gut für Prototypen geeignet, stellt allerdings gegenüber einem Compiler höhere Anforderung an die Leistung des Computers. Ein großer Nachteil kann die wesentlich längere Ausführungszeit der einzelnen Tests sein.
Das Ergebnis kann optimiert werden, indem häufige Befehlsfolgen als Modul eingebunden, Parallelitäten genutzt und Vorausberechnungen für die Laufzeit erstellt werden.
Siehe auch
Vergleich zu Wikipedia