Programmiersprache: Unterschied zwischen den Versionen

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Wechseln zu: Navigation, Suche
 
(~so dies und das~)
 
(10 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Eine Programmiersprache ist eine Sprache, in der ein Programm geschrieben wird (echt jetzt?). Es gibt sehr viele verschiede Programmiersprachen, z.B. [[C]], [[C++]], [[Delphi]], [[Visual Basic]] oder anderen geschrieben. [[HTML]] ist keine Programmiersprache, da sie weder Befehle enthält, noch irgend etwas ausgeführt wird. [[HTML]] ist eine Seitenbeschreibungssprache.
+
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 [[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. 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]] ==> [[Csharp|C#]] und [[Cplusplus|C++]],  
 +
* [[Pascal]] ==> [[Delphi]],  
 +
* ([[Hypertext Markup Language]])
 +
* [[Java]] - [[Javascript|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)
 +
<pre>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;</pre>
 +
[[Kategorie: Programmiersprache]]
 +
[[Kategorie: Software]]

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;