Diskussion:Programmcode/Archiv/1

aus Wikipedia, der freien Enzyklopädie

Erweiterung

Nach diversen Diskussionen (zuletzt Löschdiskussion für 'Übersetzer (Programmierung)') wurde jene Seite gelöscht - was i.W. mit einer unpassenden Lemmabezeichnung begründet wurde. Ich habe den dortigen Inhalt in meinem BNR überarbeitet und beabsichtige, ihn HIER im Artikel einzustellen, d.h. diesen zu erweitern. Von der Zielsetzung her gibt er einen Überblick über "Werkzeuge," die i.Z. mit Programmcode zum Einsatz kommen können - immer mit Links auf die Hauptartikel. Möglicherweise gibt es weitere Tools, die man dort noch ergänzen könnte/sollte.

Ursprünglich war dieser Inhalt entstanden, weil Benutzer nach Beispielen gefragt hatten - und Werkzeuge wie Compiler etc. durch heutzutage sehr heterogene Entwicklungsumgebungen sehr unterschiedlich zum Einsatz kommen.

Vor der Übernahme bitte ich um Hinweise zu diesen Texten, zum Teil waren sie schon im LD-Lemma aktualisiert worden.--VÖRBY (Diskussion) 16:30, 26. Jul. 2013 (CEST)

Kein weiteres Feedback - außer 1 Disk-Beitrag in meinem BNR. Texte aus meinem BNR ergänzend übernommen. Ggf. Ergänzungen zweckmäßig/möglich (zB bei Beispielen). --VÖRBY (Diskussion) 12:46, 2. Aug. 2013 (CEST)

Mal wieder: Textlöschungen

Zu den von Ox mehrfach gelöschten Textabschnitten [1] und [2]:

  1. Hinweis auf Synonyme
  2. unterschiedliche Bedeutungen des Ausdrucks 'Code' (PgmCode, Quellcode, Maschinencode ...)
  3. Programmcode aus deklarativer/grafischer Entwicklung ist eine andere Art von Programmcode / Quelltext

Die mehrfach gelöschten Aussagen sind RICHTIG und können an vielen Stellen so oder sinngemäß gefunden werden. Obwohl das bei derartig 'etabliertem Wissen' (siehe Belegpflicht nicht nötig ist, kann ich Belege gerne noch nachtragen.
Sie sind auch WICHTIG, weil sie zum Verständnis des Begriffs 'Programmcode' beitragen, insbesondere bei Laien.
Diese Aspekte zu erwähnen ist auch deshalb SINNVOLL, weil sich in diesem Lemma entwicklungsbedingt sehr viele unterschiedliche Varianten herausgebildet haben, die hier durch entsprechende Hinweise erläutert werden.

Um einem Ausufern dieser Diskussion vorzubeugen (Erfahrung), bitte ich auf diesem Weg vor Allem um Dritte Meinungen - möglichst auch von anderen Autoren als dem Ox-Compagnion.
--VÖRBY (Diskussion) 10:01, 7. Aug. 2013 (CEST)
+Links auf gelöschte Abschnitte: ---VÖRBY (Diskussion) 12:03, 7. Aug. 2013 (CEST)

Disk zu 1. Synonyme

Dass es in diesem Lemma zahlreiche Synonme gibt, ist Tatsache. Solche werden z.B. in der Grafik gezeigt.
Fazit: Hinweise MÜSSEN erhalten bleiben. --VÖRBY (Diskussion) 13:42, 7. Aug. 2013 (CEST)

Disk zu 2. Unterschiedliche Bedeutungen von 'PgmCode' ...

Der Ausdruck 'Programmcode' und auch seine einzelnen Ausprägungen werden in zwei unterschiedlichen Bedeutungen verwendet. Beispiel: Der Primärcode für Pgm A und für Pgm B sind zwei verschiedene Entitäten von 'Quellprogrammen' (Quellcodes). Dagegen steht, dass der Code dieser beiden Programme in derselben Sprache (Syntax ..) geschrieben sein kann; das ist dann nur eine Entität von Code i.S. von Typ/Syntax.

Dieser Konflikt (die unterschiedliche Bedeutung/Benennung) wurde auch schon hier diskutiert und festgestellt, dass "der codierte Text (oder was auch immer) nicht der Code" ist.

Auch in der Literatur wird der Ausdruck 'Code' "quer Beet" mit unterschiedlichen Bedeutungen verwendet. Beispiele:

  • ...arbeitet dabei den Quellcode zeilenweise ab und übersetzt die aktuelle Zeile in Maschinensprache.
hier 'Quellcode' i.S. von Textmenge, Quelltext, Quellprogramm; 'Maschinensprache' i.S. von Code.
  • Die Menge der Maschinenbefehle eines Programms bildet den Maschinencode und das Programmstück nennt man 'Maschinencode'.
Hier 'Maschinencode' i.S. von Maschinenprogramm, Textmenge
  • Maschinenprogramm = Lauffähiges Programm im Binärcode
hier 'Binärcode' als Sprach-/Format-/Syntaxbegriff
  • Da Maschinenprogramme im Maschinencode geschrieben sind, wird auch für sie häufig die Bezeichnung Maschinencode ... verwendet.
Hier wird klar zum Auseruck gebracht, dass 'Maschinencode' sowohl für den Code als auch für die Textmenge verwendet wird.

Fazit: Auf diese Unterschiedlichkeit MUSS hingewiesen werden, im Interesse der Klarheit und zur Vermeidung von Missverständnissen bei den Lesern. Statt Text zu entfernen könnte/sollte man das evtl. noch stärker hervorheben. --VÖRBY (Diskussion) 13:42, 7. Aug. 2013 (CEST)

Disk zu 3. Programmcode deklarativ

Der 'Code' von so entwickelten 'Programmen' ... unterscheidet sich grundsätzlich von textuellem Quellcode (lt. Artikel "für Menschen lesbarer ... geschriebener Text"), nicht nur weil er in anderen Sprachen verfasst ist. Trotzdem wird er u.a. auch 'Programmcode' genannt. Dies soll der Leser hier finden - um die Nebenaussage aus dem Artikel "Jede Software (urspr. 'Programmcode') wird letztlich als Maschinenbefehl (-Code) ausgeführt" (und umgekehrt) auch für diese Art von Software einordnen zu können.
Fazit: Der Hinweis ist wichtig, evtl. kann der Text gekürzt werden. --VÖRBY (Diskussion) 13:42, 7. Aug. 2013 (CEST)

Hallo! Nein, es besteht keinerlei grundsätzlicher, konzeptioneller Unterschied zwischen Programmcode, den man sich großteils zusammenklickt, oder nur in geringerem Maße zusammenklickt, solchem, den man mit einem modernen Texteditor schreibt, oder solchem, denn man mit einem zeilenbasierten Editor schreibt. Das was ein Editor anzeigt sind quasi nie direkt die Bytes, die in irgendeiner Datei stehen, sondern wird irgendwie auf besondere Weise dargestellt. Irgendwelche Formate sind hier auch vollkommen egal. Zudem ist das Konzept visueller Programmierung vollkommen orthogonal zu proprietären Dateiformaten – auch die bei visueller Programmierung verwendeten Formate müssen nicht proprietär sein, ebenso wie bei nicht-visueller diese es sein können – und vollkommen orthogonal zum Konzept der deklarativen Programmierung. Hier werden Dinge zusammengeworfen, die nichts miteinander und schon gar nichts mit einer allgemeinen Erläuterung von Programmcode zu tun haben. Schöne Grüße --Chricho ¹ ² ³ 20:42, 7. Aug. 2013 (CEST) PS: Im von mir soeben entfernten Abschnitt wurden diese Verwechslungen wiederum aufgegriffen und fortgeführt: „Die zur Ausführung durch den Prozessor erforderlichen Maschinenbefehle werden dabei nicht durch eine Konvertierung sprachlich formulierter Anweisungen erzeugt, sondern die Festlegungen des Programmierers werden von der ausführenden Software nur als ‚Daten‘ verarbeitet.“ – ist mehr oder minder das Konzept eines Interpreters, das hier auch noch reingewürfelt wird, hat mit visueller oder deklarativer Programmierung jeweils nichts zu tun. Die anschließende Aufführung etwa von IDEs und Tabellenkalkulation suggeriert, dass man unter der Verwendung solcher Werkzeuge stets visuelle Programmierung verstehen würde.
Die Diskussion hier lässt mich nun auch zu einem etwas anderen Schluss kommen - der aber nicht zur Löschung der entsprechenden Texte führen sollte, sondern nur zu anderen Formulierungen:
  • In der Einleitung: Die für 'deklarativ ...' angführten Besonderheiten ('andere Art') sollte man so beschreiben, dass "sich die verschiedenen Varianten von Programmcode abhängig von der verwendeten Entwicklungstechnologie in zahlreichen Details erheblich voneinander unterscheiden". Deklarative Anweisungen wären da nur ein Beispiel; weiteres wäre: Programmierer kennt das Codeformat (oder nicht), Codevarianten sind klar voneinander abgegrenzt und werden gezielt von P'er erzeugt (oder nicht) usw.
  • Den Teilabschnitt 'Ausführung durch Parameter interpretierende Tools' nur als Variante von 'Interpreter' zu sehen, halte ich für nicht ganz passend. Denn bisher ist für Interpreter immer nur gesagt, sie übersetzen 'Befehle'. Da hier etwas ganz anderes geschieht, denke ich, diese Variante von Werkzeug und 'Programmcode-Verarbeitung' muss/soll hier der Vollständigkeit halber beschrieben werden. Denn was diese verarbeiten, ist ja schließelich auch 'Software'! Wie würdest Du diese Kategorie von Werkzeugen bezeichnen? 'Deklarativ/visuell ...' trifft ja wohl für die Art der Codeformulierung zu, ist aber als Bezeichnung für diese Tools nicht präzise genug.
Zu beiden Teilen möchte ich noch nochmal eine Überarbeitung vornehmen und bitte dann nochmal um 'Prüfung'; schließlich sollte unsere Disk hier zu besseren Artikeln führen.--VÖRBY (Diskussion) 09:03, 8. Aug. 2013 (CEST); Ergänzungen: --VÖRBY (Diskussion) 10:27, 8. Aug. 2013 (CEST)
Hm, man spricht doch durchaus auch bei deklarativen Programmiersprachen von Interpretern, z. B. von Prolog-Interpretern? --Chricho ¹ ² ³ 11:31, 8. Aug. 2013 (CEST)
Ja, im erweiterten Sinn ist das ja auch 'Interpretation'; vielleicht trifft dieser Ausdruck diese Art von Verarbeitung sogar besser als die 'normalen Interpreter' - die eigentlich Befehlsübersetzer sind. Jedenfalls sind das zwei total unterschiedliche Verfahren, was im Artikel auch dargestellt werden sollte. Lass mich deshalb nochmal meine Argumentationskette aufbauen:
  • Wenn diese Art von Anwendungen (siehe Texte) als Software (= 'Programme') gelten, dann ist 'das Programmierte' wohl der 'Programmcode' - egal wie er aussieht. So ist das auch belegt.
  • Dann sollte man das hier auch inkludieren. Was ich versuchen möchte neu zu texten - wie o.g.
  • Ist dies nicht der Fall oder will man diese Art von Anwendungen dem Begriff 'Programmcode' nicht zuordnen (das hieße, Programmcode gibt es nur im klassischen Sinn), dann sollte man das zumindest abgrenzend aufzeigen.
Wenn man dem zustimmen kann, würde ich die Texte nochmal entsprechend umgestalten. 'Interpreter' würde z.B. Datenbankanwendungen, Rep-Generatoren etc. nicht korrekt beschreiben, da sollte es einen anderen Ausdruck geben. --VÖRBY (Diskussion) 18:39, 8. Aug. 2013 (CEST)
Ich machs kurz, hat ja erfahrungsgemäß keinen Sinn:
  • Interpreter sind keine Befehlsübersetzer, sondern "Befehlsausführer". Eine Übersetzung findet bei reinen Interpretern nicht statt. In manchen Fällen wird zwar auch von Interpretern gesprochen, wenn vor der Ausführung eine Übersetzung (z.B. in Bytecode) stattfindet, jedoch ist diese Sprechweise lediglich umgangssprachlich und streng genommen falsch. Es ist außerdem darauf zu achten, dass zunächst nicht definiert ist, was ein "Befehl" überhaupt ist (diese Definition kommt erst durch den Interpreter), hierüber dürfen also keine Annahmen gemacht werden.
  • "Software" ist NICHT gleich "Programm". Sollen wir jetzt jemanden engagieren, der eine Erstsemester-Grundlagenvorlesung hält, oder können wir anfangen, was für die WP zu tun?
  • "Programmcode im klassischen Sinn"? Ich kenne klassische Teilchen, klassische Zeit, klassische Musik und was weiß ich sonst noch. Aber klassischer Programmcode ist mir noch nicht untergekommen.
  • Dass der Begriff "Interpreter" Datenbankanwendungen nicht korrekt beschreibt, ist nicht verwunderlich, das eine hat mit dem anderen nichts zu tun.
Überlass das Umgestalten doch bitte denjenigen, die was vom Thema und den involvierten Begriffen verstehen. Offenbar herrscht bei dir völlige Verwirrung bzgl. der Begriffe "deklarative Programmiersprache", "IDE", "visuelle Programmierung", "UI-Designer". ʘχ (Diskussion) 08:23, 9. Aug. 2013 (CEST)

Leider gleitest du wiedere in überhebliche, schulmeisterliche und beleidigende Darstellungen ab.

  • Mit den zuletzt von mir vorgebrachten Argumenten willst du dich einfach nicht befassen: Ist nun eine (z.B.) in Access erstellte Anwendung (z.B. für das Projektmanagement, die Depotverwaltung oder für eine Schulbibliothek) ein 'Programm' oder nicht? Und heißt das, was dort entwickelt wurde, 'Programmcode' oder nicht? Weiter siehe bei <18:39, 8. Aug. 2013>. Da gäbe es klare Antworten ohne Polemik.
  • Deine Spitzfindigkeiten zu 'klassisch' und 'Befehl' und 'Software' führen hier auch nicht weiter: Du weißt genau was gemeint ist - zumal hier in der Disk; im Artikel könnte man sowas ja 'präzisieren' - wenn man guten Willens ist.
  • Wo soll denn "das eine mit dem anderen nichts zu tun haben"? Das Arbeitsprinzip z.B. eines Bytecode-Interpreters ist ein total anderes als das eines Reportgenerators (...), ja. In beiden Fällen führt aber ein Rechner Maschinenbefehle aus - die auf der Strecke vom Quellcode bis dahin durch irgendwelche Werkzeuge 'laufen'. Diese sollen hier kurz (aber eben vollständig) beschrieben werden. Und dazu gehört der hier [3] gelöschte Textabschnitt.

Die schon früheren Diskussionen hierzu hatten nur dieses eine zum Ziel: Die Unterschiedlichkeit des Prozesses 'Vom Programmierer zur Ausführung' möglichst vollständig zu zeigen. Dass du das anscheinend nicht willst (es wurde so schon x-mal zum Ausdruck gebracht), sei deine Sache. Interessanter fände ich andere Meinungen.--VÖRBY (Diskussion) 09:29, 9. Aug. 2013 (CEST)

Neuentwürfe zu 3. (jetzt ~'Generatoren')

ENTWURF: Neuer Einleitungstext statt ‘Deklarativ = andere Art von Programmcode’:

Abhängig von der verwendeten Entwicklungsumgebung weisen die Varianten von Programmcode erhebliche Unterschiede auf, die in erster Linie die verwendete Sprache betreffen. Weitere Unterschiede können zum Beispiel sein, ob sie aus imperativen Befehlstexten oder deklarativen Anweisungen bestehen, ob sie von den Werkzeugen automatisch erzeugt/verwaltet oder vom Entwickler gezielt hergestellt werden, ob sie typbezogen als getrennte Datenobjekte (als Dateien oder in Programmbibliotheken) oder in einem gemeinsamen Datenbestand verwaltet werden, ob sie überhaupt auftreten (z. B. bei Zwischencode) oder wie sie bezeichnet werden (etwa „Pseudocode“ oder „Bytecode“). Zusammenfassend lässt sich feststellen: Die Entwicklung auf dem Gebiet der Programmiersprachen und Programmierparadigmen führte zu vielen unterschiedlichen Formen von Programmcode – die in der Praxis weitgehend parallel angewendet werden.

--VÖRBY (Diskussion) 09:42, 9. Aug. 2013 (CEST)

Leider gleitest du wiedere in überhebliche, schulmeisterliche und beleidigende Darstellungen ab.
In diesem Fall hier ist die Sachlage so klar, dass ich mir eine so deutliche Ansprache leisten kann und muss. Ich lehne mich weiß Gott nicht zu weit aus dem Fenster. Letztlich ist es die Wahrheit, die dich beleidigt, weil du sie nicht wahrhaben willst: Du hast keine Ahnung von diesen Dingen. So einfach ist das. Deine Edits und Äußerungen zeigen immer wieder, dass du alles mögliche durcheinander wirfst und auch von den Grundlagen noch nichts gehört hast. Dasselbe gilt übrigens für mich in anderen Gebieten, beispielsweise Chemie oder Physik. Ich wäre niemals beleidigt, wenn ein Physiker mir sagen würde, ich hätte keine Ahnung davon und solle doch bitte die Finger davon lassen. Ich hab keine Ahnung davon und mache deswegen in dem Bereich auch nichts. Bei dir ist das leider anders: keine Ahnung, nichts verstanden, lernresistent, Endlosdebatten anzettelnd, die nur darauf sind, deine falschen Ansichten durchzuprügeln. Andere Meinungen werden von dir nicht offen abgelehnt, sondern solange debattiert, bis niemand mehr Lust hat und das Weite sucht. Man sollte wissen, was man kann, aber auch, was man NICHT kann. Aussagen über deine informatische Qualifikation sind keine Beleidigungen, sofern sie angemessen formuliert sind. Bei dir helfen nur sehr deutliche Worte, das ist mittlerweile bekannt. ʘχ (Diskussion) 15:20, 9. Aug. 2013 (CEST)
Wovon soll ich keine Ahnung haben? Es geht um das Lemma 'Programmcode'. Den gibt es lt. Artikel in den drei beschriebenen Formen, im Details unterscheiden sie sich aber erheblich - was bisher kaum zum Ausdruck kommt. Jeglicher Programmcode dient dazu, letztlich ausgeführt zu werden (und umgekehrt). Egal wie er entwickelt wurde. Einen Überblick darüber zu vermitteln, welche Kategorie Werkzeug auf diesem Weg (von Programmierer zum Maschinenbefehl) zum Einsatz kommen kann, ist das Ziel meiner Texte hier. Sonst nichts. Das wurde aber schon x-mal geschrieben.
Mit Wahrheit und Grundlagen und Detailwissen hat das alles nichts zu tun, das ist nur der Versuch, diesen Überblick zu geben. Das willst du aber nicht begreifen oder akzeptieren, warum auch immer. Mit meinen konkreten Fragen beschäftigst du dich überhaupt nicht, die beleidigen wahrscheinlich dein überragendes Fachwissen und Selbstbewusstsein. Manchmal braucht man aber eine etwas breitere Sicht der Dinge, Details verstellen oft die Sicht auf das Ganze. Und Arroganz auch.--VÖRBY (Diskussion) 17:38, 9. Aug. 2013 (CEST)
Mit IDEs hat das wenig bis nichts zu tun. Die umständliche Formulierung „Sprache ‥, in der sie codiert sind“ ist meines Erachtens nur verwirrend, man kann einfach „in der sie geschrieben sind“ schreiben oder dergleichen. Beim Rest weiß ich nicht, wie es hilft, den Begriff des Programmcodes zu beschreiben. Es gibt dieses und jenes in allen möglichen Richtungen – man könnte genauso gut auch noch funktionale Programmierung, variierende Codequalität, verschiedene Texteditoren, verschiedene Formate von Dateisystemen aufzählen. Hat alles was damit zu tun, wie der Programcode aussieht, oder wie mit ihm umgegangen wird, ist aber nicht wirklich erhellend. --Chricho ¹ ² ³ 15:29, 9. Aug. 2013 (CEST)
Kurze Statements:
  • IDE: Nochmal: Jede, auch mit IDE entwickelte Software hat 'Programmcode' - der irgendwie zur Ausführung kommt. Was soll also dann die Aussage 'hat damit nichts zu tun'? Im Textentwurf kommt IDE auch nicht vor.
  • "weiß ich nicht, wie es hilft": Die bisherige Einleitung suggeriert, dass es einfach diese drei genannten Varianten von Programmcode gibt. Dass es dabei aber erhebliche Unterschiede gibt, kommt nirgends zum Ausdruck. Das halte ich aber für bedeutend.
  • "Codiert sind" schließt auch die Zwischen- und Maschinencodes ein, und meint nicht nur die "Sprache, in der sie geschrieben sind". Klar kann man immer irgendwie anders formulieren, aber präzise soll es schon sein. Weitere wichtige Unterschiede kann man gerne ergänzen, wobei sich Details auch aus den Hauptartikeln ergeben sollten.
--VÖRBY (Diskussion) 17:38, 9. Aug. 2013 (CEST)

ENTWURF: Neuer Text für den gelöschten Abschnitt "Deklarativ programmieren und ausführen"

(=== Formular- und Reportgeneratoren etc. ===) (gäbe es eine besser passende Überschrift?)
Bei der Entwicklung von Programmen mit Werkzeugen wie Formular- oder Reportgeneratoren oder Endbenutzerdatenbanken, die oft als Integrierte Entwicklungsumgebungen (IDE) oder Grafische Programmiersprachen verfügbar sind, werden Angaben zum Inhalt des Programms (die gelegentlich auch als Programmcode bezeichnet werden) mit diesen Werkzeugen erzeugt, verwaltet und meist auch ausgeführt. Bei der Ausführung ist das eigentliche ‚Programm‘ – als Beispiel – ein Reportgenerator, der die Angaben des Programmierers über Berichtsfelder mit ihren Formaten, über Gruppenwechsel und die Sortierfolge des Berichts, die SQL-Kommandos etc. (die als Programmcode/Quellcode für jeden einzelnen Report festgelegt sind) verarbeitet, und der so die spezifizierten Ergebnisse (den Bericht) erzeugt; im Gegensatz zur Ausführung eines kompilierten und/oder interpretierten Programmcodes. Unabhängig hiervon können solche Werkzeuge zum Teil zusätzlich interne Compiler oder/und Interpreter oder Codegeneratoren verwenden.

Dies ist eine eigene Kategorie von 'Werkzeugen zur Verarbeitung von Programmcode': Diese Art der Verarbeitung ist funktional etwas ganz anderes als das Umwandeln von Quell- oder Zwischencode durch einen Interpreter. --VÖRBY (Diskussion) 13:11, 10. Aug. 2013 (CEST)

Text geändert: Das konkrete Beispiel 'RepGenerator' bringt deutlicher als bisher zum Ausdruck, dass bei dieser Art von Werkzeug zwei unterschiedliche 'Programme' beteiligt sind: Der Generator selbst und das vom Programmierer erstellte "Programm" (d.h. die Angaben dazu, die jedoch ebenfalls als 'Programmcode' gelten). Ein derartiges Ineinandergreifen von Programmfunktionalität findet ja eigentlich fast immer statt - zB wenn ein Maschinenbefehl Systemfunktionen aufruft. Aber das wäre wohl zuviel an Detail.--VÖRBY (Diskussion) 09:30, 11. Aug. 2013 (CEST)

Ich habe die beiden Abschnitte in ihrer neuen und vorher hier ohne weiteres Feedback vorgestellten Form im Artikel eingestellt. Zu Synonymen siehe Kommentartext in der Einleitung. --VÖRBY (Diskussion) 17:22, 14. Aug. 2013 (CEST)

Den Abschnitt über Generatoren etc. habe ich nochmal gelöscht. Die dortigen Aussagen halte ich zwar für richtig, doch scheinen derartige 'Anweisungen' nur in seltenen Fällen mit 'Programmcode, Quellcode' etc. bezeichnet zu werden. Eine andere Bezeichnung für diese Anweisungen (die ja auch Code sind) konnte ich leider noch nicht finden. Ggf. sollte man deshalb diese Art von 'Angaben' in der Einleitung erwähnen, sie aber als "i.e.S. nicht zum Begriff 'Programmcode' gehörend" abgrenzen.
Allerdings trifft diese Art von Code-Ausführung (kein Compiler, kein Befehlsinterpreter!) aber zB auch auf SQL-Kommandos zu - die (im Gegensatz dazu) als 'Programmcode' (deklarativ) gelten. Diese 'Art von Werkzeugen', die derartigen Code ausführen, sollten deshalb eigentlich in die Aufzählung genannt werden.
Chricho und Ox: Ich vermute, das waren auch Eure Bedenken. Wäre dieses Abgrenzen (hatte ich schon mal nachgefragt) und das Ergänzen um 'Laufzeitkomponenten' ein Kompromiss? --VÖRBY (Diskussion) 18:15, 15. Aug. 2013 (CEST)
aktualisiert: --VÖRBY (Diskussion) 08:41, 16. Aug. 2013 (CEST)

Ich habe zum Aspekt 'Programmcode i.Z. mit Generatoren' einen Abschnitt in der Einleitung eingestellt - wonach diese Art von Code nicht als Programmcode gilt. Das würde also dann den o.g. Aussagen "hat nichts miteinander zu tun" entsprechen. Wenn jemand gegenteilige Belege fände, sollte diese Abgrenzung wieder entfernt werden - und diese ~Generatoren bei den Werkzeugen wieder ergänzt werden. --VÖRBY (Diskussion) 14:19, 17. Aug. 2013 (CEST)

Übersichtsartikel? BKS?

Uff, was für ein Artikel. Wie ich sehe, ist das aus dem inzwischen gelöschten Artikel "Übersetzer (Programmierung)" von Benutzer:VÖRBY hierher verfrachtet worden.
Das ist ja alles gut und schön, aber mir erscheint das wie ein Übersichtsartikel zu allem was so mit (Programm-)Übersetzung/Kompilierung zu tun hat. Allerdings haben wir zu jedem aufgeführten (und verlinkten) Thema bereits recht gute eigenständige Artikel.
Macht sowas hier dann wirklich Sinn? Oder würde es nicht auch die BKS tun, so wie sie hier vorher [4] war?--Plankton314 (Diskussion) 13:29, 4. Feb. 2015 (CET)

Hm. Sollte der Artikel (in jetzt-ähnlicher Form) bleiben sollen, muss sofort ein Bausteil "Redundanz" zu Programmierung sowie Computerprogramm rein.
Soweit ich das beim Überfliegen verstehe, ist das eher ein "genereller Begriffsklärungs-allumfassend-Wurf" als eine Beschreibung "Was versteht man unter 'Programmcode'?". Und so beschreibt es Vörby ja auch (siehe oben, Abschnitt "Erweiterung"). In der Schule hieß das früher "Thema verfehlt, 5, setzen." In diesem Artikel wird alles mögliche behandelt - aber "Was versteht man unter 'Programmcode'?" ist nur ein (kleinerer) Teil davon.
Auch ist der Begriff "Programmcode" schon ziemlich scheußlich; da muss ich erst mal ernsthaft drüber nachdenken, was es denn sonst noch für Code (im Rahmen der Programmierung) gibt, der kein Programm beschreibt? (à la "weißer Schimmel"...) Selbst "allgemein" fällt mir eigentlich nur noch "Zugangs-/Verschlüsselungs-Code" ein; der meiste "Rest" fällt wohl unter "Datenformat".
In meinem Umfeld spricht eigentlich nie jemand von "Programmcode", weil das einfach zu unspezifisch ist. Wenn, dann ist die Rede von "Sourcecode", "Bytecode", "Quellcode", "Maschinencode" ~ aber "Programmcode"? Sagt das tatsächlich jemand? Um es wovon abzugrenzen?
Fazit: ca. 75% des Artikels gehört gelöscht. Tut mir zwar sehr Leid für Vörby, aber eine "Übersicht über Programmierung, Werkzeuge und Ausführungsumgebung, mit Beispielen" gehört in eine Abhandlung oder ein Buch; in einer Enzyklopädie kann sich das allenfalls ergeben, wenn man mehrerer Artikel liest und in Kombination dann versteht.
--arilou (Diskussion) 14:27, 4. Feb. 2015 (CET)
Beim weiteren Nachdenken finde ich Plankton314s Vorschlag "zurück zur BKS" besser und besser. Was/wie man mit Quellcode umgeht, was mit Byte-/Zwischencode geschieht, was es mit Maschinencode auf sich hat - ist in den Detailartikeln doch schon ziemlich gut beschrieben. Was genau soll denn hier noch groß ausgeführt werden?
--arilou (Diskussion) 14:35, 4. Feb. 2015 (CET)
Ich habe es mal gewagt, und auch wenn es sehr schade um die viele geleistete Arbeit ist, halte ich eine BKS ebenfalls für ausreichend. --Domi (Diskussion) 20:15, 8. Feb. 2015 (CET)
Ich denke nicht dass das Lemma als BKS taugt. Derzeit besagt die Seite ja, dass Programmcode die Gesamtheit ist, die man in die Arten Quelltext, Zwischencode und Bytecode unterteilt.
Wenn dem so ist (dass Programmcode für alle drei steht und nicht nur ein Synonym für Quelltext, Zwischencode, Maschinencode und Bytecode ist), dann ist BKS nicht das Richtige.
Es gibt ca. 50 Seiten, die auf Programmcode verlinken - einige davon vielleicht auf den Begriff als Gesamtheit von Quelltext, Zwischencode, Bytecode, Maschinencode. Dann geht auch keine BKS
Aus meiner Sicht sollte also a) geklärt werden, ob man mit Programmcode wirklich die Gesamtheit meint und b) (wenn ja) daraus einen Rumpfartikel machen, der die Dinge enthält, die für Programmcode (also für Quelltext, Zwischencode, Maschinencode _und_ Bytecode) enthält. --Sebastian.Dietrich 21:20, 8. Feb. 2015 (CET)
In deinem Diskussionsbeitrag ist der Unterschied zwischen Programmcode als Synonym oder als Sammelbegriff irgendwie nicht erkennbar. Es gibt den Programmcode, der in die Arten Quellcode, Zwischencode und Maschinencode unterschieden wird, weil alle drei Formen ein Computerprogramm darstellen. Da der Programmcode nur in einer der genannten Formen existieren muss, um von Computern oder anderen Computerprogrammen verstanden zu werden, ist es für die Funktion auch unerheblich, ob einem Nutzer alle vier Formen des gleichen Programms vorliegen. Im Falle von VM-Plattformen und Skripten wäre dies auch kaum möglich. --Domi (Diskussion) 21:55, 8. Feb. 2015 (CET)
Dann bist du also der Meinung, dass es "den Programmcode gibt, der in die Arten Quellcode, Zwischencode und Maschinencode unterschieden wird". Somit ist BKS falsch und es ist zwingend ein Sammelartikel zu schreiben, der die Gemeinsamkeiten der 3 Varianten enthält (was du ja auch neben den Redundanzen gelöscht hast). Machst du jetzt deine Löschungen wieder rückgängig, oder soll ichs machen? --Sebastian.Dietrich 09:05, 9. Feb. 2015 (CET)
Meine Meinung hat bei dir offenbar zu einer falschen Schlussfolgerung geführt. Ich finde es merkwürdig, dass die Durchführung eines QS-Vorschlags jetzt auf einmal meine Löschungen geworden sind. Der Sammelartikel würde sich nur mit den drei Einzelartikeln thematisch überschneiden - das ist in der Wikipedia nicht erwünscht. --Domi (Diskussion) 00:51, 11. Feb. 2015 (CET)
Naja "ich hab ja nur gemacht, was andere vorgeschlagen haben" ist vielleicht eine Ausrede, aber keine Begründung für eine Löschung, wenn die Diskussion noch andauert. 4 Tage mit 2 Diskussionsteilnehmern ist in der WP einfach zu kurz um sagen zu können, die Diskussion wäre ausreichend geführt worden & es wäre ein eindeutiges Ergebnis bzw. sowas wie ein "Auftrag" entstanden. --Sebastian.Dietrich 20:20, 12. Feb. 2015 (CET)
Ich persönlich hätte aber gerne einen Beleg, dass mit Programmcode nicht nur Sourcecode gemeint ist. Ich denke auch, dass damit alle 3 gemeint sind, aber sicher bi ich nicht (und der Duden sagt z.B. was anderes [5]). --Sebastian.Dietrich 09:14, 9. Feb. 2015 (CET)
Ich habe auch meine Zweifel. Unter Programmcode wird bei Nicht-Informatikern meistens der Quellcode verstanden. Informatiker wie wir wissen jedoch, dass nur die dritte Form, der Maschinencode, für Computer letztendlich verständlich ist. Trotzdem kann man Programme auch in Maschinencode schreiben - in so einem Projekt wäre Maschinencode zum Programmcode geworden. Ich halte die präsentierte Unterteilung für enzyklopädisch vollständig. Ach, was weiß denn ich. Ich habe nur den Vorschlag der QS durchgeführt. --Domi (Diskussion) 00:51, 11. Feb. 2015 (CET)
Danke, dass dann doch noch ein paar Beiträge dazu kamen.
Ich sehe es ebenso wie auch treffend in arilous Fazit dargestellt, werde morgen aber mal über die Links hierher drüberschauen und sehen welche Bedeutung dort gemeint ist. Vllt. findet hier ja jemand noch etwas dazu, am besten in irgendeinem Standardwerk.--Plankton314 (Diskussion) 22:36, 8. Feb. 2015 (CET)

So, ich habe jetzt mal stichprobenartig bei Google-Books nachgeschaut und folgendes vorgefunden: Der Ausdruck "Programmcode" wird meistens für Quelltext verwendet, aber auch immer wieder für Maschinencode, dagegen für Zwischencode eher weniger bzw. überhaupt nicht.
Der vorherige Artikel [6] bietet mMn. hier leider keinen Mehrwert ggü. den bereits bestehenden und verlinkten Artikeln. Insbesondere stiftet die Einleitung bei mir mehr Verwirrung über den Begriff, als sie erklärt.
Ich werde daher die wieder entstandene BKS sichten. Falls noch Zweifel über die Verlinkung von Zwischen- und Maschinencode existieren, können das gerne hier weiter besprechen.--Plankton314 (Diskussion) 14:42, 12. Feb. 2015 (CET)

Ich denke wir sind uns einig, dass Programmcode als Synonym für Sourcecode, Maschinencode und vermutlich auch Zwischencode/Bytecode etc. verwendet wird.
Wir sind uns auch einig, dass der vorige Artikel zumindest ab dem Abschnitt "Werkzeuge zur Programmcode-Verarbeitung (Überblick)" redundant zu den verlinkten Artikeln war & besser (nicht zwingend) dort stehen sollte.
Folgende Punkte möchte ich aber zur Diskussion stellen:
  • Ist Programmcode _nur_ ein Synonym für Sourcecode, Maschinencode und vermutlich auch Zwischencode/Bytecode etc., oder ist Programmcode _zusätzlich_ ein eigenständiger Begriff, der die Gesamtheit einer Software beschreibt (Sourcecode _und_ Maschinencode)? Der Artikel davor und auch der Einleitungssatz sagen zweiteres aus. Wenn dem so ist, dann ist BKL nicht das richtige, da BKL nur für Synonyme geeignet ist.
Ich persönlich halte Programmcode für einen Überbegriff, der _auch_ als Synonym für Sourcecode, Maschinencode etc. verwendet wird -> eigenständiger Artikel und keine BKS.
  • Ist der gelöschte Abschnitt _vor_ "Werkzeuge zur Programmcode-Verarbeitung (Überblick)" wirklich so schlecht, dass er nicht verbessert werden könnte? Insbesondere das gelöschte Bild halte ich für sinnvoll.
Ich persönlich halte den Abschnitt für verbesserungswürdig und ausbaufähig. Insbesondere "Unterschiedliche Bedeutungen und Synonyme" und "Abgrenzung", sowie Nennung von "Pseudocode" halte ich für enzyklopädisch wertvoll und hier am richtigen Platz -> Revert der Löschung dieses Abschnittes und Verbesserung/Stutzung etc.
  • Ist der Rest _ab_ "Werkzeuge zur Programmcode-Verarbeitung (Überblick)" wirklich so schlecht, dass er nicht in die Hauptartikel eingebaut werden könnte?
Ich persönlich halte den Rest (zumindest den Abschnitt zu den Werkzeugen) für teilweise gut & einbaufähig in die Hauptartikel bzw. in Compiler, Assembler etc. --> Rettung was zu retten ist und Einbau/Umformulierung wo es besser hinpasst (fallst dort nicht schon vorhanden)
--Sebastian.Dietrich 20:20, 12. Feb. 2015 (CET)
Sofern dich meine Meinung interessiert, möchte ich wie folgt darauf antworten, ohne den Anspruch zu haben, dass das für den Artikel oder die Allgemeinheit Gültigkeit haben muss.
  • Programmcode ist aus meiner Sicht jede Form der Instruktion, die ein Computer für sich übersetzen und ausführen kann - entweder direkt oder mittels eines anderen Programms. Programmcode ist allerdings nur solcher Code, für den es bereits Übersetzungsprogramme gibt. Instruktionen, die ein Computer wegen universell nirgendwo verfügbarer Übersetzungsmöglichkeiten nicht versteht, sind aus meiner Sicht kein Programmcode. Darunter fällt leider auch Pseudocode, der nicht an eine geschlossene Syntax (und auch nicht an Terminiertheit) gebunden ist - die Möglichkeit zur Terminiertheit ist für mich das wesentlichste an einer Programmiersprache überhaupt, neben einer geschlossenen Syntax. Mir ist keine Form von Programmcode bekannt, deren Syntax ein Mensch nicht erlernen könnte, sodass ein Mensch theoretisch in jeder vorliegenden Form eines Programms den Programmcode verändern kann, selbst wenn er keinen Zugang zum Originalcode hat. Wenn man es jedoch ganz streng und genau betrachtet, ist Programmcode ausschließlich der Code, den der Verfasser eines Programms auch sieht und programmiert. (Quellcode.)
  • Es ist mir nicht leichtgefallen, all die Arbeitszeit durch einen Stub zu ersetzen. Aber viel mehr Formulierungsbedarf, außer bei einem deutlichen Hinweis auf das gängige Falschverständnis, es wäre allein Quellcode ein Programmcode, sehe ich ohne Überschneidung mit den Artikeln über Programmieren oder Softwareentwicklung nicht. Vielleicht möchte man die Darstellungen und Texte in die passenden Artikel hinüberretten, wie du es auch vorgeschlagen hast, damit die Mühe nicht umsonst war. --Domi (Diskussion) 22:13, 12. Feb. 2015 (CET)


Ich möchte Benutzer:Sebastian.Dietrich (teilweise) widersprechen.
Im hiesigen Artikel sollten keine Abschnitte wiederhergestellt werden, die nicht zum hiesigen Lemma passen, "weil sie in anderen Artikeln evtl. sinnvoll eingearbeitet werden könnten".
Sofern dieser Wunsch/Absicht besteht, kann der Durchführende die Abschnitte aus einer älteren Version hiesiger Seite entnehmen. Ein Versions-konformes Übernehmen in einen anderen Artikel geht sowieso nur mit Admin-Hilfe, setzt also sowieso fortgeschrittene WP-Autorenkenntnisse voraus; da stellt dieses Zusatzproblem kein unüberwindbares Hindernis dar.
Was aber auf jeden Fall vermieden werden sollte, ist eine "General-Abhandlung" über alle möglichen Programmierthemen in diesem Artikel - und auch in Bildern.
Das "Übersichtsbild" aus gekilltem Artikel finde ich unübersichtlich und überfrachtet - bzgl. des Aspekts zu erklären "Was versteht man unter 'Programmcode'?"
Soweit ich das sehe, haben wir einige (gute) Belege, in denen "Programmcode" synonym zu "Quellcode" verwendet wird.
Benutzer:Plankton314 kennt wohl (vernünftige) Belege, in denen "Programmcode" für "Maschinenprogramm/code" verwendet wird.
Ich habe bisher (auch in meiner Google-Books-Suche) noch keinen gesehen, in dem "Programmcode" „übergreifend für die Gesamtheit einer Software“ verwendet wäre. Wenn es daran hängt, ob eine BKS ausreicht oder ein Artikel sein muss, sollten wir imo wenigstens eine solche Verwendung in einer halbwegs vernünftigen Quelle dafür haben.
--arilou (Diskussion) 11:34, 13. Feb. 2015 (CET)
Leider nein, arilou, ich habe keine solide Recherche durchgeführt, sondern habe mich nur jeweils eine Viertelstunde durch Google-Web und Google-Books durchgeklickt und geschaut, in welchem Kontext das Wort "Programmcode" auftaucht.
Ich denke, dass es sich hier (wieder einmal) um einen fachlich nicht eindeutig besetzen Ausdruck handelt, den jeder Autor so verwendet, wie er ihn gerade braucht. Es scheint oft "Quelltext" damit gemeint zu sein, aber nicht ausschließlich.--Plankton314 (Diskussion) 11:39, 13. Feb. 2015 (CET)
Ich bin nicht für eine Widerherstellung von Dingen, die nicht in den Artikel passen - die Schöpfungshöhe dieser Dinge ist denke ich nicht groß genug, um ein Widerherstellen und Verschieben samt Historie der Autoren notwendig machen würde.
2 Abschnitte allerdings passen sehr gut zum Artikel - ich habe sie daher wieder hergestellt.
Falls wir bei der BKS bleiben, dann müssten sie natürlich wieder raus. Ebenso aber auch der Einleitungssatz "Als Programmcode bezeichnet man die Menge der Anweisungen eines Computerprogramms. In folgenden Arten von Programmcode wird unterschieden:"
Denke auch, dass es nicht leicht sein wird zu belegen, dass mit Programmcode alle 3 Arten gleichzeitig & zusammengenommen gemeint sein könnten. Hier aber ein Beispiel, dass belegt, dass mit Programmcode sowohl Sourcecode, als auch Bytecode als auch Maschinensprache gemeint ist: [7]. --Sebastian.Dietrich 12:50, 13. Feb. 2015 (CET)
Ich fand den wiederhergestellten Abschnitt unverständlich und habe ihn deshalb umgeschrieben. Da der sehr kurze Abschnitt "Synonyme" gleichbedeutend mit dem Einleitungssatz war, habe ich den wesentlichen Teil von Syntax und formale Sprache als Code noch ergänzt und ansonsten den Absatz wieder entfernt. Hier muss aber noch jemand drüberlesen, weil ich keine Quellen über die Ergänzungssprachen gefunden habe, als die mein AS-Dozent solche wie HTML oder SQL bezeichnete. --Domi (Diskussion) 21:45, 13. Feb. 2015 (CET)
Sorry, aber eure beiden Versionen geben mMn. nicht mehr her, als eine BKS.
Ich glaube nicht, dass es eine Meta-Bedeutungsebene gibt, sprich dass "Programmcode" mehr ist als ein Synonym für Quell- bzw. Maschinencode. Darum ist eine Erläuterung und Abgrenzung (wie derzeit im Artikel) hier mMn. nicht angebracht, sondern sollte (wenn überhaupt) in einem der Zielartikel erfolgen.
Überhaupt sollte eine Abgrenzung erst stattfinden, wenn dargestellt ist (am besten belegt) was der Begriff "Programmcode" überhaupt darstellt (d.h. inwiefern er über ein bloßes Synonym hinausgeht).--Plankton314 (Diskussion) 11:02, 14. Feb. 2015 (CET)
Da bin ich anderer Ansicht. Gerade weil Quellcode landläufig als Programmcode bezeichnet wird, und Laien zwischen Ergänzungssprachen und Programmiersprachen nicht unterscheiden, halte ich eine Abgrenzung in der Form für wichtig und im Artikel über Programmcode auch durchaus am rechten Platz. Denn für den Laien werden Computer auch durch SQL oder HTML instruiert. Darzustellen, dass es nicht das gleiche ist, finde ich deshalb wichtig. Wir könnten noch auf den Hauptartikel Programmiersprache verlinken. --Domi (Diskussion) 13:23, 14. Feb. 2015 (CET)
Es gibt nur zwei Möglichkeiten:
  1. Man definiert "Programmcode" als eigenständigen Begriff, den man dann versuchen kann abzugrenzen.
  2. Es ist ein mehrdeutiger Ausdruck für Quell-/Maschinencode, dann ist hier eine BKS angebracht.
Die derzeitige Form ist irgendwas zwischen BKS und Artikel und daher nicht zulässig. Es erschließt sich mir auch nicht, warum man Programmcode gegen Markup-Sprachen abgrenzen müsste. Da ist keine thematische Überlappung und wir müssen nicht jeder möglichen Verwechslung vorausgreifen.--Plankton314 (Diskussion) 14:22, 14. Feb. 2015 (CET)

Fehlendes

Das war mal wieder eine typische Wikipedia-Orgie: Da machten einige "Spezialisten" wieder "tabula-rasa". Viele der gelöschten Textteile beschrieben den 'Begriff' ganzheitlich, während die Einzelartikel nur die jeweilige Ausprägung beschreiben; es lag also nur bedingt Redundanz vor - zumal auf 'Hauptartikel' verwiesen war. Wo zB sind die Aussagen der gelöschten Texte/Grafiken jetzt enthalten? S.a. die Fragen von Sebastian Dietrich.

Meine Meinung: Im aktuellen Zustand ist das Lemma unvollständig und nur oberflächlich beschrieben. Vor Allem Laien finden so Wesentliches zu diesem Begriff nicht mehr. Was ich im Artikel vermisse:

  • Dass damit nicht 'Code' im Sinn von Sprache/Syntax gemeint ist, sondern i.S. von 'Programmstück'.
  • Dass der Ausdruck 'Programmcode' meist nur dann verwendet wird, wenn derartige Codeteile im Allgemeinen, also nicht als spezielle Variante davon gemeint sind. Sie auch WP-Links. Oder direkt als Synonym für eine dieser Unterarten.
  • Die Beschreibung als Synonym für Quelltext ist höchstens eine umgangssprachliche Gewohnheit, keinesfalls korrekt.
  • Dass die Untervarianten i.d.R. identische Funktionen/Funktionsteile 'beschreiben', die in unterschiedlichen Stufen des Entwicklungsprozesses - mit unterschiedlichen Werkzeugen - hergestellt werden. Siehe auch die gelöschte Grafik.
  • Dass das Format und die Syntax von Programmcode-Komponenten je nach der verwendeten Entwicklungsumgebung hochgradig unterschiedlich sind.
  • Dass damit nicht nur ganze Programme, sondern auch beliebige Teile davon gemeint sein können.
  • Dass dies nicht nur 'Befehle' sein müssen, sondern zum Beispiel auch Datendeklarationen ("Copybook") oder andere Varianten von 'Anweisungen'.

Die Abhandlung, dass 'Programmcode' den Definitionen von 'Turingmaschine' entsprechen muss, halte ich für unpassend und für nicht bewiesen; bitte Belege dafür einstellen. Im Gegenteil: Warum soll zB SQL-Code kein 'Programmcode' sein? Er ist in einer bestimmten Syntax gehalten und legt fest, was bei der Ausführung eines "Programms" (i.w.S.) zu tun ist. Ob dabei ein Compiler, Interpreter oder sonst was benutzt wird, ist vollkommen nebensächlich, "wesentlich" ist nur, dass der Code automatisch verarbeitet werden kann. Gleiches gilt m.E. für Anweisungen, die mit grafischen Sprachen formuliert sind. Zu Letzterem gilt möglicherweise, dass derartige Konstrukte meist nicht als 'Programmcode' BEZEICHNET werden, nach der Einleitungsdefinition SIND sie aber Programmcode. Auch diesbezüglich wäre die Beschreibung zu ergänzen. --VÖRBY (Diskussion) 13:24, 3. Mär. 2015 (CET) Ergänzt: --VÖRBY (Diskussion) 11:23, 4. Mär. 2015 (CET)

Die o,.g. Stichworte beziehen sich IMMER auf mehr als eine Untervariante von Programmcode. Wer sich über PC informieren möchte, sollte insofern auf derartige Infos stoßen. Da die bisherige Diskussion i.W. darauf abstellte, dass derartige Aussagen bei den Unterartikeln zu finden seien oder dort besser hinpassten, will ich zwei Anmerkungen machen:

  • Gehören sie wirklich in nur einen dieser Unterartikel? Nur dann gehören sie nicht in PC behandelt.
  • Wo finden sich solche Aussagen in den vorhandenen Unterartikeln?

Fazit: 'Programmcode' ist ein übergreifender Begriff, der den Aspekt umfassend beschreibt, dass Software im Entwicklungsprozess in unterschiedlichen Varianten auftritt und sich dabei vieles unterscheiden kann.--VÖRBY (Diskussion) 19:33, 9. Mär. 2015 (CET)

Erg.

Hi. Mir ist egal, was hier an dem Unfug herumgedoktert wird. Zum gegenwärtigen Zustand: Die momentane "Abgrenzung" ist TF-Quark (Turingmächtigkeit ist kein Kriterium für Programmiersprachen oder Programmcode, siehe Coq, Agda, Idris für Beispiele, wo echte Informatiker Dinge als Programmiersprachen bezeichnen) und "wobei der Code in der Syntax einer formalen Sprache besteht." bedeutet nichts. "X besteht in Y" macht schon grammatikalisch keinen mir bekannten Sinn. --217.186.153.139 00:55, 5. Mär. 2015 (CET)

Habe den Revert von Sebastian Dietrich nicht richtig interpretiert. Nun steht im "Abgrenzung"s-Abschnitt ja wieder 'was anderes. Zwar auch grottenschlecht, aber meine obige etwas konkretere Kritik ist nicht anwendbar. --Daniel5Ko (Diskussion) 01:15, 5. Mär. 2015 (CET)
(Kurze Klarstellung zwecks Zweifelbeseitgung: die 217.* war ich offenbar auch.) --Daniel5Ko (Diskussion) 01:34, 5. Mär. 2015 (CET)
@Revert - da gings mal nur darum die Löschung wieder rückgängig zu machen, da einige der Punkte von VÖRBY damit "gelöst" wurden. Damit sind noch immer viele Fragen offen und der Artikel ist immer noch grottenschlecht. --Sebastian.Dietrich 10:17, 5. Mär. 2015 (CET)

(BK) Sorry, ich möchte hier niemandem auf die Füße treten, aber das ist umseitig nicht tragbar bis peinlich:

  1. Der Abschnitt "Unterschiedliche Bedeutungen" ist mit enzyklo.de belegt, was nur ein automatischer Aggregator von anderen Enzyklopädien und ähnlichen Tertiärquellen (inklusive uns selber) ist --> keine zulässige Q.
  2. In "Abgrenzung" zu schreiben wofür man keine Belege gefunden hat und wo es eventuell eine vermutete Schnittstelle zum Überbegriff "Code" geben könnte...

Liebe Leute, können wir uns nicht ein bißchen ernsthaft mit der Thematik beschäftigen?
Wenn sich keine vernünftige Sekundärliteratur findet (und das hat es in den vergangenen Wochen offensichtlich nicht), sind diese beiden Abschnitte als TF anzusehen und zu entfernen.--Plankton314 (Diskussion) 10:20, 5. Mär. 2015 (CET)

Zu Daniel5Ko|Diskussion]]) 01:15: Ich weiß nicht, was da 'grottenschlecht' sein soll. Die dort beschriebenen Konstrukte SIND nach der Definition ebenfalls Programmcode, sie werden aber kaum oder nur selten so GENANNT. Nach der dort angegebenen Quelle wird 'Code' wohl - in einem engeren Sinn - nur als textliche Anweisung verstanden; noch so ein Detail, das zum Verständnis von 'Programmcode' nützlich wäre. Passt übrigens alles nicht zu "Programmcode" = BKS.

Zu Syntax: Bedeutet nicht "nichts", sondern ist die Grundlage dafür, dass Programmcode automatisch verarbeitet werden kann; dadurch unterscheidet er sich zB von (textlichen, nur wenig präzisen) Pseudocodebeschreibungen - die man ja sonst auch 'Programmcode' nennen könnte.

Dass PC und Quellcode zT (auch!) synonym benutzt wird, ist ebenfalls unbestritten. Dann sollte man es auch so im Artikel bescchreibeen. --VÖRBY (Diskussion) 10:32, 5. Mär. 2015 (CET)

  • Wie ein Artefakt entsteht, ist herzlich irrelevant für die Eigenschaften des Artefakts. Der Großteil des Abschnitts spricht in wirrer Weise von der Entstehung.
  • " lassen sich keine Belege dafür finden, dass diese Angaben als „Programmcode“ bezeichnet werden" ist TF.
  • Einen Abschnitt "Triffer" findet man in der angegebenen Quelle im Übrigen nicht.
  • Zum Teilsatz "wobei der Code in der Syntax einer formalen Sprache besteht.": hier geht's mir nicht um den Inhalt, da ich gar nicht anfangen kann, die Bedeutung zu entschlüsseln. Man müsste hier die Deutsche Sprache verwenden, wenn man 'was wichtiges erzählen will. Es reicht vermutlich aus, ein anderes Verb zu verwenden. Aber auch dann steht da wahrscheinlich nichts nützliches. Wenn z.B. gemeint ist, dass Code-Fragmente anhand der Syntax einer formalen Sprache analysiert werden können müssen, dann ist das eine Nullaussage, da sich etwa für jeden beliebigen Unicode-String immer eine Syntax für eine Sprache angeben lässt, die den String enthält, und natürlich gibt es auch die formale Sprache, die einfach alle Unicode-Strings enthält. Es kommt auf die Reihenfolge an. Hat man eine Sprache L festgelegt, kann man fragen: "Ist dies oder jenes L-Code?" (mit einer gegebenen Syntax kann man dann auch noch nach einem AST fragen). Die Frage "Ist dies Code?" ist dagegen recht sinnfrei. Zur Verdeutlichung: Das Unix-Kommando cat lässt sich als Interpreter für eine sehr simple Programmiersprache interpretieren. Jede Textdatei stellt dann ein Programm in dieser Programmiersprache dar (in der man ausschließlich Quines programmieren kann).
--Daniel5Ko (Diskussion) 12:08, 5. Mär. 2015 (CET)
Will kurz antworten:
  • Artefakte: Bin anderer Meinung: Relevant für ein Lemma ist alles, was zu seinem Verständnis von Bedeutung ist. Und dazu gehört bei 'Programmcode', wie er entsteht, d.h. dass die unterscchiedlichen Artefakte' aufeinander aufbauen.
  • Belege: Hab den Textteeil abgeändert und einen Beleg eingefügt. Bei derartigen (deklarativen) Programmkonstrukten gibt es in den Quellen hinsichtlich der Frage, ob sie PC SIND, unterschiedliche Aussagen.
  • Triffer: Hat sich erledigt.
  • Syntax: Es geht hier nicht um liguistische Spezialitäten, sondern schlicht darum, dass PC in einer bestimmten Syntax vorliegen muss - damit er, ggf. mehrstufig, automatisch zu einem Programm(-teil) umgeformt werden kann.
--VÖRBY (Diskussion) 15:18, 5. Mär. 2015 (CET)
  • Okay, dann füge doch bitte noch hinzu, wie Reportgeneratoren entstehen etc. etc. Das kann ja nur zum Verständnis beitragen. -.-
  • Die Aussagen sind mit der Belegung immer noch TF. Das lässt sich auch nicht reparieren. Wirrheit ist immer noch da. Warum gerade die Abgrenzung (die m.M.n. ungefähr analog zu einer Abgrenzung von zu ist) erwähnt wird, ist völlig schleierhaft.
  • Triffer hat sich gar nicht erledigt.
  • Die Benutzung verstehbarer deutscher Sätze ist keine linguistische Spezialität. Der jetzt vorhandene Ersatz ist okay.
--Daniel5Ko (Diskussion) 22:56, 5. Mär. 2015 (CET)
Es braucht hier keinen Zynismus: Es geht direkt um 'Programmcode', und dessen Entstehung ist (wäre) für das Verständnis von Bedeutung - nicht aber die Entstehung etwa von Reportgeneratoren. Vgl. Gesetz von Demeter.
In der Abgrenzung soll festgestellt werden, dass Entwurfskonstrukte aus grafischen/deklarativen Entwicklungsumgebungen nicht als 'Programmcode' bezeichnet werden. Da es aber auch hier unterschiedliche Quellen gibt, die den Begriff unterschiedlich interpretieren, ist wahrscheinlich "Abgrenzung" eine unpassende Überschrift. Der Text wurde wieder revertiert.
Triffer war ein Schreibfehler und sollte Trigger lauten. Habs erledigt.
Linguistische Spezialität: Dein Text oben las sich aber so. Wenns jetzt ok ist, ist es gut.--VÖRBY (Diskussion) 10:18, 6. Mär. 2015 (CET)
Die Abgrenzung ist schlecht motiviert. Unabhängig davon bleiben die Behauptungen nicht belegbar, wenn man strenge Maßstäbe ansetzt. Die linguistische Veränderung wurde übrigens wieder herausrevertiert, wozu auch immer. (Vielleicht, weil's mehr als nur linguistisch war; kann man nicht wissen, wenn sich Sebastian Dietrich nicht äußert; wobei sich dann die Frage stellt, warum er mich zur Diskussion eingeladen hat; rigoroses Löschen von Unfug ohne große Diskussion halte ich für effektiver -- wer etwas drin unbedingt im Artikel haben wollte, schreibt es dann halt in hoffentlich besserer Form wieder rein. Fertig. Zuendegeführte Diskussionen gibt es eh nicht.) --Daniel5Ko (Diskussion) 02:23, 7. Mär. 2015 (CET)
Opps - sorry - hab wohl unabsichtlich den Revert Knopf gedrückt und es nichtmal mitbekommen. War nicht meine Absicht
Mein Anliegen ist nur, dass in dem Artikel was steht :-) - dass er keine BKS sein sollte ist denke ich klar, dass er keine Zusammenfassung von Dingen in den Unter-Bezeichnungen sein soll denke ich auch. Löschen, weils X als Unfug sieht, Y aber nicht, damits Y so neu schreibt, damits für X kein Unfug mehr ist, halte ich für nicht zielführend... --Sebastian.Dietrich 09:01, 7. Mär. 2015 (CET)
Tut mir leid, aber warum der Artikel keine BKS sein sollte ist mir bis jetzt immer noch nicht klar.
Es ist bis heute nicht eine einzige reputable Quelle (und damit meine ich ein Standardwerk oder zumindest ein Fachbuch) aufgeführt worden die darstellt, dass Programmcode eine eigenständige Bedeutung hätte.
Ich habe den Abschnitt "Abgrenzung" jetzt entfernt, weil es nicht tragbar ist, aus vereinzelten Verwendung des Ausdrucks in irgendwelchen Uni-Skripten eine Bedeutung des Begriffs abzuleiten.
Darum nochmals die Bitte, hier vernünftige Quellen für den Begriff aufzuführen und nicht bloß aufzeigen, dass der Ausdruck lose und implizit irgendwo verwendet wird.--Plankton314 (Diskussion) 11:45, 7. Mär. 2015 (CET)
Siehe dazu WP:BKS - Programmcode ist - so wie es jetzt im Artikel steht - der Überbegriff für Quelltext, Zwischencode und Maschinencode. Das ist somit eindeutig keine Begriffsklärung die nur Synonyme zulässt. D.h. so wie jetzt der Artikel ist, gehört er ausgebaut, damit es nicht nur ein Stub ist. Die Abgrenzung ist eine valide Ergänzung dazu - egal ob bequellt oder nicht. Der erste Abschnitt ist ja auch nicht bequellt. --Sebastian.Dietrich 12:02, 7. Mär. 2015 (CET)
Ein Überbegriff hat eine Bedeutung, die über einfache Mehrdeutigkeit hinausgeht. D.h. Programmcode wäre mehr, als eine mehrdeutige Bezeichnung für Maschinen-/Quellcode usw. Dafür fehlt aber bis jetzt ein Beleg.--Plankton314 (Diskussion) 12:06, 7. Mär. 2015 (CET)

@VÖRBY: Ich habe mich in dieser Diskussion jetzt mehrfach zu Wort gemeldet und die katastrophale Quellenlage und die damit verbundene TF angesprochen. Sollen wir jetzt ernsthaft eine EW führen, weil du aus der impliziten Verwendung in einem Uni-Skript und einem Programmierbuch eine eigenständige Bedeutung ableiten möchtest??--Plankton314 (Diskussion) 12:04, 7. Mär. 2015 (CET)

Ich hab jetzt mal um Sperre des Artikels gebeten - wir sollten das gemeinsam hier mal diskutieren und auf einen Konsens kommen. --Sebastian.Dietrich 12:08, 7. Mär. 2015 (CET)

So geht das jedenfalls auch nicht: Ich stimme den Aussagen zu "X und Y" von Sebastian Dietrich 09:01h voll zu, deshalb kann ein X oder ein Y nicht einfach seine Meinung durchtexten. Ich hatte deshalb Deine Korrekturen wieder revertiert:

  • Die Aussage zur Syntax und zur automatischen Weiterverarbeitung erscheint dir 'trivial', das sind aber wesentliche Merkmale für Programmcode - sonst wäre jeder funktionsbezogene Text 'Programmcode'.
  • Du bezweifelst, dass Programmcode ein gängiger Ausdruck ist. Dann google den Ausdruck - und du findest 397.000 Ergebnisse. Was willst du noch?
  • Auch die Aussage zu den deklarativen Entwicklungs-Artefakten gehört in den Artikel, weil er sonst genau diese Frage offen lässt. Ich werde noch versuchen, validere Belege zu ergänzen.
  • BKS: Neben der Tatssache, dass 'Programmcode' (u.a.!!!) ein Überbegriff für die genannten Einzelbegriffe ist, gibt es derart viele Eigenschaften/Merkmale (Bsp siehe oben bei #Fehlendes), die auf diesen Sammelbegriff zutreffen (oder für mehrere seiner Teilbegriffe), dass das einfach keine BKS ist - bei der ein Ausdruck auf (begrifflich) unterschiedliche Lemmas verweist (siehe Beispiel 'Schloss').

--VÖRBY (Diskussion) 12:25, 7. Mär. 2015 (CET)

Zu schreiben "ist in der Syntax einer Programmiersprache formuliert" ist einfach umständlich für "ist in einer Programmiersprache formuliert". Und ich sehe nicht, wie man ein Computerprogramm anders als automatisch ausführen könnte.
An keiner Stelle wurde bezweifelt, dass "Programmcode" ein gängiger Ausdruck ist, sondern nur welche Bedeutung er hat.
Die Unterscheidungen, die du im Abschnitt "Fehlendes" aufzählst, kann ich so leider nicht nachvollziehen oder erkennen, inwiefern eine Abgrenzung nötig wäre. Zum Beispiel: Warum ist es nötig, darauf hinzuweisen, dass Programmcode nur ein Teil eines Programms sein kann? Nirgendwo wird entweder auf das eine oder das andere eingeschränkt. Es ist gleichfalls unnötig darauf hinzuweisen, dass ein Glas Wasser nur ein Teil der globalen Wasservorräte sein kann. Oder welche Rolle spielt die Entwicklungsumgebung und die Syntax von Programm-Komponenten für den Begriff Programmcode? Sorry, aber das ist einfach nicht nachvollziehbar.--Plankton314 (Diskussion) 12:55, 7. Mär. 2015 (CET)
"Syntax einer Programmiersprache" ist aus meiner Sicht nicht umständlich, du kannst es aber gerne auch anders formulieren. Aber bitte: Diese Aussage gehört in die Definition. Ohne "... Syntax" könnte man sonst jede schriftliche Form von Anweisungen (Texte sind auch 'Code') meinen (etwa Pseudocode).
Die anderen Aussageen sind ebenso deshalb wichtig, weil sie erklären, was Programmcode ist oder sein kann. Zu 'Teil von Programm': Auch hier könnte ein Leser der Einfachheit halber meinen, der Programmcode würde das (ganze) Programm repräsentieren - was zwar sein kann, aber dem Wesen nach nicht so ist. Ebenso ist es für die OMA nicht klar, dass das Zeug je nach Entwicklungsumgebung total anders aussieht (auch dnders genannt wird); und auch das möchte ICH ihr vemitteln. Warum Du nicht? Weil du WEISST, was Programmcode ist und viele dieser Aussagen kennst und sie deshalb für überflüssig hältst. Die WP ist aber nicht nur für uns da. --VÖRBY (Diskussion) 09:43, 8. Mär. 2015 (CET)
All diese Unterscheidungen stehen bereits in den verlinkten Artikeln. Es würde nur Redundanz aufbauen, wenn wir hier eine Zusammenfassung erstellen.
Wenn zB. "Programmcode" i.S.v. "Quelltext" verwendet wird, braucht der Leser nur in den entsprechenden Artikel zu schauen und wird feststellen, dass Quelltext nicht zwingend nur der Quelltext/Programmcode eines kompletten Programms ist. Und dass ein Quelltext je nach Programmiersprache (warum Entwicklungsumgebung?) unterschiedlich aussehen kann, ist ebenfalls dort beschrieben.--Plankton314 (Diskussion) 10:53, 8. Mär. 2015 (CET)
Die Beschreibungen in den verlinkten Artikeln zeigen aber keinen Zusammenhang zu den jeweils anderen Typen von Programmcode und deshalb nur ein isoliertes Bild, keine Gesamtsicht. Wo steht zum Beispiel, dass/wie ein Modul (= eine gegebene Funktionalität) über verschiedene Stufen hinweg als unterschiedliche Varianten von Programmcode existieren kann? Wesentliche Aussagen aus der Sicht des Programmodes, ggf. mit Hauptartikelverweisen, sind doch nicht wirklich Redundanz, geben aber einen Überblick.
Programmiersprache: Unterschiede resultieren nicht nur aus unterschiedlichen PrSprachen/Compilern. Im Abschnitt 'Werkzeuge' war dargestellt, dass viele andere Toos (sid bilden als Gesamtbegriff die 'Entwicklungsumgebung') auch eine Rolle spielen. Wo findet man diese Tools in den Einzelartikeln? Und gesamtheitlich als Übersicht? --VÖRBY (Diskussion) 12:28, 8. Mär. 2015 (CET)

Die WP ist nicht dafür da, "Gesamtsichten" anzubieten - dafür gibt's Bücher, Essays und Vorlesungen. Der Artikel ist (wenn er denn keine BKS sein soll) also darauf zu beschränken "was versteht man unter 'Programmcode'".

BTW: Warum Pseudocode von einem Computer grundsätzlich nicht verarbeitet werden können soll, erschließt sich mir nicht. Jede Beschreibung eines Algorithmus' ist Quellcode, ob "normale Programmiersprache", Pseudocode, Prosa/Kochrezept, grafisch, als Video oder sonstwie.

--arilou (Diskussion) 15:56, 11. Mär. 2015 (CET)

+1 Das ohnehin. Wer eine größere Übersicht verfassen möchte, die sich über mehr als einen Begriff erstreckt, müsste das in Wikibooks machen.--Plankton314 (Diskussion) 16:36, 11. Mär. 2015 (CET)
Warum ist dann z.B. der Artikel Software so breit angelegt? Antwort: Weil 'man' darin alles Wesentliche finden soll, was zu Software, einem Teillemma der Softwaretechnik, zu sagen ist. Das ist bei vielen Begriffen so - dass man sie 'aus ihrer Sicht' (Gesamtsicht?) mehrdimensional beschreibt - natürlich mit Links auf Detail-/Hauptartikel. Dadurch unterscheidet sich eine Enzyklopädie auch von einem Lexikon.
Wo steht, dass textlicher Pseudocode (wenn er nicht explizit zur maschinellen Verarbeitung vorgesehen ist) 'Quellcode' wäre? Wir bewegen uns da prozessual noch im Bereich von Beschreibungen/Spezifikationen - die nicht zum Programmcode zählen.
Wer nennt Kochrezepte "Quellcode"?
Ich erwarte aber keine Antwort mehr; es ist 'vergebliche Mühe'! --VÖRBY (Diskussion) 17:01, 11. Mär. 2015 (CET)
"Das ist bei vielen Begriffen so", richtig, sofern sie zentral für ein ganzes Themenfeld sind. "Programmcode" ist nunmal nicht (oder kaum) mehr als ein verwaschenes Synonym für Quellcode, Maschinencode und wohl gelegentlich Zwischen-/Bytecode. Einfach kein sehr "prominenter Begriff", und ein "weites Ausschweifen" einfach unnötig.
Außerdem driftet solch' eine "mehrdimensionale Gesamtsicht" leicht zur Essay-mäßigen "Gesamtübersicht des Themenfelds" ab, und das braucht und will tatsächlich niemand, und schon gar nicht in jedem Artikel des Themenfelds.
Also: Ja, (mit etwas Vorsicht und Bedacht) für zentrale Artikel eines Themenfelds. Für alle sonstigen Artikel sollte man sich beschränken auf die -hm- Kernbedeutung, ohne Zierat.
Eigentlich OT: [textlicher Pseudocode, Kochrezept] Jede Beschreibung eines Algorithmus, die ein menschliches Hirn verstehen kann, kann theoretisch auch ein anderes Informations-verarbeitendes System verstehen. Ich bin mir sicher, noch zu meinen Lebzeiten Haushaltsroboter zu erleben, die ein Gericht gemäß Back-/Kochrezept zubereiten können ~ also den beschriebenen Ablauf umsetzen. Ich sehe darin keinen prinzipiellen Unterschied mehr zu einem Programm.
--arilou (Diskussion) 10:19, 12. Mär. 2015 (CET)
Ich hoffe, du erkennst selbst, wie absurd diese Sicht ist: Ein Kochrezept kann genau so wenig 'Programmcode' sein wie heutzutage ein von einem Scannerprogramm verarbeiteter Text - weil solche Dinge keine "Programme" sind. Dein Roboter wird zwar Programme ENTHALTEN, aber das sind die, die das Rezept interpretieren und evtl. umsetzen. Für JENE Programme gibt es dann sicher auch 'Programmcode', ggf. mehrere Typen davon (Quelltext, ... Maschinenprogramm ... ??), nicht aber für das Rezept. Das Rezept ist nämlich kein Artefakt aus der Softwareentwicklung, sondern ein Medium, das man VERARBEITEN kann.
Ich stelle fest: Derartige Missverständnisse entstehen, wenn/weil man in der Definition von Programmtext nicht genau nachlesen kann, was darunter zu verstehen ist. Weil einige WP-Autoren meinen, derartiges wäre (zB) ein unwichtiges Detail, das nicht in ein Lemma gehört. --VÖRBY (Diskussion) 20:35, 12. Mär. 2015 (CET)
Ich denke VÖRBY hat recht - es macht Sinn Programmcode abzugrenzen. Aus meiner Sicht ist eine vage Idee, ein Analysedokument, ein Activity-Diagramm & auch Pseudocode kein Programmcode - eben weil daraus nur mit Hirn oder enorm viel AI eine Software entstehen kann. --Sebastian.Dietrich 21:55, 12. Mär. 2015 (CET)
Ja, ein Kochrezept ist gewissermaßen ein Algorithmus. Aber Quelltext/Maschinencode/usw. ist ja nicht direkt eine Handlungsanweisung, sondern eine Form der Notation derselben.--Plankton314 (Diskussion) 23:29, 12. Mär. 2015 (CET)
Der Punkt ist, dass der Begriff "Software" durch unzählige Fachliteratur und sogar Normen mehr als bloß gut belegt ist, der Begriff "Programmcode" aber keinesfalls.--Plankton314 (Diskussion) 23:29, 12. Mär. 2015 (CET)
Das ist uns eh klar. Nicht zu allem gibt es Fachliteratur und Normen. Darum müssen wir schreiben in welchem Sinne Programmcode verwendet wird. Genau dafür hatten wir ja den Abschnitt Abgrenzung inkl. Belege. --Sebastian.Dietrich 00:16, 13. Mär. 2015 (CET)
Vllt. dir, aber Vörby hat oben gefragt, warum im Gegensatz zu hier, der Artikel Software so umfangreich ist. Und das ist die Antwort.
Und sorry, aber Belege, die auch nur im entferntesten WP:Q entsprechen, habe ich hier bisher keine gesehen.--Plankton314 (Diskussion) 00:27, 13. Mär. 2015 (CET)