Programmiersprache

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Version vom 7. September 2009, 15:40 Uhr von Arilou (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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.

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;