Diese Diskussionsseite dient dazu, Verbesserungen am Artikel „Programmcode“ zu besprechen. Persönliche Betrachtungen zum Thema gehören nicht hierher. Für allgemeine Wissensfragen gibt es die Auskunft.

Füge neue Diskussionsthemen unten an:

Klicke auf Abschnitt hinzufügen, um ein neues Diskussionsthema zu beginnen.

Quellen

Bearbeiten

Verwendung "Programmcode" synonym zu "Quellcode"

Bearbeiten

--arilou (Diskussion) 11:41, 11. Feb. 2015 (CET)Beantworten

Programmcode = Synonym zu Sourcecode, Zwischencode, Maschinensprache oder hat es eine eigenständige Bedeutung als Überbegriff der drei?

Bearbeiten

Das macht aus meiner Sicht den Unterschied zwischen einer BKS und einer eigenständigen Seite (so wie auch Zwischencode der Überbegriff zu Bytecode ist) aus.

Also ist "Programmcode sowohl Sourcecode, als auch Zwischencode als auch Maschinensprache" oder gilt "Programmcode meint entweder Sourcecode, oder Zwischencode oder Maschinensprache". Ich tendiere zu ersterem.

[6] verwendet Programmcode für alle drei Dinge. D.h. der Autor verwendet "Programmcode" als Überbegriff und nicht als Synonym. --Sebastian.Dietrich 12:20, 7. Mär. 2015 (CET)Beantworten

Nur um die Frage auch korrekt zu verstehen... Als booleschen Ausdruck hingeschrieben würde das heißen:
"PC = Sourcecode OR Maschinencode" bzw. "PC = Sourcecode XOR Maschinencode"
Je nach dem in welchem Kontext man es sieht/schreibt (oder welcher Autor), ist beides richtig, wenn man es konsequent umsetzt.
Aber wie willst du das im Artikel herausarbeiten bzw. unterscheiden?--Plankton314 (Diskussion) 12:59, 7. Mär. 2015 (CET)Beantworten
Synonym ist etwas, das in beide Richtungen die selbe Bedeutung ergibt. Das ist aber hier nicht der Fall.
QuellenDivVwd
Als Belege für die unterschiedliche Verwendung dieses allgemeinen Überbegriffs (ohne für Quellcode - die gibt es zuhauf), habe ich mal die folgenden gefunden:
  • [7]: Binder verbindet mit ext. Referenzen" - u.a. mit anderem "Programmcode", hier also Objectmodule gemeint
  • [8]: bezeichnet an mehreren Stellen den 'Bytecode' als Programmcode
  • [9]: "im Codesegment befindet sich der Programmcode" - hier also Maschinencode
  • [10]: "sodass Programmcode ohne Zertifizierung keine Möglichkeit finden, ausgeführt zu werden" - also Maschinencode
  • [11]: "nur dem Übersetzer (Compiler) bekannt sind, aber in dem übersetzten Programmcode, welcher der abstrakten Maschine als Eingabe gilt, nicht mehr zur Verfügung stehen." - Hier also Maschinencode.
  • [12]: "der Programmcode des Angreifers" -hier also Code im Speicher = Maschinencode
Dass der Begriff unterschiedlich verwendet wird, ist/war im Artikel bereits beschrieben. Was soll daran kompliziert sein? --VÖRBY (Diskussion) 13:14, 7. Mär. 2015 (CET)Beantworten
Eine BKS ist nicht für Synonyme gedacht, sondern für Homonyme, d.h. ein Ausdruck der für unterschiedliche Begriffe steht. Und genau das ist hier der Fall. Das unterstreichen auch die von dir aufgeführten Beispiele.--Plankton314 (Diskussion) 14:28, 7. Mär. 2015 (CET)Beantworten
Programmcode ist ein Homonym für Sourcecode, Zwischencode, Maschinencode, Bytecode, ... - das ist denke ich unbestritten. Ist es aber auch ein Oberbegriff für Sourcecode, Zwischencode, Maschinencode, Bytecode, ...? Aus meiner Sicht ist es das & es wird denke ich auch so verwendet.
Nur Homonym --> XOR --> BKS, auch Oberbegriff --> OR --> eigene Seite --Sebastian.Dietrich 21:43, 7. Mär. 2015 (CET)Beantworten
'Schloss' war ein falsches Beispiel. Besser passt Möbel. Das ist auch keine BKS.
Im Übrigen stimme ich Sebastian zu: Weil PC auch ein Überbegriff ist, ist der Ausdruck nicht nur Synonym. --VÖRBY (Diskussion) 09:24, 8. Mär. 2015 (CET)Beantworten
Programmcode wird aber (soweit wir bisher festgestellt haben) nur unscharf als Homonym verwendet, je nach Autor. Was sollte die Gemeinsamkeit der Begriffe in Form des Oberbegriffs "Programmcode" hier sein? Das wird mir leider bisher nicht klar. Und ohne die macht IMO auch eine Abgrenzung keinen Sinn.--Plankton314 (Diskussion) 11:04, 8. Mär. 2015 (CET)Beantworten
Folgende Punkte aus den anderen Artikeln passen mMn besser hier her:
d.h. zumindest der Übergang zwischen den einzelnen Stadien und Lizenzierung sind Punkte die mMn hier besser passen. Ich bin mir aber sicher, dass es da noch mehr gibt- z.B. Entwicklungsumgebungen, Abgrenzungen von z.B. PostScript oder LaTeX (siehe Quelltext). --Sebastian.Dietrich 19:36, 8. Mär. 2015 (CET)Beantworten
Aha. Verstehe ich es dann richtig, dass der Wunsch besteht, Teile (oder allgemein Aspekte) aus den jeweiligen Artikeln hier praktisch eine Ebene nach "oben" zu ziehen?--Plankton314 (Diskussion) 20:57, 8. Mär. 2015 (CET)Beantworten
Von meiner Seite ja - wenn es eben nicht nur den Subbegriff, sondern alle Sub-Begriffe gemeinsam betrifft. Aber nicht nur das. Hier passt denke ich noch mehr hinein - Dinge, die in den Sub-Begriffen noch gar nicht erwähnt wurden. z.B. würde ich durch alle Links --> Programmcode durchgehen und schauen, ob nicht das eine oder andere aus den verlinkenden Seiten hier besser Platz hat (bzw. oder ob der Link nicht besser auf einen der Sub-Begriffe passt). --Sebastian.Dietrich 21:05, 8. Mär. 2015 (CET)Beantworten
P.S. fyi: Bin jetzt ein paar Links -> Programmcode durchgegangen. Die meinen unter Programmcode in den meisten Fällen Maschinensprache oder Zwischencode oder überhaupt Software, nur ganz selten Sourcecode. --Sebastian.Dietrich 21:11, 8. Mär. 2015 (CET)Beantworten
Gibt es Fachliteratur, die eine Definition/Beschreibung von "Programmcode" als Oberbegriff liefern? Ich befürchte nämlich, dass wir uns hier sonst auf einen Begriff wiki-intern einigen, den es so bisher noch nicht gab. Und das sind die bösen zwei Buchstaben.--Plankton314 (Diskussion) 10:08, 9. Mär. 2015 (CET)Beantworten
Ich fürchte es gibt keine Fachliteratur, die eine Definition/Beschreibung von "Programmcode" liefert, weder als Oberbegriff, noch als Homonym. Es gibt aber Fachliteratur, die "Programmcode" im Sinne von Oberbegriff und andere Fachliteratur, die "Programmcode" im Sinne von Homonym für _einen_ der Subbegriffe verwendet. D.h. egal in welche Richtung wir gehen - sie ist _nicht_ durch eine Definition/Beschreibung, sondern durch die ihre Verwendung in Fachliteratur gedeckt. --Sebastian.Dietrich 11:56, 9. Mär. 2015 (CET)Beantworten
Genau so denke ich auch. 397.000 Verweise müssen genügen. Ich habe die o.g. Beispiele aus den ca. ersten 30-40 ermittelt.
Zur 'Redundanz': Ja, die scheint es auch in sog. Einzelartikeln zu geben. Um aber keine Lawine loszutreten, schlage ich vor, diesen Aspekt vorläufig außen vor zu lassen. Stattdessen sollten wir hier im Artikel (wieder) das reinnehmen, was jemand (auch eine OMA!) erfahren sollte, der sich einfach über den Ausdruck/Begriff 'Programmcode' umfassend informieren möchte. Damit wäre ich wieder bei [[#Fehlendes)). Wie üblich kann man ja zusätzlich die gesetzten Links verfolgen. --VÖRBY (Diskussion) 19:21, 9. Mär. 2015 (CET)Beantworten
Vörby, du bist doch inzwischen lange genug dabei, um zu wissen, dass die Google-Keule ("es gibt x Millionen Treffer zu diesem Begriff") keine Beleg- oder Aussagekraft hat.--Plankton314 (Diskussion) 10:19, 10. Mär. 2015 (CET)Beantworten
Mag stimmen, aber die vielen Zitate dort müssten doch auch dich überzeugen, ich habe mir extra die Mühe gemacht, die o.g. , m.E. validen Quellen zu finden. Wie gesagt, nur aus den ersten Fundstellen!
@Sebastian.Dietrich: Du hast im Grunde recht. Ein Synonym zu belegen ist nur wesentlich leichter, denn dazu reicht seine Verwendung. Einen eigenständiger Begriff ist da wesentlich aufwendiger.
Aber egal, Fahrzeug oder Langfahrzeug sind auch Überbegriffe, bevor wir also im luftleeren Raum herrumrudern, können wir ja diskutieren, inwiefern das hier ausgebaut werden sollte.
Wenn schon eine Abgrenzung oder Zusammenfassung, dann etwas systematisch. Reportgeneratoren und Turingmaschinen sind mit Sicherheit nicht das primäre Unterscheidungsmerkmal (und auch nicht das sekundäre).--Plankton314 (Diskussion) 10:19, 10. Mär. 2015 (CET)Beantworten
Lese ich das jetzt richtig? Du bist also auch für ein Behalten des Artikels als Artikel und nicht BKS? Wenn ja, dann können wir ja diesen Diskussionspunkt beenden, weil dann sind wir ja alle drei einer Meinung.
@Diskussion zu Zusammenfassung/Abgrenzung - ja gerne. War damit ohnedies nicht glücklich. --Sebastian.Dietrich 14:27, 10. Mär. 2015 (CET)Beantworten
Ich denke es bringt mehr, mal zu probieren, ob und wie man den Artikel als Oberbegriff gestalten könnte.--Plankton314 (Diskussion) 18:26, 10. Mär. 2015 (CET)Beantworten

Meine Zusammenfassung: Wir hätten damit also festgestellt, dass 'Programmcode' eine im Rahmen der Softwareeentwicklung auftretende Artefakt-Kategorie ist, zu der es Untertypen (Quellcode, Zwischencode ...) gibt, zu denen wiederum Einzelobjekte (für Programm A, für Modul B ...) auftreten. Viele der Eigenschaften gelten für die ganze Kategorie, mindestens für mehrere dieser Untertypen. Die vermutete Redundanz ist kaum gegeben - im Gegenteil: bei den Einzelartikeln stehen (auch) Aussagen, die für mehrere Arten von Programmcode zutreffen. Ich denke deshalb:

  • Das Lemma sollte wieder mit seinen relevanten Aussagen gefüllt werden.
  • Das wäre zunächst mal ein Revert des Reverts [13]
  • Dann sehe ich dort noch die bei #Fehlendes beschriebenen Aspekte.
  • Ob oder wie das unter 'Abgrenzung' Beschriebene reinkommt, wäre eine andere Frage; ich halte es schon für Wesentlich - trotz unterschiedlicher Belege.
  • Und auch die gelöschten Textteile (Werkzeuge etc.) und Bilder bitte ich nochmal in Augenschein zu nehmen - ob sie unter diesem Aspekt nicht doch sinnvoll sind/waren. Ggf. kann man sie ja kürzen.--VÖRBY (Diskussion) 17:05, 10. Mär. 2015 (CET)Beantworten
Wie kommst du darauf? Was vorher da stand ist einfach nicht tragbar, weder fachlich noch quellenmäßig. Und die unter #Fehlendes beschrieben Aspekte sehe ich da auch nicht drin.--Plankton314 (Diskussion) 18:26, 10. Mär. 2015 (CET)Beantworten
Ich denke auch, dass es mehr Sinn macht den Artikel wieder sukzessive mit Inhalt zu befüllen. Gerne auch mit Diskussion dazu, oder jeder von uns versucht sich an den Teilen die er am meisten im Artikel vermisst... --Sebastian.Dietrich 20:07, 10. Mär. 2015 (CET)Beantworten
@Plankton314 / 18:26: Auch ich dachte, wir wären uns nun über den Begriff einig. Wenn das der Fall ist, solltest du bitte bei #Fehlendes jeweils erläutern, warum das nicht beim Begriff Programmcode (kurz) erwähnt werden sollte. Andernfalls ist wohl "Hopfen und Malz verloren". --VÖRBY (Diskussion) 17:05, 11. Mär. 2015 (CET)Beantworten
Wir haben festgestellt, dass es keinen Bedeutungsinhalt über die Einzelbegriffe hinaus gibt. Wie man das nun erklärt oder abgrenzt, weiß ich auch noch nicht genau. Aber eine Abgrenzung sollte systematisch und von grob und zu fein geschehen.
Warum man also bei der Abgrenzung ausgerechnet mit Reportgeneratoren beginnt und wo da die Brücke zu irgendwelchem Code ist, ist bisher leider nicht klar geworden. Oder was heißt zB. "das Format und die Syntax von Programmcode-Komponenten je nach der verwendeten Entwicklungsumgebung hochgradig unterschiedlich sind." Sind da unterschiedliche Programmiersprachen gemeint (was hat das dann mit der Entwicklungsumgebung zu tun)? Und was sind Programmcode-Komponenten? Bibliotheken, einzelne Funktionen? Als Quelltext oder kompiliert als Zwischen- oder Maschinencode?
Das ist als Brainstorming ja ganz gut, aber noch nichts strukturiertes.--Plankton314 (Diskussion) 23:29, 12. Mär. 2015 (CET)Beantworten
Bedeutungsinhalt: Das haben wir NICHT festgestellt, sondern in zig Quellen dort veerwendete Bedeutungen gefunden.
Ja, dieser Einstieg in 'Reportgeneratoren' ist ein wenig zu direkt - es gibt mehrere Aspekte, die nicht als Programmcode betrachtet werden oder wo dies fraglich ist. Es ist aber schon mal ein Erfolg, dass du sowas auch forderst - alles Aspekte, die zum Verständnis von 'P'C von Bedeutung sind.
Was soll an dem zitierten Satz ("das Format ....") unverständlich sein? Was mit 'Entwicklungsumgebung' gemeint ist, habe ich schon mal beschrieben - das ist alles, womit der Code entwickelt wurde, also mehr als nur Programmiersprachen. 'Komponenten' versteht man üblicherweise als 'Teile' - und sowas gibt es ja bekannterwweise bei Programmcode auch. In allen Varianten von Programmcode, deshalb HIER die Beschreibung und nicht bei den Einzeldokumenten. Dass man Texte aber anders formulieren kann, ist selbstverständlich, bisher ging es aber immer darum, dass/ob bestimmte Aussagen überhaupt im Artikel stehen sollen.
Insofern würde ich wieder auf Sebastian Dietrichs Vorschlag zurückkommen und ein Disk-Kapitel anlegen, in dem alle Texte vorbereitet und abgestimmt werden können. Vielleicht zunächst nur die wichtigen inhaltlichen Aussagen ohne Detailtext - um Erbsenzählereien vorläufig zu vermeiden. --VÖRBY (Diskussion) 11:15, 13. Mär. 2015 (CET)Beantworten
Die schwammige Verwendung eines Begriffs, insbesondere in Diplomarbeiten, Homepages oder Wikis, und anstatt einer sauberen Definition ist nicht belegkräftig.
Aber ich stimme zu, dass man konkrete Punkte diskutieren sollte.--Plankton314 (Diskussion) 12:28, 13. Mär. 2015 (CET)Beantworten

Entwurf

Bearbeiten

Wie oben in der Diskussion bereits festgestellt, sollten Textteile/Aussagen, die für einen der Diskutanten von Bedeutung sind, hier zunächst eingestellt und erörtert werden.

Textfragmente

Bearbeiten

Die nachfolgenden Texte enthalten wesentliche Aussagen zum Lemma, sie sind vorläufig nicht ausformuliert, auch Referenzen, Links und andere Details sind noch nachzutragen.

Einleitung:
Programmcode .. im Rahmen der Softwareentwicklung als Ergebnis oder Zwischenergebnis für ein bestimmtes Programm oder einen Teil davon entstehende Anweisungen, die dieses in einer bestimmten Programmiersprache beschreiben und repräsentieren.

Der Ausdruck wird einerseits als Synonym für folgende Unterarten von Programmcode benutzt:

  • Quelltext (in dieser Form wird 'Programmcode' am häufigsten benutzt): Beispiel: >>ref nachtragen
  • Zwischencode
  • Maschinencode Beispiel: >>ref nachtragen
  • oder andere Bezeichnungen für diese Codearten (Objectcode, Pseudocode, ...)

Andererseits wird er zum Teil auch als Sammelbegriff für diese Unterarten benutzt, besonders wenn sich eine Aussage nicht auf eine spezifische Unterart bezieht. Beispiel: >>ref nachtragen

Unterschiedliche Formate und Bezeichnungen:
Programmcode entsteht je nach Programmiersprache und den verwendeten Werkzeugen in sehr unterschiedlichen Varianten und Formaten - die zum Teil auch anders bezeichnet werden, z.B. Bytecode, Pseudocode oder Objectcode.

Aufeinander aufbauend:
Programmcode existiert für eindeutig bestimmte Programme/Programmteile, wobei sie mit unterschiedlichen Werkzeugen erstellt werden und aufeinander aufbauen, z.B. Quelltext > Zwischencode > Maschinencode für Modul X. Quelltext wird von Programmierern erzeugt, die anderen Arten von Programmcode werden in der Regel automatisch generiert, Die letzte Stufe, häufig der Maschinencode, wird i.d.R. zur Ausführung benutzt, frühere Stufen sind lediglich Zwischenergebnisse in der Softwareentwicklung.

Sollte aus meiner Sicht aus Quelltext#Übersetzung und Ausführung hierher verschoben (passt hier besser als dort) & gegebenenfalls ergänzt/angepasst werden. Hier sollte mMn auch der umgekehrte Weg beschrieben werden (aus Bytecode#Rückgewinnung von Quelltext aus Kompilaten hierher verschoben (passt hier besser als dort) & gegebenenfalls ergänzt/angepasst werden --Sebastian.Dietrich 21:00, 17. Mär. 2015 (CET)Beantworten

Sich häufig ändernd:
Vornehmlich im Rahmen von [Softwaretest]]s (i.Z. mit der Behebung von Programmfehlern), wird der Programmcode einzelner Programm(-teile) u.U. häufig geändert/korrigiert (Quelltext) bzw. neu erzeugt (die anderen Arten) - bis das Programm fehlerfrei die Softwareentwicklung verlassen kann.

Speichermedien:
'Programmcode' wird in/auf unterschiedlichen Medien gespeichert: im Hauptspeicher, in Member einer Programmbibliothek oder als ausführbare Datei, er kann aber auch zB auf Papier vorliegen, zB als Quelltextliste.

Abgrenzung/Nicht eindeutige Begrifflichkeit:

  • Mit 'Programmcode' ist nicht 'Code' im Sinn von Sprache/Syntax gemeint, sondern i.S. von 'Programmstück'.
  • Alter Text, gekürzt: Ob Anweisungen, die für einen Listengenerator den die Struktur der List definieren, auch 'Programmcode' genannt wird, ist strittig; zum Teil werden derartige 'deklarative Anweisungen' auch als Gegenteil von Programmcode bezeichnet. >>ref für Beides....

Beispiele:
wurden aus dem Lemmatext entfernt; ich halte sie trotzdem für nützlich.

Lizenzierung:
Sollte mMn aus Quelltext#Lizenzierung hierher verschoben werden, da sie alle Stadien des Programmcodes und nicht nur den Quelltext betrifft.

Entwicklungsumgebungen:
Sollte mMn hier kurz beschrieben werden und auf Hauptartikel Integrierte Entwicklungsumgebung verwiesen werden.

Diskussion über Textftagmente

Bearbeiten

Vorschlag: Wer eingestellte Textteile nicht im Artikel haben möchte, möge entweder beschreiben/beweisen, dass sie nicht korrekt sind oder - mit Link - darauf hinweisen, wo diese Aussagen bereits in WP zu finden sind - und wo sie auch redundanzfrei hingehören.

Habe noch Textteile ergänzt, die mMn hier hingehören. --Sebastian.Dietrich 21:01, 17. Mär. 2015 (CET)Beantworten
Ich stimme deinen Ergänzungen zu. Bezüglich der Verschiebungen würde ich jedoch in 'Quelltext' Kurzversionen des bisherigen Textes stehen lassen - mit Verweis auf die Details HIER.--VÖRBY (Diskussion) 09:31, 18. Mär. 2015 (CET)Beantworten
Passt --Sebastian.Dietrich 17:52, 18. Mär. 2015 (CET)Beantworten

Das sieht im alles in allem ganz okay aus, auch wenn einige Formulierung etwas redundant sind.
Pseudocode ... würde ich ausdrücklich nicht als Programmcode sehen. Oder wird das irgendwo so gehandhabt? ursprünglich von Plankton314.

Siehe MS Access, dort heißt der Zwischenode nicht Bytecode etc, sondern "Pseudocode"; das stand bei den entfernten Beispielen.--VÖRBY (Diskussion) 12:30, 18. Mär. 2015 (CET)Beantworten
Dann sollten wir Pseudocode aber nicht nennen, weil damit verbindet jeder was anderes als Zwischencode bei MS Access. --Sebastian.Dietrich 20:34, 18. Mär. 2015 (CET)Beantworten
Bedenke: Das ist ein Beispiel dafür, dass es für 'Programmcode' sehr viele unterschiedliche Ausdrücke gibt, auch wenn da Homonyme dabei sind. Und genau das ist oben die Aussage. Allerdings stimme ich zu: Als Beispiel müsste man das so nicht aufführen, wenn schon, dann in einer vollständigen (?) Liste. Oder eben nur beim Beispiel 'MS Access' - das ja gelöscht wurde. --VÖRBY (Diskussion) 11:17, 19. Mär. 2015 (CET)Beantworten

Lizenzen:
Hab doch noch einen Einwand: Bei Lizenzen geht es m.E. um Software-Lizenzen. Software ist ein noch allgemeingültigerer Begriff und schließt zB auch Doku etc. ein. Also: Nicht voll nach hierher verschieben, höchstens einen ganz kurzen Text, vlt auch gar nicht oder nur bei 'Siehe auch'. Die Redundanz bei Programmierung würde ich HIER nicht behandeln wollen.--VÖRBY (Diskussion) 12:30, 18. Mär. 2015 (CET)Beantworten

Passt --Sebastian.Dietrich 17:52, 18. Mär. 2015 (CET)Beantworten

Speichermedien:
Womit ich jedoch nicht konform gehe ist der Abschnitt "Speichermedien" und "sich häufig verändern" (die deshalb mal durchgestrichen habe). Das baut nur Redundanz zu den Themen Softwareentwicklung und Speichermedien auf. Eine verwaschene Light-Beschreibung dieser Prozesse gehört hier nicht hinein. Wenn wir mit so einer losen Assoziationsliste anfangen, kann man am Ende alles hier einbauen (auch Kartoffeln).--Plankton314 (Diskussion) 10:01, 18. Mär. 2015 (CET)Beantworten

Es wird hier nur kurz gesagt, dass Programmcode Speichermedien BRAUCHT; die Unterscheidung von beidem, dass also PC-Exemplare keine Medien (zB Dateien) SIND, ist m.E. wesentlich ist. --VÖRBY (Diskussion) 12:30, 18. Mär. 2015 (CET)Beantworten
Hier zu sagen, dass Programmcode Speichermedien bräuchte ist genauso redundant, wie sich darüber zu ergehen, dass ein Programm Strom braucht um ausgeführt zu werden.--Plankton314 (Diskussion) 12:54, 18. Mär. 2015 (CET)Beantworten

Sich häufig ändernd: siehe vorherigen Text Redundanz zu SW-Entwicklung: Wo steht sowas in 'Softwareentwicklung'? Für das Verständnis von Programmcode ist wesentlich, dass er im Lauf der SWE zig-mal entsteht. Meine Meinung. --VÖRBY (Diskussion) 12:30, 18. Mär. 2015 (CET)Beantworten

Unterschiedlicher Quelltext ergibt ein unterschiedliches Kompilat. Inwiefern ist das für das Verständnis von Programmcode wesentlich?--Plankton314 (Diskussion) 12:54, 18. Mär. 2015 (CET)Beantworten
Weil es hierbei um dasselbe Programm geht, dessen Quelltext zB nur nochmal korrigiert wurde und aus dem dann nochmal Zwischentexte ... werden. Das ist nur ein temporär unterschiedlicher Quelltext, also nur eine andere Version davon, vom Begriff 'Programmcode' oder 'Quelltext' aus gesehen ist nur 1 Entität (Objekt) beteiligt, Versionen davon sind Entitäten anderer Entitätstypen - und das ist für das Verständnis wichtig.
Zur Diskussion: Durchstreichen ist eine Vorwegnahme Deiner Meinung; wir wollen aber hier erst darüber diskutieren und dann zu einer Entscheidung kommen.--VÖRBY (Diskussion) 13:09, 18. Mär. 2015 (CET)Beantworten
Nein, wenn der Quelltext geändert wurde, ist es nicht mehr dasselbe Programm. Selbst wenn der Quelltext nicht geändert wurde, sondern nur bspw. mit anderen Optionen kompiliert wurde, ist es nicht mehr dasselbe Programm. Es ist funktional identisch, aber nicht mehr vom Code her identisch. Und da versteht es sich von selbst, dass unterschiedliche Programme unterschiedliche Kompilate, d.h. unterschiedlichen Code erzeugen.--Plankton314 (Diskussion) 13:24, 18. Mär. 2015 (CET)Beantworten
Behauptest du, ein fehlerhafter Quelltext wäre für ein anderes 'Programm' als der anschließend berichtigte? Das ist ein unpassendes Bild von 'Programm'. Der Programmierer hat zB Programm X zu erstellen und arbeitet so lange an diesem Programm X, bis es fertig ist. Dabei entstehen u.U. zig Versionen von Quellcode (und auch anderer Programmcodes) von Programm X, betroffen ist aber immer "X". Ein Programmcode repräsentiert also nur immer eine bestimmte Version eines Programms, nicht ein anderes Programm. --VÖRBY (Diskussion) 17:52, 18. Mär. 2015 (CET)Beantworten
Was du hier gerade unter "Programm" verstehst ist eine abstrakte Spezifikation der Funktionalität eines Programms.
Wir bewegen uns hier aber auf der Ebene Quelltext/Maschinencode/usw. in diesem Kontext ist ein Programm die Summe seiner einzelnen Anweisungen. D.h. was du als "Versionen von Quellcode" bezeichnest ist hier jeweils ein individuelles Programm, auch wenn die Funktionalität dieser Programme (nahezu) identisch ist.--Plankton314 (Diskussion) 18:11, 18. Mär. 2015 (CET)Beantworten
Ich stimme nicht zu: '(Computer-)programm' ist ein feststehender Begriff - „zur Lösung einer bestimmten Aufgabe“. Dass es dazu Historien/Versionen gibt, ändert nichts an dieser Tatsache; es war und ist 'Programm X' und wird es auch bleiben. Schon gar nicht passt deine Sicht, wenn man sich ein Programm in der Entwicklung vorstellt: Damit kann man keine 'Aufgabe lösen' - es ist also streng genommen noch kein 'Programm', oder eben ein 'Programm in Entwicklung'. Dass dabei zahlreiche Ausprägungen von Programmcode entstehen, soll mit der o.a. Aussage klargestellt werden. --VÖRBY (Diskussion) 11:17, 19. Mär. 2015 (CET)Beantworten
Die Sicht, dass es Versionen von Programmen gäbe usw. ist eine Abstraktionsschicht, die durch komplexere SWE-Prozesse hinzugekommen ist. Das ist eine völlig andere Baustelle. Wenn du nun von "Ausprägungen von Programmcode" sprichst/schreibst, entsteht eine weitere Dimension des Begriffs "Programmcode", die man dann wiederum unterscheiden müsste.
Wir bewegen uns hier tief im Bereich Informatik, auf der Ebene von Quell- und Maschinencode. Ein Computerprogramm ist da nicht nur schwammig irgendetwas, was "eine bestimmte Aufgabe" löst, sondern ist ein klar definierte Folge von Anweisungen. Es verkompliziert die Sache nur unnötig, wenn man den Begriff Programm so weit und unscharf fasst.--Plankton314 (Diskussion) 17:13, 19. Mär. 2015 (CET)Beantworten
Ich gebe auf, denn ich will nicht mehr darüber diskutieren, was ein Computerprogramm ist - auch in der Informatik. Die originäre, von dir kritisierte Anmerkung soll und kann genau das Zusammenspiel dieser beiden Ebenen erläutern. Damit es auch Informatiker verstehen  ;-) --VÖRBY (Diskussion) 18:10, 19. Mär. 2015 (CET)Beantworten
@VÖRBY: Pass auf, machen wir doch jetzt einfach mal Nägel mit Köpfen: Schmeiss alles in den Artikel rein, so wie meinst, dass es passt. Dann probieren wir ein bißchen rum, ob man im Laufe des Schreibprozesses eine Lösung findet (SD fällt bestimmt auch was ein) und wenn alles nichts hilft, treffen wir uns hier wieder.--Plankton314 (Diskussion) 18:17, 19. Mär. 2015 (CET)Beantworten

OK, könnte praktikabel sein. Hat jemand noch einen wichtigen 'Aspekt', der ins Lemma rein sollte? Ich versuchs vorläufig mal mit den von mir eingestellten Punkten, aber zunächst oben im #Entwurf. Dauert aber etwas. --VÖRBY (Diskussion) 18:22, 19. Mär. 2015 (CET)Beantworten

Passt --Sebastian.Dietrich 19:57, 19. Mär. 2015 (CET)Beantworten

Finale Texte (Entwürfe)

Bearbeiten

Gem. vorangegangener Diskussion konkrete Formulierungen - die noch endgültig verabschiedet werden sollten. --VÖRBY (Diskussion) 16:28, 22. Mär. 2015 (CET)Beantworten

Einleitung:
Als Programmcode werden die Anweisungen bezeichnet, die im Rahmen der Softwareentwicklung für ein bestimmtes Computerprogramm oder einen Teil davon entstehen und die dessen Funktionalität in einer bestimmten Programmiersprache beschreiben bzw. repräsentieren.

Im Allgemeinen werden folgende Arten von Programmcode unterschieden:

  • Quelltext ist die für Menschen lesbare Form eines Computerprogramms.
(wird auch Quell- oder Source- oder Primärcode, Quellprogramm etc genannt)
(wird auch Bytecode, Objektcode etc. genannt)
  • Maschinencode kann von einer Maschine direkt ausgeführt werden, ist für Menschen jedoch nicht oder nur schwer lesbar.
(wird auch Maschinenprogramm, Binärprogramm etc genannt).

(== Unterschiedliche Bedeutungen:==)
In der Literatur wird der Ausdruck ‚Programmcode‘ zum Teil als Synonym für nur eine der o. g. Unterarten verwendet, in vielen Fällen nur für 'Quelltext' (Beispiel siehe [1]), aber auch für alle andere Codearten, zum Beispiel für 'Maschinencode' (wie in [2] oder in [3]).

(== Abgrenzung/Mehrdeutige Verwendung des Begriffs ==)

  • Mit ‚Programmcode‘ ist nicht 'Code' im Sinn von Sprache/Syntax gemeint, sondern i.S. von 'Programmstück'.
  • Anweisungen, die mit deklarativen Programmiersprachen oder mit grafischen Programmiersprachen erzeugt wurden, werden nur teilweise als ‚Programmcode‘ bezeichnet (Beispiel siehe [4]); zum Teil werden derartige Anweisungen aber auch als Gegenteil von Programmcode (hier im Sinn von 'Programmtext') bezeichnet.[5]

(== Aufeinander aufbauend ==)
Jeder Programmcode bezieht sich auf genau ein Programm oder einen Programmteil. Die verschiedenen Codearten bauen aufeinander auf. Beispiel: Der Quelltext > ist die Grundlage für den Zwischencode > dieser für den Maschinencode. Quelltext wird von Programmierern erzeugt, die anderen Arten von Programmcode werden in der Regel automatisch generiert. Dabei werden auf der nächsten Entwicklungsstufe häufig Programmcodes für mehrere Funktionen/Programmteile zusammengefasst, sodass die letzte Stufe, zum Beispiel der Maschinencode, oft nur noch ein (1) Programmcode ist, der unter Verwendung mehrerer/vieler Codeteile entstand.

(== Speichermedien ==)
‚Programmcode‘ ist ein immaterieller Begriff und kann in unterschiedlichen Medien existieren, beispielsweise im Hauptspeicher eines Editors (während der Erstellung von Quelltext), als Member einer Programmbibliothek oder als ausführbare Datei (wenn er gespeichert wird), im Hauptspeicher des Computers (bei der Ausführung des Programms) oder auf Papier (beispielsweise in einer Quelltextliste).

(== Formale Unterschiede ==)
Programmcodevarianten unterscheiden sich bezüglich ihrer Struktur, Form, Syntax, Speicherung etc. je nach Programmiersprache und den verwendeten Programmierwerkzeugen erheblich. Zum Teil fallen nicht alle Codevarianten an (zum Beispiel kein Zwischencode oder kein Maschinencode), oder sie werden mit individuell anderen Bezeichnungen benannt (wie 'Bytecode').

Nachfolgend werden derartige Unterschiede an konkreten Beispielen erläutert – die zum Teil auch in anderen als den erwähnten Systemumgebungen in nahezu identischer Form so auftreten:

~"herkömmliches Kompilieren/Linken"

Bei Verwendung klassischer Programmiersprachen wie ??? übersetzt ein Compiler oder Assembler den evtl. durch einen Precompiler vorbearbeiteten, als Textdatei vorliegenden Quellcode eines Programms und erzeugt daraus prozessorspezifischen Programmcode. Im Betriebssystem Z/OS wird dieser z. B. „Objektmodul“ genannt. Mit dem 'Linkage Editor' wird dieser Code verarbeitet und der Objektcode evtl. aufgerufener Unterprogramme und sprachspezifischer Systemmodule wird optionsabhängig statisch oder dynamisch hinzugebunden. Ergebnis ist ein Lademodul in Maschinensprache, der Maschinencode – der durch ein EXEC-Kommando in den Job-Steueranweisungen oder nach einem Aufruf als Unterprogramm ('CALL') in den Hauptspeicher geladen und ausgeführt wird.

mehrere Quellcodeformate / kein Maschinencode

Im Beispiel von Anwendungen mit MS Access werden die Anweisungen (= der Quellcode) in unterschiedlichen grafischen Formaten, zum Teil auch als Texte formuliert. Dazu werden verschiedene Editoren zum Erstellen von (z. B.) Datenstrukturen, Formularen, Reports, SQL-Datenzugriffen, Makros, VBA-Anweisungen etc.) benutzt. Diese Anweisungen werden in einer (1) MDB-Datei gespeichert und bei der Ausführung interpretiert und verarbeitet.
Spezialfall VBA: Falls in der Anwendung VBA-Anweisungen implementiert wurden, werden diese bei der ersten Ausführung der Anwendung automatisch und einmalig kompiliert, wobei ein optimierter Zwischencode entsteht, genannt „P-Code“ (Abk. für Pseudocode). Auch dieser Code wird in derselben MDB gespeichert und über einen Interpreter 'Befehl für Befehl' ausgeführt.[6]
Ähnliche Kombinationen von Programmtext treten auch bei Verwendung von Studio/Eclipse/NetBeans/sonstiger RADIDEs auf.

weitere Beispiele ggf noch ergänzen

(== Lebensdauer ==) Im Rahmen der Entwicklung von Programmcode wird dieser meist sehr oft und kurzfristig geändert/korrigiert (Quelltext) bzw. neu erzeugt (die anderen Arten). Programmcodes existieren dabei oft nur temporär bis zur nächsten Version, zum Beispiel nach der Korrektur eines Programmfehlers.

(== Vom Quelltext zur Ausführung ==)
Bevor ein Computerprogramm von einem Computer ausgeführt werden kann, muss es in Maschinensprache, also in eine vom Computer verständliche Folge von Bits, umgesetzt werden. Dies kann entweder vorab durch einen Compiler oder – zur Laufzeit – durch einen Interpreter oder JIT-Compiler geschehen. In vielen Fällen wird mittlerweile eine Kombination aus beiden Varianten gewählt, bei der zur Übersetzungszeit der Quelltext der eigentlichen Programmiersprache in einen abstrakten Zwischencode übersetzt wird, welcher dann zur Laufzeit von einer Laufzeitumgebung durch einen Interpreter oder JIT-Compiler in den eigentlichen Maschinencode überführt wird. Dieses Prinzip hat den Vorteil, dass ein und derselbe Zwischencode auf sehr vielen verschiedenen Rechnerarchitekturen ausführbar ist und somit nicht für jede Zielarchitektur eine eigene Version der Software erscheinen muss. Typische Beispiele für einen solchen Zwischencode sind der Java-Bytecode sowie die Common Intermediate Language. Mittels eines Debuggers kann die Funktionsweise des Programmes zur Laufzeit verfolgt werden.

(== Einzelnachweise ==)

  1. Wortbedeutung[1] „Synonym für Quelltext“
  2. Informatik DUDEN ISBN 3-411-05232-5 (Programm-)Code = „Ein in eine Maschinensprache übersetztes Programm“
  3. TUM [2] „...aber in dem übersetzten Programmcode, welcher der abstrakten Maschine als Eingabe gilt, nicht mehr zur Verfügung stehen.“
  4. National Instruments [3] Bezeichnet das grafische Blockdiagramm als Programmcode
  5. Visual C#2008 Windows Programmierung [4] „... erfordert keine einzige Zeile Programmcode, sondern wird wird komplett (deklarativ) in XAML definiert.“
  6. Microsoft Support [5]

Diskussion darüber

Bearbeiten

Hab mir erlaubt zwecks Übersichtlichkeit die Diskussionen zu trennen, da die erste Diskussion zu den Textfragmenten war und die zweite jetzt zum Gesamttext ist.

Meine Anmerkungen:

  • Der Einleitungssatz umfasst nicht den Sourcecode (da "... als Ergebnis oder Zwischenergebnis ... entstehen"). Das Ziel von Programmcode ist auch nicht immer ein Computerprogramm (z.B. Spikes, Snippets, ...) Vorschlag: "Als Programmcode werden die Anweisungen bezeichnet, die im Rahmen der Softwareentwicklung in einer bestimmten Programmiersprache geschrieben werden oder als Ergebnis oder Zwischenergebnis daraus entstehen."
VÖRBY: Wieso passt das zu Sourcecode nicht? Der entsteht doch auch in der SWE - und ist wohl eines der wesentlichen Artefakte (Ergebnisse); denke nur mal an open source. Du meintest wohl "automatisch erstellte Ergebnisse"; das ist aber hier nicht gesagt.
Das "Angeführte" könnten wir evtl. trotzdem weglassen, weil "entsteht" einschließt, dass das Ergebnisse sind. Der Hinweis auf den Unterschied zwischen Erg und ZsErg würde aber dann fehlen.
Nicht immer Programm? Dann wäre das mE auch kein Programmccode. 'Programm' muss natürlich im weitesten Sinn interpretiert werden. Snippet verweist in WP auf Quelltext. Spike sagt mir nix, finde ich auch in WP nicht.
Sebastian: Sourcecode entsteht nicht "als Ergebnis oder Zwischenergebnis" - Sourcecode ist ja nicht das Ziel
VÖRBY: ist aber trotzdem Ergebnis oder Zwischenergebnis.
Das Ziel ist nicht immer ein Computerprogramm ("... für ein bestimmtes Computerprogramm oder einen Teil davon ...."). Ein Snippet ist für mich Quelltext, der als Copy&Paste Vorlage dient und dann angepasst wird (also nicht für _ein_ bestimmtes Computerprogramm ist, sondern der Programmierung dienlich ist). Ein Spike ist ein Begriff aus der agilen SWE - man macht einen Spike (in der Regel Code, der compiliert oder auch nicht), um eine Technologie soweit kennenzulernen, dass man mit ihr schätzen kann. Das Ziel dieses Programmcodes ist somit nicht ein Computerprogramm, sondern Erfahrung sammeln. Dasselbe passiert auch z.B. bei Trainings wo man was ausprobiert.
VÖRBY: OK, 'dazu verwendet wird' könnte noch ergänzend passen. Ich bin mir aber nicht sicher, ob solche Hilfsmittel ('Snippets', auch Copybooks etc.) wirklich 'Programmcode' SIND. Denn sie beschreiben nicht 'ein bestimmtes Programm', sondern sind nur Kopiervorlage etc., mE kein 'Programmcode' im hier definierten Sinn 'Programmstück'. Bei 'Abgrenzung' aufzählen?
Zu welchem Zweck ein Pgm erstellt wird, spielt mE keine Rolle, Pgm ist Pgm.
  • Den Satz "Zum Teil fallen sie gar nicht an ..." verstehe ich nicht
VÖRBY: Bei Interpretersystemen gibt es zB keinen Maschinencode, in manchen Sprachen keinen Zwischencode. VÖRBY
Sebastian: Verstehe - aber dann muss der Satz umformuliert werden, weil das "sie" in "fallen sie gar nicht an" bezieht sich auf "Struktur und Form"
VÖRBY: erl
  • Bei Lebensdauer würde ich nicht den Softwaretest nennen - das ist in der Entwicklung dasselbe - siehe z.B. Test Driven Development oder auch (continuous) Refactoring
VÖRBY: Habe SWT rausgenommen.
Sebastian:Bitte nimm auch noch "bzw. bis das Programm die Softwareentwicklung fehlerfrei verlassen kann." - sowas wie "fehlerfrei" oder "Softwareentwicklung verlassen" gibt es nicht.
VÖRBY: Umformuliert; dass die Lebensdauer uU nur sehr kurz ist (mit Beispiel) wollte ich konkreetisieren.
  • Den Absatz mit den Speichermedien halte ich für nicht notwendig. Frage: Ist es Programmcode, wenn ich ihn nur im Hirn habe?
VÖRBY: OK, nicht sehr wichtig. Wollte damit aber zeigen, dass 'PC' ein immaterieller Begriff ist. Maschinencode und ausführbare Datei sind begrifflich nicht dasselbe! Hirn: Ja, wenn er dort exakt nach der Syntax 'abgelegt' und abrufbar ist - :-)
Sebastian: Dann schreib doch sowas wie 'Programmcode' ist ein immaterieller Begriff und kann in unterschiedlichen Medien existieren, beispielsweise im Hauptspeicher eines Editors (während der Erstellung von Quelltext), als Member einer Programmbibliothek oder als ausführbare Datei (wenn er gespeichert wird), im Hauptspeicher des Computers (bei der Ausführung des Programms) oder auf Papier (beispielsweise in einer Quelltextliste). - vielleicht zu viele Beispiele
VÖRBY: ERL
  • Bei Quelltext zur Ausführung würde ich nicht sagen, dass Programmcode in Maschinensprache übersetzt werden muss. Ein Interpreter übersetzt ja nicht, sondern führt einfach nur (vorher vorhandene) Maschinensprache aus, die zum Programmcodestück passt.
VÖRBY: Stand so im Text, ist aber mE richtig, denn auch ein Interpreter 'übersetzt' in Maschinensprache, eben nur temporär/speicherintern. PS: Sein Input ist meistkein Code in Maschinensprache.
Sebastian: Sehe ich nicht ganz so. Sein Input ist Code, der nicht "übersetzt" wird, sondern basierend auf dem Code wird anderer Code (z.B. in Maschinensprache) ausgeführt. Übersetzen heisst für mich was anderes. Das "umgesetz" bzw. "überführt" passt aber eh (vermutlich hab ich mich nur verlesen).
  • Ich würde da auch nicht die Plattformunabhängigkeit reinbringen, da die a) bei .Net nicht wirklich gegeben ist und b) auch bei Java umstritten ist (läuft ja auf der "Java Plattform") - wenn dann Hardwareunabhängig oder so
VÖRBY: Magst Du das bitte abändern?
Sebastian: done
  • Die Beispiele für die Entwicklungsumgebungen würde ich vereinfachen und aufs wesentliche reduzieren. Die sind hier mMn zu speziell und sollten nur in den entsprechenden Artikeln (in MS-Access bzw. IBM-Großrechner oder so) stehen. Ich würde hier statt dessen nicht "Beispiele", sondern die Aufgaben von Entwicklungsumgebungen im Allgemeinen nennen - also z.B. deren Hauptaufgabe aus Programmcode Zwischencode oder Maschinensprache zu machen, aber auch andere Dinge wie Linken, statische Codeanalyse (Warnings), Debugging, und auch Decompilierung. --Sebastian.Dietrich 09:22, 24. Mär. 2015 (CET)Beantworten
VÖRBY:Meine Absicht war, hier dem Leser wirklich Beispiele für die unterschiedlichen Varianten zu zeigen, in denen Programmcods auftreten können. OK, habe gekürzt.
Wichtiger fände ich, wenn auch noch einige andere Beispiele ergänzt werden würden.
Restliches war ~ in 'Werkzeuge' beschrieben, das rausgelöscht wurde. Magst du auch hier mal selbst ran?
Sebastian: Gekürzt passts jetzt mMn viel besser. Weiteres kann ja noch folgen. --Sebastian.Dietrich 21:30, 24. Mär. 2015 (CET)Beantworten

Hallo und Danke für die Beteiligung. Habe meine Anmerkungen/Antworten in deinem Text oben eingestellt und, soweit klar, in den Entwurfstexten angepasst. Gibst du bitte nochmal kurz Feedback zu den Punkten. Danke. --VÖRBY (Diskussion) 18:57, 24. Mär. 2015 (CET)Beantworten


Okay, ich hab mal wieder etwas den Überblick verloren und füge es daher einfach in Wiki-Manier unten an.
Was mir sofort ins Auge fällt und mMn. auch am diskussionsbedürftigsten ist: Die Abschnitte über IBM-Großrechner und MS-Access. VÖRBY, das musst du mir mal genauer erklären. Warum gehören diese Abschnitte deiner Meinung nach hier in diesen allgemeinen Artikel hinein?
Ich muss auch gestehen, dass sie mir absolut nichts sagen, was mit Programmcode zu tun hätte. Kannst du das entweder hier mal etwas erklären oder im Entwurf präzisieren? Oder einfach löschen   --Plankton314 (Diskussion) 23:20, 24. Mär. 2015 (CET)Beantworten

Der Leser liest hier abstrakt was über 'Programmcode', und dass es je nach Fall große Unterschiede gibt. Er kann sich aber sicher nicht vorstellen, wie das - im Besonderen diese Unterschiede - konkret aussehen. Mit den jetzt beschriebenen Kurzformen ist das der Fall: Man erkennt, welche Programmcodes entstehen, wie sie aufeinander aufbauen und wie sie gespeichert und verarbeitet werden. Hierhin: Weil darin (als Beispiele!) alle Arten von auftretendem Programmcode kurz beschrieben und erläutert sind. --VÖRBY (Diskussion) 13:23, 25. Mär. 2015 (CET)Beantworten
Das beantwortet aber meine Frage in keiner Weise. Was ist einer Großrechner-Programmiersprache und MS-Access von derart wichtiger Bedeutung für das Verständnis von Programmcode, dass man sie hier im Artikel zum Überbegriff als Beispiele aufführen müsste?--Plankton314 (Diskussion) 17:36, 25. Mär. 2015 (CET)Beantworten
Nochmal: In diesen beiden 'Umgebungen' tritt Programmcode total unterschiedlich auf. Und das ist hier wesentlich! Gerne kannst du weitere Beispiele anfügen. --VÖRBY (Diskussion) 18:26, 25. Mär. 2015 (CET)Beantworten
Kannst du bitte erklären, worin der Unterschied von der IBM-3GL-Geschichte zum herkömmlichen Kompilieren/Linken bzw. zu der Aufteilung Quell-/Zwischen-/Maschinencode besteht?
Und dann nochmal: Kannst du bitte darlegen, was an diesen Punkten dermaßen wichtig ist, dass sie hier beim Oberbegriff stehen müssen?--Plankton314 (Diskussion) 18:56, 25. Mär. 2015 (CET)Beantworten
Es gibt kein 'herkömmliches Kompilieren/Linken', sondern - für eine Enzyklopädie - ist das einfach nur eine Version des Auftretens von Programmcodearten, neben vielen anderen. "Dermaßen wichtig" ist, dass die Leser (hier beim 'Oberbegriff', weil da alle Codearten zusammen behandelt werden) solche Unterschiede erkennen. Nach 3mal erläutern reicht es jetzt!! Außer, jemand ergänzt weitere Beispiele. --VÖRBY (Diskussion) 11:20, 26. Mär. 2015 (CET)Beantworten
Du hast nicht nichts erläutert, sondern wiederholst nur, dass es irgendwelche Unterschiede gibt, die sich weder aus dem Text noch sonstwie erschließen. Es bleibt weiterhin unklar, warum ausgerechnet diese Beispiele aufgeführt werden sollten. Das soll hier keine lose Beispielsammlung werden. Beispiele sollen für das Verständnis des Themas relevant sein - nicht einfach nur irgendeine exotische Assoziation in einem konstruierten Zusammenhang.
Solange du nicht erklären kannst, was daran so besonders ist, sodass man es ausgerechnet hier im Artikel erwähnen muss oder wie diese Fälle voneinander und gegenüber den Unterbegriffen abzugrenzen sind, gibt es weder für das 3GL- noch für das MS-Access-Beispiel einen Grund sie im Artikel aufzuführen.--Plankton314 (Diskussion) 13:34, 26. Mär. 2015 (CET)Beantworten
Wer dort keine Unterschiede erkennt (dein Text: "... die sich weder aus dem Text noch sonstwie erschließen"), kann nicht lesen. "Ausgerechnet diese": Das sind zwei sich - bzgl der PC-Verwendung!! - erheblich unterscheidende Beispielszenarien; weitere (mit wiederum andersartigen PC-Verwendungen) darf 'man' gerne ergänzen; denn dies ist "für das Verständnis des Themas relevant". --VÖRBY (Diskussion) 09:31, 27. Mär. 2015 (CET)Beantworten
Mir fällt es ehrlich gesagt schwer, zwei irrelevantere Beispiele für die Thematik Programmcode zu finden, als IBM-3GL und MS-Access. Aber schön, da es hier anscheinend ein fundamentales Verständnisproblem gibt, werde ich es eben detailliert darstellen.
3GL
  • "Ein Compiler oder Assembler übersetzt [...] und erzeugt daraus in prozessorspezifischem Code ein Objektmodul." - das ist defintionsgemäß die Aufgabe jedes Compilers/Assemblers. VÖRBY: Na und?
  • "den evtl. durch einen Precompiler vorbearbeiteten"" - das ist sicherlich nicht spezifisch für 3GL VÖRBY: ist aber optional möglich, Details bei Precompiler
  • "als Textdatei vorliegenden Quellcode eines Programms" - Quelltext ist per Definition Text und liegt in einer Datei. VÖRBY: Es gibt aber auch andere Formate, nicht nur Texte; hier jedoch nicht.
  • "Mit dem 'Linkage Editor' wird der Objektcode evtl. aufgerufener Unterprogramme und sprachspezifischer Systemmodule optionsabhängig statisch oder dynamisch hinzugebunden; Ergebnis ist ein Lademodul in Maschinensprache, [...]" - wieder viel Blabla, das ausführlichst unter Linker (Computerprogramm) behandelt wird. VÖRBY: das ist nur eine sehr kurze Beschreibung; sie zeigt, dass das Maschinenprogramm hier 'Lademodul' genannt wird.
Am Ende steht hier nichts, was spezifisch für 3GL wäre und nicht bereits im Abschnitt Quelltext/Ausführung beschrieben ist. VÖRBY: Die Texte zeigen aber den Zusammenhang zwischen allen drei Varianten von Programmcode - als 1 Beispiel
MS-Access
  • "Für Anwendungen mit MS Access (einer 'IDE')" - kein Mensch glaubt ernsthaft, dass Access eine IDE wäre. VÖRBY: Die Systemdoku nennt es so. Entspricht voll und ganz auch der Definition von IDE in Wikipedia.
  • "werden Anweisungen in unterschiedlichen Grafikformaten ..." - oh, bitte (Grafikformat). VÖRBY: hier im Gegensatz zu Textdatei.
  • "... zum Teil als Texte formuliert. Dabei werden verschiedene Editoren zum Erstellen von (z. B.) Datenstrukturen, Formularen, Reports, SQL-Datenzugriffen, Makros, VBA-Anweisungen etc.) benutzt." - Was für Editoren? Was macht sie besonders? Inwiefern ist das was anderes als Studio/Eclipse/NetBeans/sonstige RADIDEs? VÖRBY: Es sind nun mal mehrere Editoren -die unterschiedliche Formate (= Quellcode) erzeugen. Im Gegensatz zu 1 Texteditor oben. Dass die Aussagen u.U. auch für andere Entwicklungssituationen gelten können, ist in der Einleitung gesagt, man kann gerne präzisierende Hinweise ergänzen.
  • "Alle so erzeugten ‚Anweisungen‘ sind ‚Programmcode‘" - Was sind das für Anweisungen? Inwiefern unterscheiden sie sich zu den Anweisungen anderer interpretierter Sprachen? Warum ist das bei Access erwähnenswert? VÖRBY: Hab schon x-mal erläutert, dass hier Access nur ein Beispiel ist, mit dem diese anderen Formen von PgmCode erläutert werden.
  • "sie werden in einer (1) Datei (mit Dateiendung MDB oder ACCDB) gespeichert und bei der Ausführung mit MS Access interpretiert und verarbeitet" - vollredundant zu Interpreter VÖRBY: Das ist nur eine minimal kurze Beschreibung, die - der Vollständigkeit halber (was passiert mit dem Pgm-Code, anders als oben?) - hier aufgenommen werden muss. Vlt. noch Links einfügen.
Klares Fazit: Diese willkürlich gewählten und exotischen Beispiele liefern absolut keinen Mehrwert ggü. der allgemeinen Erklärung im Abschnitt darüber.--Plankton314 (Diskussion) 14:38, 27. Mär. 2015 (CET) VÖRBY: Der allgemeine Einleitungstext sagt nur, dass der Programmcode ... erheblich unterschiedlich sein kann, im Detail sagt er gar nichts.Beantworten
VÖRBY: Stand 29.3.: Ich gehe inhaltlich nicht auf diese Ausführungen ein. Nur soviel: Es wird hier nicht 3GL oder Access oder ein Precompiler oder ein Linker etc. beschrieben, sondern es werden Beispiele für sehr unterschiedliche Formen ... von Programmcode gezeigt. Was soll sich sonst jemand unter dem bei #FormatUnterschiede Beschriebenen vorstellen? Ich habe diesbezüglich auch den Einleitungssatz im Abschnitt 'Beispiele' präzisiert. --VÖRBY (Diskussion) 18:09, 27. Mär. 2015 (CET)Beantworten
Gut, dann bleibt es draußen.--Plankton314 (Diskussion) 18:19, 27. Mär. 2015 (CET)Beantworten
Texte sind Details zu Abschnitt #FormatUnterschiede, nach dorthin verschoben. mit neuen Überschriften. --VÖRBY (Diskussion) 17:15, 29. Mär. 2015 (CEST)Beantworten
Das Umbenennen der Abschnitte ändert nichts an meiner zuvor ausführlich geäußerten Kritik.--Plankton314 (Diskussion) 21:06, 29. Mär. 2015 (CEST)Beantworten

Ich habe Deine "Kritikpunkte" nun doch im Einzelnen beantwortet (in deinem Text mit 'sup-Format'). Zum Fazit: Jedermann erkennt, dass die abstrakte Aussage 'es gibt Unterschiede' nicht ausreichend aussagefähig ist und dass dies durch die Beispiele nachgeholt wird. --VÖRBY (Diskussion) 09:21, 30. Mär. 2015 (CEST)Beantworten

Die wichtigste Frage hast du allerdings nach einer Woche Diskussion immer noch nicht beantwortet: Inwiefern sind ausgerechnet diese Beispiele repräsentativ? Hier willkürlich zwei exotische Beispiele aufzuführen bietet keinerlei Mehrwert zum Verständnis. Mit dem bloßen Argument, dass sie in irgendeiner Art und Weise "unterschiedlich" seien, könnte man den Artikel endlos mit irgendwelchen willkürlichen Beispielen vollmüllen. Warum wählt man als Beispiel nicht Java oder .NET? Hier wird die komplette Kette durchlaufen und es sind definitiv repräsentativere Beispiele, als Access/3GL.
Oder anders formuliert: Warum formuliert man den Abschnitt "Vom Quelltext zur Ausführung" nicht entsprechend allgemeiner, ohne sich in obskuren Beispielen zu ergehen?--Plankton314 (Diskussion) 14:55, 30. Mär. 2015 (CEST)Beantworten
'Vom Quelltext zur Ausführung': Mir genügt schon die Diskussion hier, ich brauche keine "neues Fass".
'Ausgerechnet diese': Die Frage ist mehrfach beantwortet: Es geht nicht um 'ausgerechnet diese', aber hier wird einfach nur beispielhaft gezeigt, wie unterschiedlich PC sein kann. Warum verstehst du das nicht? Ergänze doch bitte selbst, wie das in Java oder .NET oder sonstwo konkret aussieht - wobei sichtbar Unterschiede bestehen sollten, und um DIESE geht es hier. Und ich gebe dir recht: wir brauchen davon nicht zu viele Beispiele; wenn die Aussage "Unterschiede" hinreichend erläutert ist, genügt es.
Zum Thema insgesamt (Beispiele WP-relevant oder nicht) beantworte dir bitte die folgenden Fragen:
  • Ist die Hauptaussage 'es gibt unterschiedliche Formate ...' richtig?
  • Ist sie für das Lemma Programmcode eine wesentliche Aussage?
  • Versteht man ohne (die) Beispiele, was gemeint ist?
Aber sicher kommst du auch hier wieder zu Nein-Aussagen. Mir genügt es dann mal wieder. --VÖRBY (Diskussion) 19:39, 30. Mär. 2015 (CEST)Beantworten
Ich ergänze die Beispiele bewusst nicht um Java/NET/usw., weil wir diese Ausführungen in mehr als hinreichender Breite in den verlinkten und auch entsprechenden Artikeln haben. Genau das soll nämlich nicht stattfinden: Es soll hier keine Redundanz zu Artikeln aufgebaut werden, die das alles bereits im Rahmen ihres klar definierten Themas behandeln.
Beispiele dienen dazu, einen komplexen Sachverhalt an einem konkreten Anwendungsfall zu erläutern. Daneben sollen sie auch hinreichend repräsentativ sein, denn sonst können sie nicht nachvollzogen werden. Daher ein klares Ja, man muss definitiv auch ohne Beispiele verstehen können, was gemeint ist. Beispiele sollen diesen Weg nur abkürzen, sind aber keinesfalls für einen enzyklopädischen Artikel notwendig.
Und genau darum geht es hier: Es soll erst der Sachverhalt klar beschrieben werden und danach kann man sich Gedanken um Beispiele machen. Daher ist die Frage nach unterschiedlichen Formaten in diesem Kontext auch irrelevant, weil ihre Antwort in der Beschreibung und nicht in den Beispielen liegen muss. Und auch durch die jüngst stattgefundene Kürzung und Verschiebung des beschreibenden Abschnitts hinter diese Beispiele, bewegen wir uns von diesem Ziel immer weiter weg. Darum fände ich es auch richtiger/wichtiger zu überlegen, wie man die Beispiele in den Abschnitt Quelltext/Ausführung einarbeiten könnte.--Plankton314 (Diskussion) 22:13, 31. Mär. 2015 (CEST)Beantworten
In den Einzelartikeln ist diese Sicht NICHT beschrieben. Und sie gehört dort auch nicht hin, weil HIER bewusst auf den Aspekt 'Programmcode' abgestellt wird - was in den Einzelartikeln (in der Regel) nicht der Fall ist. Hatten wir aber schon x-mal.
Beispiele: In den meisten Artikeln gibt es Beispiele. Und das ist auch gut so. Deine Ausführungen halte ich für Formal-Geschwafel, das hier nicht passt.
Repräsentativ: Du willst einfach IBM und Microsoft nicht im Artikel finden. Für diese Plattformen gibt es aber Zig-Tausend von Entwicklern.--VÖRBY (Diskussion) 10:58, 1. Apr. 2015 (CEST)Beantworten
Lustig, dass ausgerechnet du von Geschwafel sprichst. Diese ganze Diskussion ist der Nachhall deines Artikelversuchs "Übersetzer", dessen Reste du hier abgeladen hast, nachdem sie sich nicht für einen eigenständigen Artikel qualifiziert haben und mit deren Spätfolgen wir uns jetzt Jahre später noch auseinandersetzen müssen.
Und bitte stelle es jetzt nicht so dar, als ob deine Beispiele mit Access und 3GL in irgendeiner Weise weit verbreitet und repräsentativ wären. Aus diesen exotischen Beispielen auf einmal ein allgemeines IBM und Microsoft zu machen ist schon ein bißchen sehr weit hergeholt. Wenn es hier um das Studio gehen würde, würde ich überhaupt nichts sagen, aber ein Datenbanksystem als IDE zu verkaufen und so zu tun, als ob man damit Softwareentwicklung betreiben würde, ist schon eine sehr spezielle Perspektive.--Plankton314 (Diskussion) 11:48, 1. Apr. 2015 (CEST)Beantworten

(*einmisch*)

Ich denke, Vörby will v.a. zeigen, dass

  • in einer Situation gelten kann: "Quelltext" = Text + Text + Text
    (am Beispiel IBM 3GL)
  • in einer anderen: "Quelltext" = Text + (grafisches) Formular + (zusammengeklickte) (SQL-)Abfrage + Berichts-Template-Dokument + (grafisches) Datenflussdiagramm + Ressourcen(Icons,Sounds,Bilder,Texturen) + 3D-Modell-Daten + ...

Ob man für ersteres jetzt IBM 3GL oder Pascal oder Java nimmt, egal. Ebenso könnte man die Vielfalt im zweiten Beispiel vmtl. auch mit .NET verdeutlichen.

Richtig? --arilou (Diskussion) 13:10, 31. Mär. 2015 (CEST)Beantworten

Danke für den Senf. Ja, so ähnlich - was Quellcode betrifft: Bsp-1 nur Text in einer (1) Textdatei, Bsp-2 viele verschiedene Formate/Artefakte (mit Sourcecode-Charakter!). Plus: Manchmal gibt es Maschinencode, manchmal nicht. Plus: PgmCode wird anders genannt. Die beschriebenen Bsp-Details treffen nun mal exakt für die beiden genannten Plattform so zu; weitere Bsp könnten/sollten ergänzt werden.
Es geht also um konkrete Erklärungen für die abstrakten Aussagen im Einleitungstext. --VÖRBY (Diskussion) 14:33, 31. Mär. 2015 (CEST)Beantworten
Würden wir uns diese allgemeine und offene Perspektive zu eigen machen, gäbe es praktisch keine Grenzen mehr, was man alles als Programmcode verstehen könnte. Es würde bedeuten, dass man jede speicherbare und reproduzierbare Aktion eines Computers als Programmcode auffassen könnte.
Nach ein paar Runden ist dann plötzlich auch eine Excel-Tabelle Programmcode, weil sie die gleichen Anweisungen (zB. grafische Darstellung oder sogar Makros) auf dem System ausführt. Ich bin mir auch sicher, jemand behauptet, dass SQL-Abfragen Programmcode seien, weil sie irgendwo anders eine bestimmte Ausführung bewirken würden. Oder auch ein aufgezeichnetes Computerspiel wäre auf einmal Programmcode, denn es bewirkt den wiederholten Ablauf exakt der gleichen Anweisungen im Spiel, sooft es nur replayed wird.--Plankton314 (Diskussion) 22:13, 31. Mär. 2015 (CEST)Beantworten
Jedenfalls werden Makrotexte in einer BooksGoogle-Referenz als "... ein kleines Stück Programmcode, das ... durch ein größeres Stück Programmcode ersetzt wird" definiert. Und warum soll SQL-Code kein 'Programmcode' sein? Er legt fest, was das Programm TUN soll. Genauso wie bei 'NI' das Blockdiagramm (als formal eindeutiges Konstrukt) als PC bezeichnet wird. Alles setzt voraus, dass man es um 'Programme' geht. Ist eine Excel-Tabelle ein 'Programm'? JEIN.
--VÖRBY (Diskussion) 10:58, 1. Apr. 2015 (CEST)Beantworten
Naja, wie gesagt sind das hier alles Meinungen. Wenn es einigermaßen vernünftige Literatur gibt, die aussagt, dass Excel-Tabellen, SQL-Abfragen und Spiele-Recordings Programmcode darstellen... Okay, von mir aus. Wir bilden Wissen ja nur ab und erfinden es nicht neu.--Plankton314 (Diskussion) 11:56, 1. Apr. 2015 (CEST)Beantworten
PS: Ach ja, und Literatur sind natürlich nicht irgendwelche Diplom-/Bachelor-/Master-/Studienarbeiten, Berichte o.ä. wo der Begriff nur implizit verwendet, aber an keiner Stelle definiert wird.--Plankton314 (Diskussion) 12:24, 1. Apr. 2015 (CEST)Beantworten

Mir fallen im Moment zwei Möglichkeiten ein, wie wir uns aus diesem scheinbaren Dilemma bzgl. des Artikelinhalte ziehen könnten:

  1. Wir diskutieren weniger über Meinungen und mehr anhand konkreter Fachliteratur/Quellen, was man in einen Artikel schreiben könnte.
  2. Und/oder man findet einen passenderen Ort diese Thematik und setzt dabei das Thema "Programmcode" etwas zurück. ZB. gibt unter Computerprogramm #Vom Algorithmus zum Programm bereits einen Abschnitt, der versucht, diese Zusammenhänge zu knüpfen.

?--22:18, 31. Mär. 2015 (CEST)

Ich schlage auch vor, einzelne Aussagen noch mit Belegen zu untermauern. Es geht hier um 'Programmcode', warum also "etwas zurücksetzen"? Es wird aber auch hier so sein wie in vielen IT-Lemmas: Es gibt viele und unterschiedliche und unterschiedlich enge/breite Definitionen und Interpretationen. Das wäre dann vielleicht noch ein eigener Abschnitt im Lemma. --VÖRBY (Diskussion) 10:58, 1. Apr. 2015 (CEST)Beantworten
Bis auf Beispiele sind wir denke ich einer Meinung, dass der Vorschlag besser ist als der aktuelle Artikel. Sollten wir den Vorschlag nicht mal (bis auf die Beispiele) in den Artikel stellen und extra über die Beispiele diskutieren? --Sebastian.Dietrich 20:10, 1. Apr. 2015 (CEST)Beantworten
Pragmatischer Kompromissvorschlag, danke. Ich sehe allerdings in der Disk um die Beispiele keine Konsensmöglichkeit mehr. Außer: Wenn jemand "weniger exotische Beispiele" beschreibt, in denen aber mögliche Unterschiede gleichermaßen gezeigt werden, ist mir das auch recht. --VÖRBY (Diskussion) 09:30, 2. Apr. 2015 (CEST)Beantworten
Ich schließe mich da Sebastian an. Es fällt auch leichter Änderungen im Artikel nachzuverfolgen.
@VÖRBY: Da es dein Textentwurf ist, macht es (der späteren Nachvollziehbarkeit) Sinn, wenn du es einfach auf umseitig hinkopierst.--Plankton314 (Diskussion) 11:25, 2. Apr. 2015 (CEST)Beantworten
Erledigt, ohne Beispiele. --VÖRBY (Diskussion) 12:03, 2. Apr. 2015 (CEST)Beantworten

Beispiele: JN / welche?

Bearbeiten

(Fortssetzung von der vorhergehenden Diskussion.

Ist nun klar, was mit den Aussagen im Abschnitt Programmcode#Formale Unterschiede konkret gemeint ist? Wenn ja, kann die obige Diskussion als beendet betrachtet werden. Ansonsten müsste man sich überlegen, was noch an Beschreibung fehlt. --VÖRBY (Diskussion) 16:44, 11. Apr. 2015 (CEST)Beantworten

Verwalteter und nicht verwalteter (Programm-)Code

Bearbeiten

Hi, zu einer Deiner Anpassungen in Programmcode habe ich eine Anmerkung: Der Spiegelpunkt 'verwaltet/nicht verwaltet' passt nicht in die dort gegebene Klassifizierung, sondern betrifft eine oder beliebige dort aufgeführte Programmcode-Arten. Der Begriff ist nicht allgemeingültig, sondern gilt für unterchiedliche Programmcodearten und tritt nur in bestimmten Entwicklungsumgebungen auf. Außerdem beschreibt der Text hier, wie der Code speichertechnisch behandelt wird - was HIER nicht behandelt wird. Ich würde diesen Aspekt deshalb aus der gegebenen Aufzählungsmenge herausnehmen und ihn nach unten in den Fließtext verschieben - oder gar diesen Text (weil er etwas ganz anderes beschreibt) hier wieder entfernen. --VÖRBY (Diskussion) 10:01, 5. Feb. 2018 (CET)Beantworten

Nach nochmaligem Lesen habe ich diese Textverschiebung (nach Textumbau) nach unten vorgenommen, siehe [14]. Bin aber der Ansicht, dass der Aspekt Speicherverwaltung überhaupt nicht in den Abschnitt 'Arten' gehört, weil das auch für andere PgmCode-Arten nicht behandelt wird. Zusätzlich wird die OMA nicht verstehen, was mit 'Speicherverwaltung' gemeint ist. --VÖRBY (Diskussion) 12:21, 5. Feb. 2018 (CET)Beantworten

(Vorstehende Beiträge wurden nachträglich von der Besprechungsseite unter Benutzer Diskussion:4osuvfa hierher, nach Diskussion:Programmcode geschoben, da es dabei nicht um die betreffende [Benutzer-]Anmeldung sondern um den hier, nebenan behandelten Eintrag geht.)

Hallo VÖRBY, also daß es allein um die Speicherverwaltung geht, war leider dein eigenes Mißverständnis gegenüber meinen Einarbeitungen heute. Mir ging es bei den betreffenden Ergänzungen in der Hauptsache lediglich um die nun auch hier oben (in der nun aussagekräftiger benannten Abschnittsüberschrift) genannten (Unter-)Begrifflichkeiten, was ich im Übrigen auch schon mit der ersten betreffenden Änderung (in der Zusammenfassung mit „+„verwalteter […]“ und „nicht verwalteter Code“[15]) versucht hatte deutlich zu machen. Zudem ist die genannte Speicherverwaltung auch nur ein Teil dessen, was mit derartigem (Programm-)Code verwaltet werden kann, was ich ebenfall auch schon versucht hatte deutlich zu machen (siehe auch in einer der nachfolgenden Zusammenfassungen mit „letztgenannte [Unter-]Begrifflichkeit erweitert – da [mittlerweile] wohl nicht nur der Speicher verwaltet wird, siehe auch "https://docs.microsoft.com/de-de/dotnet/standard/managed-code" […][16]). Im Übrigen hatte ich diesen Teil hier, nebenan eingearbeitet, weil ich (auch nach längerem Suchen) keinen besseren Ort dafür gefunden hatte. Schließlich möchte ich hier noch zu bedenken geben, daß der auch mit Programmcode bezeichnete Begriff (nebenan) sowohl oben (im Abschnitt zu den [Unter-]Arten) als auch unten, nach wie vor (meiner Ergänzung) im nachfolgenden Abschnitt (unter Abgrenzung/Mehrdeutige Verwendung des Begriffs) auch schon im gegensätzlichen Sinne – also (vor allem wohl hinsichtlich der ersten Programmiersprachen, welche, wie etwa C, wenigstens anfänglich noch keine Interpreter und [Bedarfs-]Übersetzer [oder JIT-Compiler] kannten) als „Quellcode“ (oder auch „Quelltext“ und „Programmtext“) auf der einen und als „Maschinencode“ (also in Maschinensprache) auf der anderen Seite – beschrieben wurde. -- 4osuvfa, am 5.2.2018, 15:23 (MEZ)
@4osuvfa: Ich kann leider Deinem Kommentar durch die vielen Links, Klammern, Nebensätze, Verweise auf "nebenan" usw. kaum entnehmen, was Du sagen willst. Ich hatte Deine Ergänzung, weil sie logisch nicht zu dem bereits vorhandenen Klassifikationsschema passt, dort ausgegliedert. Offensichtlich bist Du aber mit der aktuellen Textfassung einverstanden, ich halte die Disk insofern für erledigt. Vielleicht könntest Du den Aspekt Speicherverwaltung dort im Lemma unterbringen, denn vergleichbare Detailaussagen sind im Artikel bisher nicht vorhanden. Andernfalls kann ich mit dem IST ebenfalls 'leben'. Grüße von --VÖRBY (Diskussion) 17:26, 5. Feb. 2018 (CET)Beantworten
Keine Sorge, deine Beiträge (u.a. mit einer für mich unverständlichen Abkürzung „i.Z.“[17] oder auch mit Verweisen wie „dort im Lemma“) zu verstehen, fällt mir auch nicht leicht. :-) Im Übrigen hatte ich mein „nebenan“ oben (wie hier eigentlich auch im Wiki üblich) einmal (bei Erstnennung, hier im Abschnitt) verknüpft und dann dessen Bedeutung (hier, auf der zugehörigen Besprechungsseite) nicht mehr geändert, .. naja, seis drumm. Der betreffende Abschnitt nebenan (um auch auf deine Frage, mit „Stand ok?“ einzugehen) kann von mir aus erstmal so bleiben – bis irgendwer mal was Besseres findet. Der Weißheit letzter Schluß ist das nämlich sicher auch noch nicht. Zudem war mir bei dessen Übernahme aus dem Eintrag .NET Framework (siehe auch zugehörige Änderung) auch noch sogenannter „unsicherer Code“ (wohl auch im Sinne von nicht verwaltetem Code) aufgefallen, welcher sicherlich auch noch hier (nebenan) allgemeiner (im Zusammenhang mit den dort genannten „Zeiger-Operationen“) beschrieben werden könnte, und – auch im Nachhinein erst bemerkt – ist dieser Begriff wohl auch im Zusammenhang mit unsicherem Kontext zu verstehen, welcher ebenfalls im oben schon genannten Verweis, auf der Seite unter https://docs.microsoft.com/de-de/dotnet/standard/managed-code (wohl erstmals am 20.6.2016) genannt wurde. -- 4osuvfa, am 6.2.2018, 06:34 (MEZ)

Wenn von 'Programmcode' die Rede ist, entspricht die jetzige Definition (Was ist Pgm-Code?) wohl dem allgemeinen Verständnis. Dass Programmcode weitere Eigenschaften/Attribute aufweisen kann, steht außer Zweifel. Diese sollten aber m.E. besser bei den jeweiligen Ausprägungen (Quelltext ...) beschrieben, vielleicht auch unter 'siehe auch' verlinkt werden. Passt also vorläufig. Erledigt. --VÖRBY (Diskussion) 08:14, 6. Feb. 2018 (CET)Beantworten

Ich habe die Artikelstruktur überarbeitet und Textteile umgruppiert. Unter Arten sollten neben Quell-, Zwischen- und Maschinencode keine weiteren erscheinen; Besonderheiten von Codevarianten beziehen sich ja immer auf eine dieser drei Arten. Den Text zu 'managed ...' habe ich bei 'Formales' eingestellt, weil dort schon strukturelle Unterschiede behandelt sind; Ähnliches ist allerdings schon bei "Vom Quelltext zur Ausführung" beschrieben.
Zu zwei Referenzen habe ich das '~siehe' wieder eingefügt, weil ein Beispiel etwas anderes ist als ein Zitatbeleg.--VÖRBY (Diskussion) 12:54, 7. Feb. 2018 (CET)Beantworten