Diskussion:Anweisung (Programmierung)

Letzter Kommentar: vor 18 Jahren von Mkleine in Abschnitt Was ist eine Anweisung?

Zur Lösung dieses Artikels

Bearbeiten

Hallo, dieser Artikel wurde ohne meine Kenntnis zur Löschung vorgeschlagen und gelöscht. Die vorgetragenen Gründe lauten wie folgt:

  • Zusammenstellung aus Allgemeinplätzen und Halbwahrheiten. Die inhaltlichen Fehler sind insgesamt zu schwerwiegend, so dass entweder eine komplette Neuerstellung oder eben eine Löschung in Frage kommt. Benutzer:Blakeks
  • Begriffsverwirrung Benutzer:Staro1

Gerne würde ich konkret Stellung beziehen, wenn einer dieser beiden Benutzer erläutern würde, was konkret an der aktuellen Artikelfassung falsch, halbwahr oder verwirrt sein soll. Ich will natürlich keineswegs ausschließen, dass der Artikel Mängel enthält. Da mir aber bei Durchsicht keine konkreten Fehler auffallen, würde ich gerne etwas dazulernen. Mkleine 19:45, 18. Mai 2006 (CEST)Beantworten

Ich habe mal einige Links und Beispiele ergänzt. Am zentralen Artikeltext ist bislang jedoch nichts geändert, so dass ich auf eure konkreten Verbesserungsvorschläge gespannt bin. Mkleine 19:59, 18. Mai 2006 (CEST)Beantworten

Wiederholte Löschanträge

Bearbeiten

Hallo, Löschanträge für diesen Artikel zu wiederholen, ohne auf die Diskussion des Artikels einzugehen, ist weder zielführend noch höflich. Der Begriff Anweisung deckt jetzt inhaltlich ab, was zuvor Befehl abdeckte. Es handelt sich um einen zentralen Begriff der Informatik. Über die Formulierung wurde gestern u.a. mit datura und Benutzer:Jpetersen intensiv diskutiert. Es ist letztlich nicht so einfach, diesen Begriff präzise zu fassen, da Anweisungen in unterschiedlichen Sprachen eben sehr unterschiedlich spezifiziert sein können, aber letztlich ergab die Diskussion doch, dass die aktuelle Formulierung das Gemeinte recht gut wiedergibt. Dennoch ist natürlich jeder eingeladen, hier mitzudiskutieren. Mkleine 19:44, 19. Mai 2006 (CEST)Beantworten

Mutwillige Manipulation der Löschantragsdiskussion

Bearbeiten

Hallo, Benutzer:Snert setzt sich hier eigenmächtig über getroffene Absprachen hinweg. Der Löschantrag war, wie hier zu sehen ist, von den Beteiligten bereits als erledigt markiert worden. Statt inhaltliche Argumente setzt Snert nur einfach immer denselben LA ohne konkrete Begründung ein. Mkleine 20:05, 19. Mai 2006 (CEST)Beantworten

Na ja, beide Seiten haben ein bisschen Recht. Der Löschantrag war zuvor eventuell etwas voreilig als erledigt markiert worden. Leider kann ich den gelöschten Artikel ja nicht mehr anschauen und beurteilen, ob er die Löschung verdiente. Der jetzige ist natürlich behaltenswert. Aber um das Ganze mal etwas zu deeskalieren, sollten wir die sieben Tage abwarten. Ich bin sicher, das der Löschantrag letztendlich abgelehnt wird. Danach haben wir dann alle hoffentlich unsere Ruhe und können uns wieder produktiveren Dingen zuwenden. Also, keine Panik und Tee trinken. --jpp ?! 20:16, 19. Mai 2006 (CEST)Beantworten
Auch wenn ich befürchte, dass Benutzer wie Snert auf diese Weise immer wieder ihre kleinen 7-tägigen Triumpfe feiern und durch diese Art von Deeskalation ermutigt werden so weiter zu machen, bin ich so weit einverstanden. Nachvollziehen kann ich es nicht, zumal inhaltlich keine konkreten Probleme oder Verbesserungsvorschläge ausformuliert werden. Die Devise Löschen statt Verbessern scheint ihre Kreise zu ziehen. Mkleine 20:22, 19. Mai 2006 (CEST)Beantworten

Anweisungen und Ausdrücke

Bearbeiten

Hallo Jpetersen,

du hast meine Beschreibung der Beziehung zwischen Anweisungen und ausdrücken rückgängig gemacht. Leider schreibst du nur pauschal "verwirrend und teilweise falsch", ohne dies näher zu begründen. Ich werde daher hier meine Version wiederherstellen und dafür Gründe anführen.

Anweisungen können Werte liefern

Bearbeiten

Ein Beispiel aus tcl:

% set x 0
0
% echo $x
0
% if [set x 1] {echo ok}
ok
% echo $x
1

Das Beispiel zeigt, dass tcl-Anweisungen (wie z. B. Zuweisungen) einen Wert liefern. Sie können daher auch wie Ausdrücke verwendet werden. Ich bestehe daher bis auf den Nachweis des Gegenteils auf der Formulierung "haben Anweisungen nicht immer einen Wert".

Ausdrücke sind nicht immer Anweisungen

Bearbeiten

Einfaches Beispiel, z. B. Java:

int x = 1;
x == 1;  // "x == 1" ist ein Ausdruck, aber keine Anweisung, daher Compiler-Fehler
x + 1;   // dito

Ausdrücke können Anweisungen sein

Bearbeiten

Das sind die Ausdrucksanweisungen (expression statements), die du ja selbst in den Artikel eingebaut hast. So weit dürften wir inhaltlich übereinstimmen. Deine Formulierung finde ich jedoch umständlich und schlecht lesbar. Vielleicht können wir hier etwas Besseres finden? Mkleine 00:42, 20. Mai 2006 (CEST)Beantworten

Zur Formurlierung

Bearbeiten

Ich mach da mal lieber ein neues Kapitel auf... Also, das Problem ist wohl eher, dass der Satz unverständlich wird, wenn man die Ausnahmebedingung für Ausdrücke da mit einbaut. Wenn, dann sollte man das darunter, in einer gesonderten Erklärung stehen. · blane ( ♪♫♪ · ) 00:58, 20. Mai 2006 (CEST)Beantworten

Nun, einen eigenen Absatz zur Abgrenzung des Begriffs Anweisung gegen den Begriff des Ausdrucks hatte ich ja vor Jpetersens Änderung im Artikel stehen, siehe hier. Ich wäre ebenfalls für einen eigenen Abschnitt Abgrenzung. Mkleine 01:01, 20. Mai 2006 (CEST)Beantworten
Je nach Programmiersprache werden Ausdruecke/Anweisungen etwas unterschiedlich gehandhabt (in Python und C kann man beispielsweise alle Ausdrücke auch als Anweisungen verwenden). Zuweisungen sind sowohl in C als auch in Java Ausdrücke (in tcl auch, siehe Beispiel oben), die auch als expression statement verwendet werden koennen. In Python dagegen sind Zuweisungen keine Ausdrücke. Meine Formulierung war aber auch nicht so toll, wir finden sicher noch eine, die besser passt. --Jan Arne Petersen 01:06, 20. Mai 2006 (CEST)Beantworten

Ausdrucksanweisung

Bearbeiten

Mal so am Rande, wäre nicht auch ein Artikel Ausdrucksanweisung (engl. expression statement) sinnvoll? Mkleine 01:42, 20. Mai 2006 (CEST)Beantworten

Was ist eine Anweisung?

Bearbeiten

Ich bin gerade über den Artikel gestolpert und muß leider sagen, so wirklich weiß ich immer noch nicht was eine Anweisung ist. Die Definition hier wirkt so, als wäre eine Anweisung das gleiche wie ein Befehl, nur daß der eine Begriff in den Hochsprachen verwendet wird und der andere in Maschinensprachen. Da der Begriff ‚Befehl’ sehr wohl in Hochsprachen verwendet wird, kann dies aber kaum richtig sein. Ich hätte jetzt eine Vermutung was eine Anweisung ist, bin mir aber nicht sicher ob das stimmt:
Bei einer Anweisung handelt es sich um einen kompletten Arbeitsschritt, der sich aus einem Befehl und dessen Parametern zusammen setzt. Hinzu können noch eine Bedingung oder eine Wiederholvorschrift kommen. --Stefan2 11:52, 23. Mai 2006 (CEST)Beantworten

Hi, ich stimme da völlig mit dir überein und habe den Einleitungsabschnitt ersetzt. Was den Befehls-Begriff angeht: Dieser ist nach meiner Erfahrung in den meisten höheren Programmiersprachen unüblich - er wird eher bei maschinennahen Sprachen (Assembler) oder in Kommandosprachen (sh, csh usw.) verwendet.
Im Englischen entspricht der hier gemeinten Anweisung das statement. Dem Begriff Befehl entspricht eher instruction oder command.
Wie findest du die jetzige Version? Was ließe sich ggf. noch verbessern? Mkleine 12:08, 28. Mai 2006 (CEST)Beantworten