9

Welchen Oberbegriff könnte man if, goto, while, for etc. aus Programmiersprachen geben? Also was sind diese »Wörter« eigentlich?

Befehle? Schlagwörter?

Ich brauche es für folgenden Satz:

Die Unix-Kommandos goto und if sind mit den ??? der Programmiersprache C vergleichbar.

1
  • 3
    Sicher ist die Definition eines „Unix-Kommandos“ nicht ganz klar, aber man sollte bemerken, dass Kontrollstrukturen Sache der Shell sind, und kurzes Googeln sagt mir, dass csh ein goto hat, sh aber nicht.
    – Carsten S
    Jan 11 '15 at 14:02
11

Es handelt sich dabei um Kontrollstrukturen (control structures), welche eine spezielle Untergruppe von Anweisungen (statements) darstellen.

Übrigens: Befehl (command) und Instruktion (instruction) sind nur Synonyme für Anweisungen (manchmal wird damit jedoch auch Bezug auf Maschinenbefehle genommen).

Bleiben wir penibel genau, gibt es auch keine UNIX-Kommandos, sondern nur UNIX-Anweisungen. Die zwei genannten (goto und if) sind jedoch zugleich selbst Kontrollstrukturen. Sie sind in ihrem Verhalten nicht nur vergleichbar mit den Kontrollstrukturen von C, nein, aus reiner Benutzersicht sind sie äquivalent. Natürlich ist die Implementierung unterschiedlich, auch die Funktionsweise mag anders sein, aber die Intention in dem, was sie machen sollen, ist identisch.

Referenzen

0
4

Schlüsselwörter oder reservierte Wörter.

6
  • Jedes Wort wird zum Schlüsselwort oder zum reservierten Wort in dem Moment wo es verwendet wurde. Deshalb wurden auch namespaces erfunden, weil das immer ein Problem darstellt in der Programmierung. In diesem Zusammenhang wären also beide Oberbegriffe noch schwammiger wie Befehl oder Anweisung. Jan 11 '15 at 11:50
  • Das ist nicht richtig. C oder Java beispielsweise definieren Schlüsselwörter wie struct oder class, da machst Du auch mit Namespaces nix dran.
    – Robert
    Jan 11 '15 at 21:12
  • Weil sie zuvor definiert wurden, diese Wörter sind nicht einfach magisch vergeben. Ob die Wörter in einem Namespace verwendet werden dürfen oder nicht hängt von der jeweiligen Programmsprache und ihrer Einschränkungen durch Parser, Lexer, Compiler, etc. ab. Aber ja, es gibt Programmiersprachen mit reservierten (Schlüssel)Wörtern die in keinem anderen Kontext vorkommen dürfen (z. B. PHP: List of Keywords). Jan 11 '15 at 22:28
  • @Fleshgrinder WP gibt recht: "Der Begriff Schlüsselwort [..] oder reserviertes Wort bezeichnet in einer Programmiersprache ein Wort, dass [..] nicht als Name von Variablen oder Funktionen verwendet werden darf." Es wir hier also explizit von Variablen unterschieden. Die Definition der Schlüsselworte erfolgt in der Definition der Sprache selbst und ist damit aus Sicht des Programm-Codes durchaus magisch
    – Harald
    Jan 12 '15 at 10:54
  • Die Definition der Schlüsselworte erfolgt jedoch oft auch in der Programmiersprache selbst, deshalb sage ich, dass es nicht magisch ist. Ich sage ja nicht, dass if kein Schlüsselwort ist und/oder kein reserviertes Wort ist (ist es), jedoch, dass der Oberbegriff zu schwammig ist weil noch viele weitere Wörter reserviert sind (z. B. class) und deshalb Kontrollstrukturen für die vom OP genannten Anweisungen (die zugleich Schlüsselwörter sind) treffender sind. Das mit den Namensräumen stimmt vlt. nicht für if, jedoch z. B. für die Klasse String. ;) Jan 12 '15 at 11:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.