====== Stein von Rosetta für Programmiersprachen ======
Der "[[wpde>Stein_von_Rosetta]] für oft benutzte Programmiersprachen" soll einen kurzen Vergleich bieten, damit man beim umsteigen immer mal schnell nachgucken kann.
http://openwiki.com/ow.asp?VisualBasicCeePlusPlusRosettaStone#h5
FIXME (Objekte)
[in eckigen Klammern sind optionale Zusätze]
^ Struktur ^ Bash ^ C/C++ ^ PHP ^ VB(A) ^
^ Variablenverwendung (a ist der Variablenname) | $a | a | $a | a |
| Deklarieren | nicht nötig (aber möglich mit "''declare a''"), Datentyp wird bei der ersten Benutzung deklariert. |int a; | nicht nötig, Datentyp wird bei der ersten Benutzung deklariert | Dim a as integer |
| Initialisieren | a = 10 | init a = 10; | $a = 10; | a = 10 |
| globale | | | | |
| statische | | | | |
^ Arrays | $var[0]="erster Wert" | | $var[0]="erster Wert"; | |
^ Entscheidung (Alternative) | if Bedingung
then
Code
else
Code2
fi
((beliebige Verschachtelung mit if-then-elif-then-else-fi möglich.))| FIXME (C) | if (Bedingung)
{
Code
}
elseif (Bed.2)
{
Code2
else
{
Code3
}
| if [Not] Bedingung [And Bedingung] Then
Anweisung
Else
Anweisung
Endif
|
^ Fallauswahl (Selektion) | case $var in
ausdruck1)
Codeblock wenn var = ausdruck1
;;
*)
Codeblock allgemeiner Fall
;;
esac
| | | Select Case Variable
Case 1
Anweisung
Case 2
Anweisung
Case Else
Anweisung
|
^ Wiederholung (Repetition, Schleife) |||||
| zählergesteuert | | | | For i = 1 To 1000 [step +1]
Anweisung
[Exit For]
FIXME
Next i
|
^ für alle Elemente einer Liste (Array) | for i in a b c
do
echo i
done
| nicht in Sprache enthalten, C braucht Makros((http://stackoverflow.com/questions/400951/c-foreach-or-similar)) mit C++ gehts nit std::vector ((http://www.freak-und-informatiker.de/2007/12/15/foreach-und-c/)) | foreach ($array as $value) {
echo "Der aktuelle Wert ist: " . $value . "
";
}
| |
^ Bedingungsprüfung |||||
| voran- (Kopf) | until Befehl
((solange Exitstatus des Befehls **ungleich** 0))
do
Befehlsblock
done
**Alternativ**: while Befehl
((solange Exitstatus des Befehls **gleich** 0 ist.))do
Befehlsblock
done
| | | |
| nachfolgend (Fußgesteuert) | | | | |
^ Kommentare |||||
| einzeilige | # Kommentar | // | // | ' |
| mehrzeilige | (gibts nicht) | /* Kommentar */ | /* Kommentar */ | (gibts nicht) |
Wohin?
for each Element in A
Next
^ Abkürzungen ^ Bedeutung ^
| Bed. | Bedingung(en) |
| Anw. | Anweisung(en) |
^ Datentypen / Wertebereich ^ C/C++ ^ PHP ^ VB(A) ^
| int | | | |
| long int | | | |
| float | | | |
| double | | | |
| string | | | |
| boolean | | | |
FIXME
^ Funktionsname zur Überprüfung des Datentyps ^ C/C++ ^ PHP ^ VB(A) ^
FIXME