Programmiersprache: Unterschied zwischen den Versionen
K |
Arilou (Diskussion | Beiträge) (~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. | + | 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, | + | 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. | + | 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-/ | + | 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. | ||
− | |||
* [[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 | + | 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.
- 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;