Diskussion:Gruppenwechsel

Letzter Kommentar: vor 5 Jahren von Cactus26 in Abschnitt Beispiel

Überschneidung mit 'normierte Programmierung'

Bearbeiten

In diesem (neuen) Lemma wird dasselbe beschrieben, das schon in normierte Programmierung ausführlich behandelt ist. Die darin verwendete Grafik finde ich grundsätzlich gut. Die textuelle Beschreibung der Logik (z.B. 'Abbruchbedingung ...') könnte für manchen Leser eher unverständlich wirken; die Grafik allein ist übersichtlicher. Außerdem behandelt der Artikel nur den Spezialfall '1 Eingabedatei'.

Dass die beiden Begriffe als Lemma auftauchen, ist sicher gut. Die Verarbeitungsbeschreibung aber ist möglicherweise schädliche Redundanz.--VÖRBY 12:34, 17. Okt. 2011 (CEST)Beantworten

Danke für Deine Beiträge. Entschuldige, dass ich gerade kurz angebunden bin, habe gerade wenig Zeit, lass uns das heute Abend in Ruhe diskutieren. Ok? Viele Grüße --Cactus26 13:14, 17. Okt. 2011 (CEST)Beantworten
Passt schon! Trotzdem sind 'Wechsel' und 'Kontrolle' rein begrifflich unterschiedliche Dinge. Die Kontrolle ist eine 'Funktion', der Wechsel ein 'Ereignis', das darin festgestellt wird. Das sollte man (in einer Enzyklopädie) nicht quasi als Synonyme hinstellen - auch wenn das in der Umgangssprache vielleicht so praktiziert wird. GrpWe ist insofern auch keine 'Problemstellung', sondern ein Faktum; Probleme kann es höchstens in der funktionalen Umsetzung (also in der 'Gruppenkontrolle' oder der GrpWe-Steuerung) geben - wenn man unsystematisch programmiert. Zur Redundanz - siehe oben. Grüße von --VÖRBY 14:01, 17. Okt. 2011 (CEST), ergänzt: --VÖRBY 17:31, 17. Okt. 2011 (CEST)Beantworten
Vorschlag: Die beiden Artikel werden auf das reduziert, was sie beschreiben:
  • Normierte Programmierung: Beschreibt die Pgm-Steuerung im Gesamten. Gruppenwechsel dort nur grob beschreiben, Details löschen und dafür auf Gruppenwechsel verweisen.
  • Gruppenwechsel: Auf das Thema Gruppenwechsel reduzieren, d.h.: Angaben zur allg. Pgm-Steuerung löschen oder sehr kürzen; GrpWe im Detail beschreiben, ggf. auch aus NP entfernte Details. Z.B. könnte man hier unterschiedliche Varianten der GrpWe-Logik aufzählen (Vergleich über stufenweise verkürzten Gesamtbegriff vs. Vgl nur Grp-Elemente; Vergleich von oben nach unten, bzw. umgekehrt; Aufruf Untergruppen aus Obergruppen. Auch Hinweis auf das zeitliche Auseinanderfallen von Vorlauf und Nachlauf je Stufe (deshalb getrennte Prozeduren, nicht nur 'Wechsel StufeA'). Usw.
Ich denke, das wäre eine gute Lösung: --VÖRBY 17:20, 17. Okt. 2011 (CEST)Beantworten

Danke erstmal für Dein Interesse und Deine Ergänzungen und entschuldige bitte kaum erläuterte Aktion heute Mittag.

Ich glaube, dass die Verwendung des Begriffs "Gruppenwechsel" für das Verfahren mehr als nur Umgangssprache ist. Mir ist fast ausschließlich "Gruppenwechsel" in diesem Zusammenhang begegnet (manchmal in Verbindung mit verschiedenen Suffixen wie "-logik" oder "-verarbeitung", fast nie "Gruppenkontrolle"). Dieser Eindruck spiegelt sich auch in der Häufigkeit der Google-Treffer wider (5400 vs. 447, um den passenden Kontext sicherzustellen in Verbindung mit "Programmierung"). Ein anderes Indiz ist die Gebräuchlichkeit des Ausdrucks "Mehrstufiger Gruppenwechsel". Dies impliziert, dass man mit Gruppenwechsel mit dem Verfahren assoziiert ("Mehrstufige Gruppenkontrolle" scheint dagegen kaum verbreitet, obwohl es - zugegebenermaßen - der eigentlich sinnvollere Begriff wäre.

Ich bin am überlegen, wie man diesen Artikel verständlicher machen kann. Vielleicht würde ein konkretes Code-Beispiel helfen, vielleicht auch, wenn das Struktogramm ein konkretes Beispiel wäre (dann könnte man die vielen "z.B." im Text reduzieren). Ich werde mal versuchen, repräsentative Testleser zu gewinnen, um die Verständlichkeit zu prüfen. Hättest Du noch weitere Vorschläge?

Eins fällt mir noch ein: Ich hatte bewusst auf eine Konkretisierung bei "Aktualisierung von Summenvariablen" im Verarbeitungsteil verzichtet (also auf den Hinweis "nächst höhere Gruppenstufe"). Man kann auch die Summen aller Stufen hier aktualisieren, das mag zwar ineffektiver sein, aber es ist einfacher und erst einmal ausreichend.

So ganz klar ist mir nicht, was Du mit "zur allg. Pgm-Steuerung löschen" meinst. Meiner Meinung nach kann hier nichts entfernt werden, ohne dass der Zusammenhang verloren geht. Die Art wie verglichen wird (ich weiß allerdings nicht, ob ich Dich hier im Moment richtig verstehe), halte ich wiederum für etwas nebensächlich, ich denke, dass man sich da so festgelget hat bei der normierten Programmierung bezieht sich auf die damals üblichen Programmiersprachen wie COBOL oder PL/1. Mir scheint sowieso, dass der Artikel "Normierte Programmierung" sich etwas mehr am damaligen Stil orientiert, als ich es im Hinblick auf aktuelle Sprachen wie Java in diesem Artikel machen würde, ich würde manches deshalb weniger konkret machen. Das alles sind aber nur spontane Gedanken, soll heißen, ich lass mich auch von anderen Standpunkten überzeugen. Leider habe ich auch jetzt gerade etwas weniger Zeit als ich dachte und kann mich nicht konkreter mit Deinem obigen Vorschlag auseinandersetzen, hole das aber nach.--Cactus26 18:21, 17. Okt. 2011 (CEST)Beantworten


Hallo Cactus26, glücklicherweise bin zeitlich nicht so angespannt wie du, bin im Vorruhestand. Danke für dein Engagement. Wir haben also wieder mal eine typische Wikipedia-Situation: Zwei Meinungen.
Meine Grundposition ist: Wenn es zwei Lemmas gibt, dann dürfen sich diese möglichst wenig überschneiden und jedes muss konkret das beschreiben, wofür es steht. Siehe oben.

Dass 'Gruppenwechsel' umgangssprachlich verkürzt für die Funktion verwendet wird, also zumindest gedanklich mit 'feststellen, verarbeiten, Logik' etc. (also einem Verb) zu ergänzen wäre, ist zunächst nicht meine Erfahrung und sollte auch nicht dazu führen, in der Definition dieses Lemmas (Einleitungssatz - was ist xxxxx?) dies sprachlich falsch zu erklären. Wenn man GW nur als Synonym für die Funktion sähe, dann würde ein Begriff (siehe dort) für 'Gruppenwechsel' (i.S. Tatsache, im Gegensatz zu 'kein Gruppenwechsel') fehlen. Also: Ich wäre dafür, beides zu erklären - und auch, dass hier (wie in Vielem) unterschiedliche Begriffe im Umlauf sind.

Ein mehrstufiger GW ist eben aus mehreren Stufen bestehend. Die Gruppenkontrolle dagegen ist das Verfahren zur Feststellung und Verarbeitung aller GW. 'Mehrstufige Gruppenkontrolle' wäre tatsächlich ungewöhnlich, weil dieser Codeteil erst Sinn macht, indem er alle Stufen (in der richtigen Folge) abarbeitet. Deshalb sind GW und GK auch kein Synonym.

Ich als zuletzt intensiv in N.P. aktualisierender WP-Autor kann gerne einen Vorschlag machen, was ich aus dem dortigen Artikel - zu Gunsten des Detailartikels GW - kürzen würde.

Dann sollte aber 'Dein' Artikel i.W. auch nur den Gruppenwechsel beschreiben - und nicht die gesamte Programmsteuerung. Man kann ja einen WP-Verweis auf den Hauptartikel anbringen. Denn wir können ja schließlich nicht die gesamte Steuerung mit 'GW' bezeichnen, sondern GW ist nun mal nur ein Teilbereich in der Steuerung. So können wir dann auch Details wie das zitierte "Aktualisierung von Summenvariablen" dort belassen - schließlich passt das ja genau ins Thema, wie auch meine o.g. anderen Beispiele.

Die unterschiedlichen Code-'Varianten zur Feststellung von GW'n werden auch von NP-Generatoren unterschiedlich angeboten. Ich denke, du weißt (aus deiner Praxis!?) was damit gemeint ist. Ob es sehr wichtig ist weiß ich nicht, jedenfalls könnte der Detailartikel GW sowas darstellen.

Die NP ist natürlich i.Z. mit klassischen Sprachen entstanden, ich denke aber, dass das Grundprinzip technologieneutral (also auch sprachenneutral) ist - was so auch schon immer unter 'NP' definiert wurde. Jedenfalls dürfen wir keine zwei Artikel haben, die dasselbe beschreiben.

Grüße von --VÖRBY 19:54, 17. Okt. 2011 (CEST)Beantworten

Neue Textvorschläge (Entwürfe)

Bearbeiten

Nachfolgend sind Textentwürfe eingestellt, die zunächst diskutiert werden sollten und ggf. final im Artikel eingestellt werden. Besonders die unteren Teilkapitel beschreiben Aspekte der GrW-Verarbeitung sehr detailliert. Zum Teil könnte man sie auch in einem Lemma 'Gruppenbegriff' unterbringen - was ich aber nicht vorschlage, weil dieser Begriff zu 'GrWe' gehören kann. Ich gehe davon aus, dass wir HIER noch einiges diskutieren können/werden.
ergänzt und aktualisiert: --VÖRBY 18:04, 20. Okt. 2011 (CEST)Beantworten

Zur Einleitung

Bearbeiten

Gruppenwechsel (englisch control break) ist ein Begriff der Datenverarbeitung und bezeichnet den Sachverhalt, dass ein (meist in der Stapelverarbeitung) zu verarbeitender Datensatz eines sortierten Eingabe-Datenbestands nicht zur selben Gruppierung gehört wie der unmittelbar vorher verarbeitete. Zweck dieser Feststellung ist, in der Verarbeitung die Einzeldaten zu bestimmten Gruppen zusammenzufassen, etwa um zu Beginn und/oder am Ende jeder Gruppe spezielle Verarbeitungsschritte auszuführen – zum Beispiel die Ausgabe von Überschriftszeilen oder die Initialisierung von Variablen (für die nachfolgende Gruppe) oder Summenzeilen (für die vorausgehende Gruppe) [1] Zitat noch passend????

Angewendet werden solche Gruppierungen häufig in Reports (z. B. in Listenform), wo Informationen nach bestimmten Kriterien gegliedert und sortiert ausgewiesen werden.

Das Feststellen von Gruppenwechseln und das Anstoßen der jeweils dazu gehörenden Verarbeitungsroutinen sind eine Teilaufgabe in der Steuerungslogik des Computerprogramms, die zum Beispiel mit Gruppenkontrolle, „Gruppen(wechsel)steuerung“ oder (verkürzt) selbst mit „Gruppenwechsel“ bezeichnet wird.

>>danach ~ weiter wie bisher.

Charakteristisches über Gruppenbegriffe

Bearbeiten

Gruppenbegriffe sind die Subjekte, auf die sich die Gruppenwechselfeststellung bezieht. Sie weisen Merkmale auf, die ggf. im Rahmen der Gruppenkontrolle berücksichtigt werden müssen – zum Beispiel:

  • Gruppierungsbegriffe werden praktisch immer in Auswertungen (Listen ...) verwendet, jedoch auch zu anderen Verarbeitungszwecken.
  • Sie können einstufig (nur Postleitzahl) oder mehrstufig (PLZ und Altersgruppe ...) sein.
  • Sie stammen aus direkt gespeicherten Informationen oder sind abgeleitete Informationen (wie Alter oder Altersgruppe (aus Geburtsdatum); Betrags-Größenklasse) sein.
  • Vollständiges Feld oder Teilfeld (wie Stelle 1 und 2 der Postleitzahl)
  • Die Sortierung kann aufsteigend oder absteigend (neuestes Datum vorne) sein.
  • Es wird nach den für den Datenbestand üblichen Begriffen gruppiert (Land, Postleitzahlbereich bei Adressdaten) und/oder über Begriffe, mit denen Gruppierungen für besondere Zwecke gebildet werden (Anzahl Monate seit letzter Bestellung; Geburstag MMTT).
  • Die Gruppenbegriffe stammen aus einem (1) oder mehreren Datenbeständen (Postleitzahl und Alter aus Kundendaten, Herstellerland aus Artikeldaten).
  • Die Begriffe eines Datenbestands weisen ggf. unterschiedliche Datenformate auf. Oder: Gleiche, aber in unterschiedlichen Datenbeständen auftretende Begriffe sind unterschiedlich formatiert.

Voraussetzungen zur GW-Verarbeitung

Bearbeiten
  • Die einzelnen Datensätze müssen zur Verarbeitung in der Reihenfolge der definierten Gruppenbegriffe zur Verfügung stehen. Meist wird diese Reihenfolge bei der Verarbeitung überprüft.
  • Falls die Gruppenbegriffe in den Eingabebeständen nicht direkt gespeichert sind, müssen sie im Rahmen einer Vorverarbeitung erst hergestellt werden. Bei einfachen Ableitungen ist dies im Lesevorgang selbst möglich, ggf. sind vorgeschaltete Verarbeitungsprogramme erforderlich; mit der Auswertungssprache SQL sind umfassende Ableitungen möglich.
  • Über die Gruppenbegriffe hinaus ist oft eine zusätzliche Sortierung der Datensätze üblich, zum Beispiel nach Artikelnummer, obwohl die Gruppierung nur nach Artikelgruppe erfolgt.

Prinzipien und Besonderheiten zur GW-Verarbeitung

Bearbeiten
  • Abgesehen von den aufgabenspezifischen Rahmenbedingungen (Anzahl Dateien, Anzahl GrW-Stufen ..) kann die Struktur der gesamten Verarbeitungssteuerung unabhängig von der individuellen Aufgabenstellung einheitlich sein.
  • Das heißt: Aufgabenspezifische Details sind nicht in der Steuerung, sondern ausschließlich in den von der GW-V. aufzurufenden Unterroutinen enthalten.
  • Das Lesen von (steuernden) Eingabesätzen erfolgt möglichst nur an einer Stelle im Steuerprogramm. Individuelles Nachlesen in den Verarbeitungsprozeduren ist grundsätzlich verboten.
  • Bei Verarbeitung mehrerer Datenbestände (Mischen) muss für die Lesereihenfolge der Daten festgelegt werden, aus welchem Datenbestand (bei identischen Gruppenbegriffen) zuerst gelesen werden soll.
  • Die Feststellung der eingetretenen GW erfolgt zeitlich nach dem Lesen.
  • Wurde GW festgestellt, so werden vor der Verarbeitung des gelesenen Satzes zunächst die Nachläufe der alten Gruppe(n) (von unten nach oben), danach die Vorläufe (von oben nach unten) und danach erst die neue Einzelsatzverarbeitung angesteuert.
  • Nach dem ersten Lesen entfällt der Aufruf der Nachläufe
  • Nach dem letzten Lesen entfällt der Aufruf der Vorläufe
  • Zum Zeitpunkt der Gruppen-Nachläufe ist der 'alte' Datensatz noch im Speicher verfügbar, für die Gruppen-Vorläufe der 'neue' Datensatz.
  • Falls bestimmte Datensätze aus der (Einzel-) Verarbeitung ausgenommen werden sollen, ist festzulegen, ob sie trotzdem (auch ohne Einzelsätze) Gruppenwechsel auslösen sollen.
  • Je nach gegebenen Anforderungen muss die Verarbeitungslogik bei Reporting-Aufgaben Absatzschutz sicherstellen, d.h. zum Beispiel: Eine Kopfzeile (Überschrift) darf dann nicht mehr auf der Seite stehen, wenn nicht mindestens eine Einzelzeile ebenfalls noch dort stehen kann.

Alternative Lösungsansätze

Bearbeiten

Die GW-Verarbeitung kann im Detail, i.W. auch abhängig von der verwendeten Entwicklungsumgebung, auf vielerlei Arten, jedoch stets mit einem identischen Verarbeitungsergebnis (siehe Prinzipien) umgesetzt werden. Einige Beispiele dazu:

  • Bei verwendung von Programm- und Listgeneratoren etc. werden die Gruppenbegriffe lediglich spezifiziert; die Verarbeitungslogik bleibt dem Programmierer verborgen. Andernfalls:
  • Das erste Lesen erfolgt als eigene Prozedur am Beginn der Verarbeitung; 'nachgelesen' wird 'unten' (nach der Einzelverarbeitung). Versus: Alle Lesevorgänge finden über eine zentrale, 'oben' (vor der Gruppensteuerung) positionierte Leseroutine statt.
  • Zum Vergleich auf Gruppenwechsel werden die Gruppenbegriffe einzeln (ab höchstem Begriff) bis zum ersten festgestellten Wechsel verglichen. Versus: Gruppenwechsel wird vom niedrigsten in Richtung höchsten Begriff getestet - bis für die höhere(n) Gruppe(n) 'kein Wechsel' festgestellt wird.
  • Die Routinen der Vorlauf- und Nachlauf-Verarbeitung je Gruppenwechsel werden direkt aus der Gruppenkontrolle aufgerufen. Versus: Nachläufe rufen vor der eigenen Verarbeitung zunächst den nächst niedrigeren Nachlauf auf, Vorläufe laufen ab dem festgestellten Wechsel linear 'nach unten' ab.
  • Je nach verwendeter Entwicklungstechnologie und Programmiersprache können Schleifenkonstrukte oder GOTO-ähnliche Befehle verwendet werden.

Temporäre Referenzen

Bearbeiten

(sonst tritt im Disk-Dokument ein Fehler auf)

  1. Hans Herbert Schulze: Das Rororo Computer Lexikon. Rowohlt Taschenbuch Verlag, Reinbek bei Hamburg 1984, ISBN 3-499-18105-3, Seite 253.

Weitere Diskussion

Bearbeiten

Ich denke, wir haben tatsächlich sehr unterschiedliche Blickwinkel auf das Thema. Ich muss gestehen, dass mir Deine Einleitungsversion nicht gefällt, mir geht es tats. um das Prinzip, nicht um das Ereignis (die Begriffsdisk. würde ich dennoch erstmal zurückstellen wollen, s.u.). Ich habe allerdings Deinen letzten Beitrag erst gerade eben gesehen, während ich meine Antwort auf Deinen gestrigen Beitrag verfasst habe.

Der wesentliche Unterschied unserer Blickwinkel ist wohl, dass Du Dich sehr stark auf die NP fokussierst und den GW hauptsächlich aus diesem Blickwinkel betrachtest. Ich kann Deinen Standpunkt zumindest weitgehend nachvollziehen, denke ich, da ich die Host-basierte Batchverarbeitung, aus der die NP stammt, auch kenne. Ich finde allerdings wichtig festzuhalten, dass es das GW-Problem schon immer unabhängig von der NP gab (und es mMn im Vergleich zur NP heute noch von Bedeutung ist), Standards für die GW-Verarbeitung gab es einige und die NP war nur einer davon (ich muss zugegeben, diesen Standard nie verwendet zu haben). Dass die NP technologieneutral ist, bestreite ich. Sie lässt sich in einem wesentlichen Teil in OO-Sprachen kaum umsetzen, dies liegt vor allem an der satz- bzw. record-orientierten Betrachtung der Daten (Abschnitt "Gruppenbegriffsfelder"). Für OO-Sprachen wäre eigentlich typischer, die gesamte Gruppenwechsel-Logik als fertiges Modul anzubieten, und über Callbacks (virtuelle Funktionen) die für den Gruppenwechsel relevanten Ereignisse parametrisierbar zu machen. Dies wäre aber ein gänzlich anderes Konstrukt wie in der NP (gefunden habe ich eine solche Funktionalität allerdings derzeit noch nicht in Form einer Klasse, lediglich ABAP scheint (als nicht OO-Sprache) in etwa eine Funktionalität anzubieten, die dem in etwa entspricht (ich kenne allerdings ABAP kaum)).

Natürlich gab es das Problem GrW-Steuerung schon immer (und auch immer noch) :-( . Der Artikel NP zielt aber genau auf dieses 'Meta-Problem' ab. Dass man Details auf zig unterschiedliche Arten lösen kann (z.B. je nach Bedearf auch vereinfachen), kann aber doch nicht dazu führen, dass die WP all diese Ansätze als getrennte Lemmas zeigt. Aus meiner Sicht ist der Begriff NP nicht so eng zu sehen wie z.B. 'OO', sondern lediglich als Schemabeispiel für die Umsetzung dieser Batch-Aufgabenstellung. Schließlich gibt es ja auch mehrere NP-Generatoren, die im Details unterschiedlich arbeiten. Und: Ist Dein Vorschlag nicht WP:Theoriefindung
Zu 'Fertiges Modul in OO': Ja, weil die GW-Steuerung ein Teil der Pgm-Steuerung ist - den man natürlich auslagern kann.

Mein Ziel bei Anlage des Artikels war, die Gruppenwechsellogik einfach und ohne "Ballast" (z.B. der NP) hier darzustellen. Auslöser war, dass ich selbst (nach langer Zeit mal wieder) ein kleines GW-Problem umsetzen musste und kurz nachschauen wollte, wie die Logik den ist. Mit dem NP-Artikel konnte ich da ehrlich gesagt nichts anfangen. Mir ist dabei nämlich eben auch aufgefallen, dass es in den OO-Sprachen hierbei manches zu beachten ist. Ein Beispiel für C++ habe ich hier gefunden. Allerdings ist das eine erstaunlich konservative (prozeduale) Umsetzung des Prinzips (womöglich aus didaktischen Gründen, deshalb natürlich nicht verkehrt, aber es entspricht nicht dem von mir oben skizzierten Prinzip. Als Beispiel auch denkbar ungeeignet, da es ja wirklich alles in Unterfunktionen auslagert).

Ich denke, man muss den NP-Ansatz immer auf die gegebene Aufgabenstellung individuell ausrichten, ggf. auch vereinfachen. Bringst du mit 'konservativ' und 'ungeeignet' nicht etwas viel persönlichen Geschmack in die Diskussion?

Ich würde Dich bitten, Deine Kürzungsvorstellungen nicht im Artikel umzusetzen, dann hätte ich mir die Arbeit sparen können, denn dann erfüllt der Artikel meine ursprüngliche Intention nicht mehr. Mit einem Artikel, der sich auf das "Gruppenwechselereignis" beschränkt, kann mMn niemand etwas anfangen. Gib mir bitte die Chance, hier den Versuch zu machen, den Artikel erst mal so zu gestalten, wie ich ihn selbst gerne vorgefunden hätte und auch zu untersuchen, wie es sich mit dem GW in OO-Sprachen so verhält.

Hab auch festgestellt, dass man in NP gar nicht so vieles herauslösen müsste, aber doch einiges. Und Alternativen und andere Details könnte man in GW (~) beschreiben. Zu 'Ereignis': Klar, ich erkenne deine Absicht, die Logik und nicht das Ereignis zu beschreiben. Was drauf steht, sollte aber auch drin sein.

Zur Redundanz: Meiner Meinung nach sollte tats. das Vorgehen umgekehrt sein. Die NP beinhaltet die GW-Logik, also muss der Artikel über die GW-Logik die Gruppenwechselproblematik vollst. beschreiben, der Artikel NP könnte dann auf die Besonderheiten der GW-Umsetzung bei der NP reduziert werden. Mein Gefühl ist aber, dass man auch dann den Artikel NP nicht wesentlich kürzen sollte, da darunter das Verständnis leiden würde. Es gibt häufig den Zielkonflikt zwischen Redundanzfreiheit und Verständlichkeit, in diesem Fall würde ich dabei den Fokus klar auf die Verständlichkeit legen, da das Thema ohnehin schon Verständnisschwierigkeiten bereitet. Zudem ist Redundanz nur dann tragisch, wenn sich etwas ändert, und das ist hier kaum zu erwarten.

NP beschreibt die Pgm-Steuerung als Ganzes; die GW-Steu ist darin Detail. WENN es einen zusätzlichen Artikel GW(Logik) geben sollte, so wäre das praktisch ein Detailartikel zu NP und dürfte deshalb auch tiefere Details zeigen. Wie gesagt, wenn er sich tatsächlich nur auf die GW-Logik beziehen würde.

Bei der Verwendung des Begriffs "Gruppenwechsel" für das Prinzip fehlt tats. die Abgrenzung zum Ereignis, das stimmt, das ist ein Problem. Allerdings ist mir der Begriff "Gruppenkontrolle" praktisch noch nie begegnet und ich tue mich schwer, mich mit ihm anzufreunden. Ich würde aber gern die Diskussion über den Begriff zunächst zurückstellen.

GW für das Prinzip ist 'grundsätzlich' unkorrekt. Trotzdem könnte man (ähnlich wie in meinem Entwurf zur Einleitung) das Lemma so belassen und auch so beginnen lassen, aber dann auf die Logik / das Prinzip umschwenken.

Danke, dass für Deinen angenehmen Diskussionsstil und dass Du mir Zeit für meine Antworten lässt und Deine Vorstellungen nicht direkt im Artikel umsetzt. Viele Grüße --Cactus26 10:18, 18. Okt. 2011 (CEST)Beantworten

Hallo, nun meinerseits nur eine kurze, erste Stellungnahme: Mir fällt auf, dass das, was du beschreiben willst, nicht 'Gruppenwechsel' ist (auch wenn man darunter die Logik verstehen würde), sondern 'Programmsteuerung' als Gesamtheit - vielleicht in einer etwas abgespeckten Form. Das darf man dann aber nicht GW nennen. Und ist praktisch redundant zu NP; denn wenn Du etwas 'festlegst', dann wäre das auch eine Art von 'Normierung', also doch NP, nur nicht nach DIN. Dafür fehlen aber doch einige Details, z.B. das Mischen mehrerer Dateien, Statusfelder zum Handling von EOF- oder nicht vorhandenen Dateien usw. Vielleicht auch WP:TF. BaW: --VÖRBY 12:04, 18. Okt. 2011 (CEST)Beantworten
Hallo Cactus26, guten Abend. Ich habe in deinem letzten Text jetzt meine Stellungnahmen eingearbeitet. Final muss entschieden werden, WAS beschrieben werden soll. Wenn das eine Pgm-Steuerung wäre, darf das Lemma nicht GW heißen (auch nicht wenn die Logik gemeint ist) UND es wäre zu klären, ob man diese neue Version in Wikipedia will. Wenn man die GW-Logik beschreiben will, darf das m.E. nur ein Detailartikel sein, der sich auf das Thema GW beschränkt. Vielleicht sollten wir noch andere WP-Autoren hier einbinden? Ich möchte ein ewiges Hin und Her vermeiden. Ich danke auch Dir für die offene Diskussion und grüße Dich: --VÖRBY 19:10, 18. Okt. 2011 (CEST)Beantworten
Hallo VÖRBY, ich werden am Freitag voraussichtl. einiges an Zeit haben, mich mit dem Thema zu befassen und bitte Dich nochmals um ein wenig Geduld. Viele Grüße --Cactus26 07:59, 19. Okt. 2011 (CEST)Beantworten
Guten Morgen Cactus26! Je mehr mir die Sache durch den Kopf geht, desto mehr sehe ich, dass es Sinn macht, einen zusätzlichen Detailartikel GW zu haben - aber eben i.W. auf das Thema GW (und deren Verarbeitung) beschränkt. Ich habe oben Unterkapitel aufgenommen, in denen ich zahlreiche Details einstelle, die mir dazu einfallen - und die wir dort und hier zunächst diskutieren können. B.a.W.: --VÖRBY 09:37, 20. Okt. 2011 (CEST)Beantworten

Zunächst: Was soll beschrieben werden? Deinem Entwurf entnehme ich, dass wir prinzipiell nun gar nicht mehr so weit auseinander liegen, was das anbelangt. Also nochmal aus meiner Sicht: Beschrieben werden soll "Gruppenwechselproblematik" (also die Problemstellung) und Lösungsstrategien (die derzeit üblichsten, keine "Norm"), also "Gruppenwechselprinzip" bzw. "Gruppenwechsellogik" bzw. "Gruppenwechselverarbeitung", also genau das, was das Struktogramm beispielhaft darstellt.

Dein Entwurf scheint mir sehr stark von der prozedualen und teilweise auch "pre-relationalen" Sichtweise geprägt. Das ist an vielen Details zu erkennen, die für eine objektorientierten Entwickler in der Regel gar nicht relevant sind. Dies betrifft v.a. die Aspekte beim Gruppenbegriff. Ein objektorientierter Ansatz erwartet hier, dass er ein für die Gruppe eindeutiges Identifikationsmerkmal bekommt, welchen Datentyp dieses hat bzw. ob hierzu irgend eine Stelle irgendeiner PLZ ausgewertet werden muss, ist vollständig gleichgültig, dies muss die Abstraktionsschicht leisten, auf der man aufsetzt. Vieles, was Du bei "Gruppenbergiffe" erörterst, würde ich aus heutigem Blickwinkel dem Thema "Normalisierung" zuordnen, nicht dem Gruppenwechsel. Normalierungsprobleme würde ich heute entweder durch eine Vorverarbeitung oder durch eine Abstraktionsschicht kapseln (s.a. unten, Mischen von Dateien).

Klar ist die voll prozedurale Sicht der Ursprung der NP. Da auch heute noch nach unterschiedlichen Paradigmen programmiert wird, ist das nicht obsolet, kann aber natürlich aktualisiert werden. 'Normalisierung' kann ich hier nicht einordnen. Klar auch, dass das bei Verwendung höherer Sprachen/Entwicklungssysteme kein 'Problem' mehr ist; doch bei rein nativer Programmierung muss das großteils irgendwie beachtet werden.

Mir wird bei dieser Diskussion gerade wieder bewusst, dass ein Hauptunterschied zwischen der früheren und der heutigen Vorgehensweise darin besteht, dass man früher in einem Verarbeitungsdurchlauf möglichst alles auf einmal erledigt hat, heute versucht man das in völlig unabhängige Teilaufgaben zu zerlegen. Das klarste Beispiel dabei ist wahrscheinlich, dass das Mischen von Dateien mit dem GW-Problem verheiratet wurde. Heute würde man eher die Dateien vorab zusammenfassen ("Merge"), also zwei Durchläufe machen, oder man würde sich eine Abstrakte Datei definieren (spezielle Klasse), die vollständig kapselt, dass eigentlich aus mehreren Dateien gelesen wird, die GW-Logik merkt dann nichts mehr davon.

Ich denke schon, dass es (wir sprechen ja von der Stapelverarbeitung) nach wie vor nicht unüblich ist, mehrere Dateien in der Steuerung (und Satzfreigabe) zu mischen. Einfach vorher mischen (*) halte ich für total unüblich und auch nicht für nützlich. Denn so hatte man z.B. mit Lochkarten gearbeitet (Kartenart) - weil man nur 1 Lesegerät ansprechen konnte. Daraus hatten sich dann Spaghetti-Programme entwickelt. Da sind nun also schon 3 Generationen im Spiel. Recht gebe ich dir aber, wenn wir an SQL denken; da fließen die 'gejointen' Daten als 1 SQL-Zeile in die Verarbeitung ein. Also: Für Stapelaufgaben mit seriellen Beständen darf man das Mischen nicht außer Acht lassen.
(*) Exakt dieses Vorgehen halte ich für eine passende Problembeschreibung für den Ist-Zustand: Da wird das Rechenzentrum mit doppeltem Datenvolumen, zusätzlichen Job-Steps, ggf. zusätzlichen 'Hilfsprogrammen', doppelten Programmlaufzeiten und nahezu doppelten CPU-Zeiten belastet - nur weil sich Programmierer "derart komplizierte" Programme ersparen wollen.

Zusammenfassend: Bei der Frage, was der Artikel beschreiben soll, sind wir in etwa einig. Meine Abgrenzung des Problems wäre aber eine andere, mein Fokus ebenfalls. Mein Strategie wäre, das GW-Problem so zu beschreiben, wie es ein typsicher heutiger Entwickler (ehrlicherweise: was ich als solchen ansehe) am besten versteht, und auch zunächst auf das zu beschränken, was ein solcher Entwickler eigentlich braucht. Wenn man den Artikel weiter vertieft, könnte man auch noch Aspekte beisteuern, die sich auf das prozeduale Zeitalter beziehen, allerdings ist hier wirklich die Frage, ob die in der NP nicht besser aufgehoben sind.

Es könnte schon schwierig sein, zu sagen "Was man heute braucht"; denn das ist wohl in erster Linie von der gegebenen Entwicklungsumgebung (Sprachen, OO, SQL ...) abhängig. Man könnte aber darstellen, dass, abhängig von solchen Gegebenheiten, bestimmte Details aus einer umfassend prozedural (imperativen) Programmierung (auf niedrigem Codelevel) heute nicht mehr braucht. Vielleicht würde das auch nach NP passen - ggf. mit einem Link zum neuen Artikel.

Noch ein paar Stichworte zur bisherigen Diskussion:

  • Ich habe den Eindruck, dass Du Teile dessen, was ich Gruppenwechsellogik nenne, als "Programmsteuerung" bezeichnest. Diese Interpretation ist im Rahmen von standardisierten Programmrahmen des prozedualen Batch-Zeitalters (wie NP) möglich, ist aber mMn schon bei Fokussierung auf die damalige Zeit ein zu eingeschränkter Blickwinkel und erst recht im Hinblick auf die OOP, da es dort für eine "Programmsteuerung" nach dem damaligen Prinzip keine Entsprechung gibt.
Wie gesagt, dein Struktogramm zeigt ein ~ vollständiges Programm und nicht nur die GW-Verarbeitung.
  • Ich unterstelle mal, dass Dein TF-Vorwurf sich darauf bezieht, dass ich den Begriff "Gruppenwechsel" auch für das Prinzip verwende (sonst kann ich diesen Vorwurf nicht nachvollziehen, für alles andere im Artikel beschriebene gibt es ja offensichtlich unzählige Quellen, auch viele, die die Unabhängigkeit des Gruppenwechselprinzips von der NP belegen). Es gibt aber tats. auch Quellen, bei denen man davon sprechen kann, dass sie den Begriff "Gruppenwechsel" für das Prinzip verwenden (s.u.). Ich sehe hier aber auch (wie Du) das Problem, dass der Begriff wörtlich genommen das Ereignis bezeichnet und dass man bei Verwendung des Begriffs für das Prinzip sich schwer tut, Prinzip und Ereignis zu trennen. Das Dilemma ist, dass es keinen anderen einheitlichen Begriff für das Prinzip gibt, das Stichwort "Gruppenwechsel" ist eindeutig der zentrale Begriff zur Identifikation des Themas (das sieht man auch daran, dass auch in Literatur, die einen anderen Begriff für den Prinzip verwendet, häufig die Kapitelüberschrift des Themas dennoch "Gruppenwechsel" lautet. Ich versuche demnächst mal ein paar Quellen zusammenzustellen, um zu untersuchen, welcher Begriff für das Prinzip verwendet wird ("Gruppenkontrolle" scheint mir nur einer von vielen, "-logik", "-verarbeitung", "-prinzip" scheinen mir fast gleichwertig). Es gibt tats. auch Quellen, die "Gruppenwechsel" für das Prinzip verwenden, dennoch denke ich darüber nach, dass nicht zu übernehmen.
TF hatte ich unterstellt, weil mir dein Struktogramm zu einfach erscheint. Dort gibt es kein Filtern, du hast zwar eine Nachverarbeitung, aber keine Vorverarbeitung etc. Das sprachliche Problem lässt sich m.E. wohl lösen; siehe Entwurf 'Einleitung'. Ich denke also, man kann schon unter GW die GW-Logik beschreiben (aber GW halt nicht als Logik definieren).
  • Eignung von NP für heutige Programmiersprachen, "persönlicher Geschmack". Nein, dass ist kein persönlicher Geschmack, ich habe nichts gegen die NP, aber es ist völlig offensichtlich, dass diese für OOP völlig unpassend ist (schon das Vorprogramm, das widerspricht fundamental dem OOP-Prinzip und ich bin völlig verblüfft, dass Du das nicht so siehst)
Dass es in einem Programm zahlreiche Dinge geben kann, die einfach zu Beginn bearbeitet werden (du hast es nur auf 'open' reduziert), muss doch - als Gegenstück zur Nachverarbeitung - als relevant gelten. Beispiele: Tagesdatum und andere Parameter initialisieren; nur für Listen gültig: Druckzeilen die nur vorne vorkommen, ganzes Drucker-Deckblatt oder Infos für Druckempfänger, Duplikate, Papierart etc. irgendwohin ausgeben; ...
Zu "Geschmack": siehe das unter TF Gesagte.
  • bei der Bedeutung der Tabelliermaschine sind wir derselben Meinung
  • Interessant finde ich das zweite Lösungsprinzp, das Du unter "Alternative Lösungsansätze" skizzierst ("alle Lesevorgänge zentral", "Aufruf von Vor- und Nachlauf direkt aus der Gruppenkontrolle") Kannst Du dafür ein Struktogramm skizzieren?
Lesevorgänge: Sowas kenne ich aus der Praxis: Die erste Logik ist das, was in deinem Struktugramm dargestellt ist. Alternativ dieses Lesen 'in der Schleife' (im Struktogramm oben) gelesen. Ein kleines Detail.
Vor- und Nachlauf: Man kommt in allen Teilen zum selben Ablauf, nur wird bei einer anderen Praxisvariante (hab ich auch schon bei Generatoren gesehen) einfach der höchst festgestellte Wechsel angesteuert - der dann zunächst den nächst-tieferen aufruft (und iterativ der auch wieder), dann erst seine eigenen Befehle verarbeitet und anschließend zum seinem Pendant-Vorlauf verzweigt, gefolgt von den weiteren, tieferen Vorläufen.

Die Frage ist, wie machen wir weiter. Zusammen am Artikel schreiben können wir nicht, dazu sind unsere Standpunkte zu konträr. Uns gegenseitig unterstützen können wir sicherlich (ich verstehe die Intention aller Deiner Vorschläge, denke ich), nur sollten wir vorher festlegen, wer den Artikel schreibt (und redaktionelle Entscheidungen trifft) und wer sich in die beratende Rolle fügt. Ich weiß, dass das Wiki-Prinzip keine solche Regelung vorsieht, dennoch bin ich sicher, dass sie der Sache dienlich wäre. Wenn Du das nicht so siehst und einfach Deine Vorstellungen umsetzt, werde ich wenig dagegen unternehmen können. Eine dritte Meinung könnten wir einholen, allerdings müssten wir vorher zusammenfassen, worin unsere unterschiedliche Sichtweise denn besteht. Allerdings fürchte ich, dass mich das "Diskussionsaufkommen" überfordern wird, wenn wir diesen Schritt gehen und ich die Segel streichen muss. Lieber wäre mir, ich könnte Dich ein wenig mit meinen Argumenten überzeugen. Viele Grüße --Cactus26 09:27, 21. Okt. 2011 (CEST)Beantworten

Hallo, ich denke, wir sind weitgehend einig; siehe meine 'Einzüge' in deinem Text: Du schreibst den Artikel. Das Thema kann 'GW' heißen, in der Einleitung sollte aber klargestellt (*) werden, dass das 'Verfahren' gemeint ist - das im Wesentlichen die vollständige Verarbeitungslogik eines Stapelprogramms enthält (wie das im Struktogramm gezeigt wird). Als Abgrenzung zu NP könnte man sagen, dass 'hier' eine vereinfachte Variante von Normierung (oder Standard) vorliegt, weil manche detaillierten Vorgaben aus der vollen NP aufgabenbezogen und auch bei Nutzung neuerer Technologien heute nicht mehr erforderlich sind (z.B. wegen SQL-Joins). Welche 'Details' du aus meinen Texten verwendest, würde ich dir überlassen. Ich bin gespannt auf das Ergebnis.

(*)Weil damit derselbe Terminus (GW) in deinem Artikel für drei unterschiedliche Begriffe steht: Für das Ereignis, die Logik und weil damit eine ganze Pgm-Steuerung beschrieben wird.

Grüße von --VÖRBY 12:59, 21. Okt. 2011 (CEST)Beantworten

Hab noch einige Gedanken oben eingestellt (siehe Versionsgeschichte), die Sache geht mir auch nicht aus dem Kopf. --VÖRBY 12:29, 22. Okt. 2011 (CEST)Beantworten

Kern der Sache

Bearbeiten

Ich habe die Einleitung mal Deiner Anregung entsprechend angepasst, dass "Gruppenwechsel" nicht mehr für das Prinzip steht (obwohl es durchaus Fälle gibt, wo das so verwendet wird, aber es ist nachteilig, wie wir ja bereits erörtert haben).

Nun zum Kern der Sache. Meiner Einschätzung nach liegen unserer Diskussion im Kern zwei unterschiedliche Auffassungen zugrunde (ich schreibe im folgenden GW stellvertretend für das Prinzip):

  1. GW ist zentraler Bestandteil der NP, GW außerhalb von NP gibt es nicht, GW ist dabei eingebettet in eine spezielle Programmsteuerung und hängt untrennbar mit dem Mischen von Dateien und Satzfreigabe zusammen
  2. GW war und ist eine völlig von der NP unabhängige Problemstellung. Jedes Lösungsverfahren zum GW muss die Iteration über den sortierten Datenbestand beinhalten. Die NP ist ein Lösungsansatz (neben vielen), der neben GW die Satzfreigabe und das Mischen von Dateien (sowie weitere kleinere Details) abdeckt und diese unterschiedlichen Problemstellungen miteinander verknüpft.

Würdest Du das (also Punkt 1) so stehen lassen?--Cactus26 17:27, 22. Okt. 2011 (CEST)Beantworten

Hallo und guten Abend.
Zu 1.): Nicht meine Meinung: GW ist einfach - wie definiert - ein Sachverhalt/Ereignis. Als Logik betrachtet ist es ein Verfahren, mit dem man die Ereignisse GW behandelt, ob mit oder ohne NP. Wie man das macht, ist eigentlich egal, wenn man aber vereinheitlichen (normieren) will, braucht man 1 Lösung. Die 'NP' (als DIN-Norm) bietet dafür einen Strukturvorschlag an. Darin ist diese GW-Logik natürlich eingebettet und neben anderen Aspekten Teil des Gesamtverfahrens 'Programmsteuerung'.
Zu 2.): vollkommen ok.
Es gäbe also gar keine zwei unterschiedlichen Auffassungen. Es ist nur eben diese Sache mit dem 'Begriff' (3-fach), die Tatsache, dass der von dir beschriebene Ansatz nur mit einer Datei funktioniert und dass der NP-Artikel detaillierter beschreibt, i.W. auf prozedurale Sprachen der 2./3. Generation abstellend.
Noch ein Vorschlag zu 'Begriff': Wenn Du im Struktogramm nur die Teile, die direkt etwas mit GW zu tun haben, farbig hervorhebst, hätten wir auch dieses Problem (Gesamtsteuerung) gelöst.
In der neuen Einleitung sagt der erste und der vierte Satz dasselbe aus. 'Meist als Stapelverarbeitung' klingt etwas sperrig und unklar. Dass eine Datei (i.S. von '1') verarbeitet wird, ist lediglich das 'Alleinstellungsmerkmal' deiner Beschreibung. Das Prinzip ist immer sequentiell, egal welche Speicherungsform vorliegt. Ich würde deshalb auch nicht von Datei, sondern von 'Datenbestand' sprechen.
Bis demnächst mal wieder: --VÖRBY 18:51, 22. Okt. 2011 (CEST)Beantworten

Hallo VÖRBY, wieder habe ich Deinen Standpunkt falsch verstanden, entschuldige. Es scheint doch an den Begriffen zu liegen. Ich lege dazu nochmal meinen Standpunkt dar:

Der Artikel soll das beschreiben, das was man als "Gruppenkrontrolle", "Gruppenwechsellogik", "Gruppenwechselproblem", "Gruppenwechselverarbeitung", "Gruppenstufenlogik" etc. bezeichnet. Es gibt dafür dummerweise keinen etablierten Begriff (auch nicht "Gruppenkontrolle", dieser wird zwar durch die NP verwendet, sonst aber kaum). Das Stichwort, das immer mit diesem Thema assoziiert ist, lautet "Gruppenwechsel". Deshalb lautet das Lemma des Artikels so, auch wenn dieser Begriff meistens nicht (manchmal tut er es doch) für das Prinzip steht, sondern für das Ereignis. Ein Artikel, der sich nur auf das Ereignis fokussiert, macht mMn keinen Sinn, er hilft kaum jemanden. Dann wäre er in der Tat nur als Detailartikel zur NP nutzbar, was ganz bestimmt nicht meine Intention bei Artikelanlage war.
Vollkommen Deiner Meinung: VÖRBY

Zu Deinen einzelnen Anmerkungen bzw. Deinem Textvorschlag:

  • 1 u. 4. Satz sagt dasselbe. Nicht ganz, der 4. Satz konkretisiert, woran man erkennt, dass ein Satz nicht zur selben Gruppe gehört, was ich im ersten Satz weggelassen habe. Meine Intention ist, möglichst schnell den Begriff für das Prinzip einzuführen, da der Artikel ja eigentlich davon handeln soll.
Lies das nochmal genau: Ich denke da wird dasselbe gesagt („nicht zur selben Gruppierung gehört“ bzw. „von dem des vorausgehenden Satzes abweicht“).
Ich stimme mit Dir überein, dass sich der 1. und 4. Satz inhaltlich überschneidet, wobei ich die Wiederholung eher bei "vorausgehender Satz" sehe. Nochmal: Intention ist, den ersten Satz zu Gruppenwechsel möglichst kurz zu halten, um schon im 2. Satz klarzumachen, dass es hier um Prinzip geht. Deshalb wird im 4. Satz das Thema des ersten Satzes wieder aufgriffen und detailliert, eine gewisse Wiederholung halte ich dabei für das Verständnis für erforderlich.--Cactus26 08:26, 24. Okt. 2011 (CEST)Beantworten
Der Satz ist aber nicht nur eine "gewisse Wiederholung", sondern sagt exakt dasselbe aus.
  • Einfärben der Teile, die zum "Gruppenwechsel" gehören. Halte ich nicht für sinnvoll, das Thema des Artikels ist "Gruppenwechsellogik", nicht das Ereignis, s.o. Hab dir ein Beispiel zu gemailt.
Ich wollte es nicht von 'Ereignis' abgrenzen, sondern von 'Pgm-Steuerung komplett'. Die GW-Behandlung wäre der innere Bereich.
  • "Dass eine Datei verarbeitet wird ist das Alleinstellungsmerkmal meiner Beschreibung". Verstehe ich nicht, es steht nirgendwo, dass das immer so ist, es gibt weder einen Widerspruch zu mehreren Dateien, noch dazu, dass der Eingabebestand nicht aus einer Datei kommt. Im ersten Satz steht "Datenbestand". Das "sequentiell" habe ich ergänzt. "satzweise" ist. mMn nicht nötig, da "Datensatz" das impliziert.
Du hast aber nur einfach ein (1) Lesen, keine 'Satzfreigabe' und auch nur eine 'Einzelverarbeitung' ohne Rücksicht auf die Eingabedatei; das kann also nur mit einer Eingabe funktionieren.
Ich verstehe Dein Problem hier nicht wirklich. Kannst Du deutlicher machen, mit welcher Stelle Du ein Problem hast?
Wenn du mit dieser Logik mehrere Dateien mischen willst, braucht man eine Satzfreigabefunktion und auch bei der Verarbeitung muss man gezielt Sätze nach Dateiart verarbeiten. Wenn du dies in deiner Darstellung berücksichtigst, bist du praktisch exakt bei dem, was in NP behandelt ist. Der Unterschied: In NP wird die Logik im Detail (zu detailliert?) textlich dargestellt, bei Dir im Struktogramm.
"meist wird dabei eine Datei verarbeitet" klingt unklar: Meint man 'nur eine'?
Finde die Formulierung eigentlich ganz praktisch. Es können mehrere Dateien oder auch keine sein, also etwas anderes. Eine bessere fällt mir im Moment nicht ein, ich möchte in der Einleitung auch (weniger wichtige) das Verständnis erschwerende Details vermeiden.--Cactus26 08:26, 24. Okt. 2011 (CEST)Beantworten
Was sollte sonst verarbeitet werden? Ich sehe Deinen Entwurf ja als 'vereinfachte NP', allerdings nur unter der Voraussetzung, dass das auch (wg. nur 1 Datei, vielleicht einer vorher gemischten; s.o.) möglich ist. Vorschlag: Lösche einfach "meist wird dabei eine Datei verarbeitet".
  • "'Meist als Stapelverarbeitung'" habe ich versucht umzuformulieren
Ich hab 'i.d.R.' ergänzt.
  • "Zeitalter der Stapelverarbeitung": War dämlich formuliert, habe Deinen Vorschlag aufgegriffen.
  • "Reportgeneratoren": Habe ich ergänzt, eine Quelle wäre natürlich schön
Du kannst gerne MS Access reinnehmen.

--Cactus26 13:32, 23. Okt. 2011 (CEST)Beantworten

Antworten in Deinem Text: --VÖRBY 20:37, 23. Okt. 2011 (CEST)Beantworten

Antworten ebenfalls im Text.--Cactus26 08:26, 24. Okt. 2011 (CEST)Beantworten
Ebenfalls: --VÖRBY 09:38, 24. Okt. 2011 (CEST)Beantworten

Im allgemeinen haben wir ja Konsens erzielt, bei den Details scheint das schwierig:

  • erster und vierter Satz exakt gleich: Sehe ich nicht so. Der erste Satz macht keine Aussage, wie bestimmt wird, zu welcher Gruppierung ein Datensatz gehört, dies konkretisiert der vierte Satz.
  • "Satzfreigabefunktion": Wenn ich den Begriff "Satzfreigabe" aus der NP richtig verstehe, geht es um das Mischen von Dateien. Es gibt für das Mischen von Dateien aber auch andere Lösungsansätze (z.B. dass es sich bei der verarbeiteten "Datei" um eine Abstraktion handelt, die das Mischen von Dateien gänzlich kapselt), insofern muss man nicht unbedingt wie bei der NP das Mischen von Dateien und Gruppenwechsel miteinander verzahnen, man kann es auch gänzlich getrennt betrachten.
  • Was soll sonst verarbeitet werden (statt einer Datei)?: Beispielsweise Datensätze, die in Form einer verketteten Liste bereits im Speicher vorliegen.

Viele Grüße --Cactus26 17:35, 24. Okt. 2011 (CEST)Beantworten

Bescheidener Beitrag

Bearbeiten

Diesen Sachverhalt gibt es doch auch ausserhalb der Stapelverarbeitung z. B. bei XML bei verschachtelten Elementen. Oder sehe ich das falsch?--Avron 10:35, 26. Okt. 2011 (CEST)Beantworten

Wie ich XML kenne, geht es dort aber um die Datenrepräsentarion und -Speicherung, nicht unbedingt um ein Gruppieren von Daten i.S. von Verarbeiten und 'Auswerten'. Sollte das doch so sein: Wenn man 'Stapelverarbeitung' wörtlich nimmt, werden auch dort 'Stapel von Daten' ver- und abgearbeitet. Dass das nicht unbedingt in klassischen Batchprogrammen geschieht, wäre etwas anderes, aber immer noch Stapelverarbeitung (i.w.S.). Deshalb heißt es wohl auch "in der Regel ...". Grüße von --VÖRBY 11:15, 26. Okt. 2011 (CEST)Beantworten
XML ist natürlich nur eine Datenstruktur. Ich meine nur, wenn der Sachverhalt so oder so ähnlich auch noch in "modernen" Systemen und Programmiersprachen vorkommt, sollte er nicht in Normierte Programmierung eingearbeitet werden. Wie gesagt, ein bescheidener Beitrag.--Avron 12:04, 26. Okt. 2011 (CEST)Beantworten
Hallo Avron, Danke für Deine Beiträge. Anscheinend meinst Du damit, eine Arbeitsweise nach der NP sei "unmodern". Wenn man unterstellt, dass es zunehmend weniger klassische Stapelverarbeitung und zunehmend mehr Auswertungssoftware etc. gibt, hast Du Recht. Solange aber noch mit PLI, Cobol etc., d.h. voll 'imperativ/prozedural' (;-) programmiert wird, ist die NP einfach ein noch relevanter Ansatz - auch wenn man ihn in der heutigen Praxis nicht häufig findet: "Für so was Triviales braucht es keinen Standard". Die zu oft vorzufindende Qualität in den Programmen der Unternehmen "singt da häufig ein anderes Lied."
Dann: Was meinst Du mit "sollte ER nicht in NP eingearbeitet werden"? Welcher Sachverhalt? Die Gruppenwechsellogik? Ich denke aber, Deine Fragen sind behandelt. Grüße von --VÖRBY 12:44, 26. Okt. 2011 (CEST)Beantworten
Du hast um meine Meinung gebeten ob man die Gruppenwechselsteuerung einen Zusatzartikel (neben Normierte Programmierung) braucht. Wenn Gruppenwechselsteuerung (auch wenn man diese in "modernen" Systemen anders nennen würde) auch in "modernen" Systemen verwendet wird, sollte es ein eigenständiger Artikel bleiben.--Avron 15:55, 26. Okt. 2011 (CEST)Beantworten
Um auf den ursprünglichen Gedanken zurückzukommen: Ich denke tats., dass die GW-Problematik nicht auf Batch-Anwendungen beschränkt ist, sondern dass sich eine entsprechende Logik z.B. auch auf einem Websever im Rahmen einer interaktiven Anfrage ablaufen kann. Sicher kann es auch XML-Dateien geben, die eine Struktur aufweisen, die eine GW-Verarbeitung nahelegen. Allerdings hat XML da keine Sonderstellung, es ist in dieser Hinsicht nur ein "normales" Datenformat wie auch CSV.--Cactus26 16:14, 26. Okt. 2011 (CEST)Beantworten

Tabelliermaschine

Bearbeiten

Ich habe nun einen Geschichtsabschnitt ergänzt, in dem die Tabelliermaschine erwähnt wird. Zudem habe ein paar Sätze der Einleitung hierhin umgezogen. Ich vermute, dass der englische Begriff "control break" durch die Tab Machine geprägt wurde, habe dafür aber leider keinen Beleg gefunden.--Cactus26 12:50, 9. Dez. 2011 (CET)Beantworten


Zu dieser Ergänzung: Diese Angaben sind sicherlich für die Einleitung zu detailliert und zu spezifisch für die Tabelliermaschine. Im Artikel Gruppenwechsel soll der Schwerpunkt auf dem Algorithmus liegen, weniger auf der historischen Hardware. Von einer Aufteilung in Gruppenwechsel/Gruppenkontrolle halte ich nichts, die Bergriffe werden häufig synonym verwendet bzw. es wird nicht genau differenziert, dass Heger das "Gruppenkonntrolle" nennt ist eher Zufall, Franz Haurenherm nennt das gleiche "Gruppenwechsel".

Im Geschichtsabschnitt könnte man ggf. auch hier noch was ergänzen. Allerdings fällt mir das schwer, ohne die Quelle (Hans Heger: Die Geschichte der maschinellen Datenverarbeitung. Band 1.) selbst einsehen zu können. Ist die irgendwo online verfügbar? Oder kannst Du mir die entsprechenden Seiten kopieren und per E-Mail oder Fax zukommen lassen?--Cactus26 07:46, 9. Feb. 2012 (CET)Beantworten

Nachtrag. Ich könnte versuchen, aus den Angaben von Haurenherm (Seite 18f) noch war im Geschichtsabschnitt zu ergänzen. Soll ich das versuchen und Du schaust es Dir dann an?--Cactus26 08:02, 9. Feb. 2012 (CET)Beantworten
es geht um dieses:
Um 1914 wurde die Gruppenkontolle[1] siehe Seite 37 eingeführt die die „gruppenmäßigen Behandlung von Lochkarten" dargelegt. Weiter „Sie erlaubt es .... das Zahlenmaterial geordnet wiederzugeben".


„Um 1930" der wurde die Tabelliermaschine BK („Bank") [1] Seite 40 vorgestellt „Sie besaß auch drei sogenannter Zwischengänge die abhängig von der Gruppenkontrolle unter anderem Summenübertragungen und Queradditionen erlaubten"[1] Seite 41
„Entscheidend war ihre innere Architektur: Zähl- und Schreibwerke mit elf Stellen, eine erweiterte, dreistufige Gruppenkontrolle (20 Spalten) und eine erweiterte Programmierung mit jetzt neun statt bisher drei Zwischengängen. Darüber hinaus konnten die Zwischengänge (ergebnisabhängig) wiederholt und in ihrer Zahl vervielfältigt werden"[1] Seite 42/43 „High-Tech der 30er Jahre" Überschrift zur Tabelliermaschine D11.
  1. a b c d
    - Die Geschichte der maschinellen Datenverarbeitung Band 1,
    - Untertitel IBM Enzyklopädie der Informationsverarbeitung ,
    - IBM Form D 12-0028 (3/91)
Mein Exemplar habe ich antiquarisch bezogen, ich vermute zwei Ausgaben, bei meiner (vermutlich siehe IBM Form D 12-0028 (3/91) von 1991 es ist Bibliotheken ausleihbar.
Sicherlich würdest Du mir gerne "Das Rororo Computer Lexikon" und dort die fraglichen Stellen kopiert zumailen, brauchst Du nicht bekomme ich wenn ich will antiquarisch. Leg Dich hin bestehe ich nicht drauf. Lass uns in Ruhe lösen, lieben Gruss --Hugo 21:44, 10. Feb. 2012 (CET)Beantworten
@Cactus26 Dich da "oben ich das versuchen und Du schaust es Dir dann an?", wo sind wir denn hier... Mich begeistert dieser Link. Wer bin ich denn Dir das "erlauben/verbieten" zu können. Mach rein, für mich ausreichend belegt. Mir geht hier darum (ich sehe da Avron auf seiner Diskuss "wobei ich mir nicht ganz so sicher bin ob er gerechtfertigt ist") den Beweis für die Rechtfertigung zu liefern, Haurenherm liefert.
Mir geht es nicht drum meine hier oben genannten Einzelnachweise hier durchzusetzen.
PS meine Mail ist offen, ich habe meinen Schinken komplett eingescannt (ca. 10 MB) kannst Dich melden, schicke ich Dir zu. Nochmal Danke für Haurenherm (genial) mach bequem --Hugo 22:09, 18. Feb. 2012 (CET)Beantworten
Habe nun den Geschichtsabschnitt auf Basis von Heger und Hauerherm etwas ergänzt. Ich hoffe, es gefällt Dir. Danke nochmal, dass Du mir Heger zur Verfügung gestellt hast.--Cactus26 (Diskussion) 18:11, 9. Mär. 2012 (CET)Beantworten

Beispiel

Bearbeiten

Das Struktogramm ist als Beispiel leider nicht geeignet, so ist der Artikel nicht OMA-tauglich. War nur hier, um den englischen Begriff zum Googlen zu suchen (geile Methode, erst in die WP zu schauen:-)), weil ich ein SAS-Beispiel brauchte hier gefunden. Da kann bestimmt jemand etwas ähnliches, vielleicht auch mit (COBOL- oder Pseudo-)Code beisteuern.--Mideal (Diskussion) 13:21, 7. Mär. 2019 (CET)Beantworten

Weiß nicht. Zugegeben, Nassi-Shneiderman-Diagramme sind nicht mehr modern, aber daraus Pseudo-Code abzuleiten, ist eigentlich trivial. Ein Beispiel in COBOL o.ä. mag noch hilfreich sein. Da bei SAS der Gruppenwechsel ohnehin Sprachbestandteil ist, brauchtest Du aber auch das nicht. Aber immerhin hast Du darüber die entglishe Entsprechung ermitteln können...--Cactus26 (Diskussion) 13:59, 7. Mär. 2019 (CET)Beantworten
Nachtrag: Wir haben erstaunlicherweise gar keinen Artikel zu en:SAS_(software), obwohl es den in mehr als 10 Sprachen gibt. Sonst hätte ich die Sprache in die Liste der Sprachen mit intergriertem Gruppenwechsel aufgenommen. Hast Du vllt. Lust?--Cactus26 (Diskussion) 14:04, 7. Mär. 2019 (CET)Beantworten