Diskussion:Funktionsprototyp

aus Wikipedia, der freien Enzyklopädie

Überarbeiten

Aus der QS hierher kopiert.

Sollte nachdem der Artikel bereits 2005 schon mal im Zuge einer Löschdiskussion neu geschrieben wurde IMO gründlich überarbeitet werden. Sowohl Form als auch die Quellenlage sind nach derzeitigen Standards kaum als zufriedenstellend, als dass man ihn als Endversion stehen lassen könnte. Der Artikel wurde seit eben 2005 auch nicht mehr nennenswert vom Inhalt her verändert. -- defchris (Diskussion • Beiträge) 23:21, 1. Sep. 2008 (CEST)

Ist diese Fragestellung eine Aufgabe der QS? Wahrscheinlich nicht, denn es ist eine sehr fachspezifische Fragestellung. In der Wikipedia finden sich viele Artikel, die sich mit Schnittstellen bzw. mit der Differenzierung zwischen Deklaration und Definition in der Programmierung befassen. Beispielsweise: Schnittstelle, Schnittstelle (objektorientierte Programmierung), Signatur (Programmierung), Deklaration (Programmierung), Komponente (Software), Modularität.
Der Artikel Funktionsprototyp spielt in diesem Themenkomplex mit. Meiner Meinung nach ist der Funktionsprototyp in den Programmiersprachen C / C++ die Bezeichnung für eine Vorwärtsdeklaration. Durch Vorwärtsdeklarationen ist der Einsatz von Single-Pass-Compilern möglich. In C/C++ wird dieses Sprachkonstrukt auch für die Trennung von Schnittstelle (Deklaration) und Implementierung (Definition) genutzt.
Fazit:In dieser Form macht der Artikel wenig Sinn. Handlungsalternativen: a) löschen wegen fehlender Relevanz b) Einbau in die Artikel zu C und C++ als sprachspezifisches Konstrukt oder c) Einen eigenen Artikel über Single-Pass Compiler schreiben und dort die Thematik der Vorwärtsdeklaration erwähnen. Dort kann dann die Lösung einzelner Programmiersprachen (Funktionsprototyp für C/C++) für dieses Problem erwähnt werden. Ich bevorzuge Alternative c), bin aber zu faul einen Artikel darüber zu schreiben – Meine Literatur über Compilerbau ist tief im Keller vergraben.--Temporäres Interesse 09:43, 2. Sep. 2008 (CEST)

Nachtrag: Nach eingehendem Lesen des Artikels, der verwandten Artikel und einiger alter Bücher komme ich zu der Meinung, dass der Artikel keinen Mehrwert liefert. Die im folgenden erwähnten Artikel decken jeweils einen Teil des Inhalts von Funktionsprototyp ab. Ich halte daher die Umwandlung in eine Redirect auf Deklaration (Programmierung) für die richtige Lösung. Zur Rettung des Artikels könnte man ihn anhand der zweiten Quelle als Erläuterung eines Sprachkonstruktes von ANSI-C umbauen. Meiner Meinung nach ist diese Detailtiefe nicht mehr relevant.

Ein Sonderfall der [Deklaration (Programmierung)|Deklaration] ist die Vorwärtsdeklaration. Sie teilt dem Compiler vor der ersten Nutzung eines Elementes (z.B. Variable, Funktion, Prozedur, Klasse) übersetzungsrelevante Informationen (z.B. Name, Parameter, Datentypen der Parameter, Datentyp der Rückgabe) mit. Beim Entwurf von Pascal 1971 nutzte Niklaus Wirth Vorwärtsdeklarationen um beim damaligen Stand der Compilertechnologie die Implementierung eines Single-Pass-Compilers zu ermöglichen[1]. Für die Programmiersprache C wurde 1990, im Rahmen der Standardisierung von ANSI-C, der Umgang bei der Deklaration von Funktionen verschärft. Als Abgrenzung zur bisherigen Funktionsdeklaration wurde die neue Form als Funktionsprototyp bezeichnet.[2]
  1. Why Pascal is Not My Favorite Programming Language, Brian W. Kernighan, 2. April 1981, AT&T Bell Laboratories, Murray Hill, New Jersey online (engl.)
  2. [http://www.lysator.liu.se/c/rat/c5.html#3-5-4 Rationale for American National Standard for Information Systems - Programming Language – C (engl.)]

Überarbeitung 26.09.2010

Nachdem trotz ÜA-Baustein fast zwei Jahre keine substanzielle Änderung am Artikel erfolgt ist, habe ich mir erlaubt, ihn unter teilweiser Berücksichtigung obiger Anmerkungen zu überarbeiten und neu zu strukturieren. Hier ist das vorläufige Ergebnis. --IrrwahnGrausewitz blah 16:13, 26. Sep. 2010 (CEST)