====== 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