Programmiersprache
Bei dem EDV-Begriff Programmiersprache handelt es sich um eine künstliche Sprache, die der Kommunikation mit dem Computer dient. Ein "Gespräch" (i.A. eine Arbeitsanweisung ;-) ) nennt man den Quellcode (eines Programms).
Die im Quellcode enthaltenen unterschiedlichen Algorithmen, Prozeduren, bzw. Befehle, beschreiben die Programmfunktion. Der Quellcode muss meist kompiliert (übersetzt, verarbeitet) werden in Maschinencode (die "Muttersprache" eines Computers), bevor das Programm ausgeführt werden kann.
Gegenüber der natürlichen Sprache ist die Syntax einer Programmiersprache wesentlich restriktiver (einengender, einschränkender) gehalten und erlaubt im Allgemeinen keine Abweichungen. Dies dient v.a. einer höheren Präzision, damit der Computer jede Anweisung genau versteht und auf genau eine Art umsetzt. Mehrdeutige Aussagen müssen hierzu natürlich vermieden werden! Aufgrund der i.A. sehr knappen Aufgabenbeschreibung ergibt sich, dass im Quellcode eine Behandlung von Fehlerfällen nicht fehlen darf.
Die meisten Programmiersprachen erlauben die Definition von neuen Begriffen (i.A. als Prozedur oder Funktion), die ähnlich einem Befehls-/Schlüsselwort verwendet werden können. Dadurch lässt sich der Wortschatz der Programmiersprache ggf. nach Belieben erweitern.
Es existieren geschätzt weitaus mehr als 2000 Programmiersprachen und daraus sind abermals viele einzelne Dialekte entstanden.
Da wären u.a.
- C ==> C# und C++,
- Pascal ==> Delphi,
- (Hypertext Markup Language)
- Java - JavaScript
- Logo-Programmiersprache
- PHP
- SQL
- BASIC
- VBA
- VBScript
- Visual Basic
zu nennen.
HTML ist keine Programmiersprache, da sie weder Befehle enthält, noch irgendetwas ausgeführt wird. HTML ist eine Seitenbeschreibungssprache.
Man unterteilt Programmiersprachen gemäß verschiedener Kriterien, z.B. nach Stärke ihrer Abstraktion:
- die Maschinensprache und
- die höhere Programmiersprache.
Die höheren Programmiersprachen lassen sich wiederum nach ihrem Anwendungsgebiet einteilen. Dazu gehören mathematische, kaufmännische, Lehrsprachen, Supersprachen, assemblernahe Sprachen, Makrosprachen, Datenbanksprachen, Simulationen, Mehrzweck-Programmiersprachen sowie Sprachen der künstlichen Intelligenz.
Ein Beispiel für Quicksort von http://www.delphipraxis.net/viewtopic.php?t=344
(Pascal-like)
Procedure QuickSortIterativ; var i, l, r : Integer; Begin l:= 1; r:= N; Stack.Push( l ); Stack.Push( r ); Repeat If (r > l) Then Begin i:= Partition( l, r ); If (i-l) > (r-i) Then Begin Stack.Push( l ); Stack.Push( i-1 ); l:= i+1; End Else Begin Stack.Push( i+1 ); Stack.Push( r ); r:= i-1; End; End Else Begin r:= Stack.Pop; l:= Stack.Pop; End; Until StackisEmpty; End;