Programmiersprache: Unterschied zwischen den Versionen

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Wechseln zu: Navigation, Suche
K
(~so dies und das~)
 
Zeile 1: Zeile 1:
Bei dem EDV-Begriff '''Programmiersprache''' handelt es sich um eine künstliche Sprache, die der Kommunikation mit dem Computer dient. Hierbei nutzt man auch häufig den Begriff '''Quellcode'''.  
+
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 [[Programm]]s).
  
Die im Quellcode enthaltenen unterschiedlichen Algorithmen, Prozeduren, bzw. Befehle, stellen die Programmfunktion sicher. Der Quellcode muss meist vorher kompiliert (übersetzt, verarbeitet) werden, bevor das Programm ausgeführt werden kann.
+
Die im Quellcode enthaltenen unterschiedlichen [[Algorithmus|Algorithmen]], [[Prozedur]]en, bzw. [[Befehl]]e, 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. Daraus ergibt sich, dass im Quellcode eine Behandlung von Fehlerfällen nicht fehlen darf.
+
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 Befehls-/Schlüsselwörtern. Dadurch lässt sich der Wortschatz der Programmiersprache ggf. nach Belieben erweitern.  
+
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.  
 
Es existieren geschätzt weitaus mehr als 2000 Programmiersprachen und daraus sind abermals viele einzelne Dialekte entstanden.  
  
 
Da wären u.a.  
 
Da wären u.a.  
* [[BASIC]]
 
 
* [[C]] ==> [[Csharp|C#]] und [[Cplusplus|C++]],  
 
* [[C]] ==> [[Csharp|C#]] und [[Cplusplus|C++]],  
* [[Delphi]],  
+
* [[Pascal]] ==> [[Delphi]],  
 
* ([[Hypertext Markup Language]])
 
* ([[Hypertext Markup Language]])
 
* [[Java]] - [[Javascript|JavaScript]]
 
* [[Java]] - [[Javascript|JavaScript]]
Zeile 18: Zeile 18:
 
* [[PHP]]
 
* [[PHP]]
 
* [[SQL]]
 
* [[SQL]]
 +
* [[BASIC]]
 
* [[VBA]]
 
* [[VBA]]
 
* [[VBScript]]
 
* [[VBScript]]
Zeile 26: Zeile 27:
 
HTML ist '''keine''' Programmiersprache, da sie weder Befehle enthält, noch irgendetwas ausgeführt wird. HTML ist eine Seitenbeschreibungssprache.   
 
HTML ist '''keine''' Programmiersprache, da sie weder Befehle enthält, noch irgendetwas ausgeführt wird. HTML ist eine Seitenbeschreibungssprache.   
  
Man unterteilt die Programmiersprachen grob in zwei Gruppen;
+
Man unterteilt Programmiersprachen gemäß verschiedener Kriterien, z.B. nach Stärke ihrer Abstraktion:
 
* die Maschinensprache und  
 
* die Maschinensprache und  
 
* die höhere Programmiersprache.  
 
* die höhere Programmiersprache.  
Zeile 34: Zeile 35:
  
 
Ein Beispiel für Quicksort von http://www.delphipraxis.net/viewtopic.php?t=344
 
Ein Beispiel für Quicksort von http://www.delphipraxis.net/viewtopic.php?t=344
 
+
(Pascal-like)
 
<pre>Procedure QuickSortIterativ;
 
<pre>Procedure QuickSortIterativ;
 
var i, l, r : Integer;       
 
var i, l, r : Integer;       

Aktuelle Version vom 7. September 2009, 16:40 Uhr

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;