Zum Inhalt springen

Diskussion:Funktion (Programmierung)

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. Januar 2006 um 08:41 Uhr durch FAR~dewiki (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ich sehe Ueberarbeitungsbedarf bei diesem Artikel, sowie beim Artikel Prozedur (Programmierung). Grund: Meines Erachtens wird hier die - wenn ich mich nicht irre - aus Pascal stammende Terminologie verwendet und als ein umgreifenderen Konzept dargestellt, waehrend eine andere wichtige Unterscheidung unter den Teppich gekehrt wird: Naemlich die zwischen Funktionen im Sinne der funktionalen Programmierung und Prozeduren im Sinne der imperativen Programmierung. Am besten Liste ich mal die moeglichen Bedeutungen der Begriffe auf, damit man sich ein Bild ueber das Dilemma machen und die weitere Verfahrensweise klaeren kann:

Funktion
1.
a) eine Abbildung im Sinne der Mathematik, welche jedem Element einer Urmenge genau ein Element einer Bildmenge zuweist (dass selbst hier der Begriff nicht immer einheitlich ist, erspar ich uns mal, traegt hier aber gluecklicherweise auch nicht mehr viel zur Sache bei)
b) eine Abbildung nach Vorbild von Funktion (1a) in einer Porgrammiersprache, speziell einer funktionalen Programmiersprache
2. eine bestimmte Sorte von Objekten in einer (abtrakten) Maschine fuer funktionale Programmiersprachen, meist abgeleitet aus einer Funktion (1b) oder deren Anwendung
3.
a) (Pascal-Jargon) eine Prozedur (1), die keine Prozedur (3) ist
b) (C-Jargon) eine Prozedur (1) (oder bisweilen auch eine Methode)
Prozedur
1. eine Subroutine, besonders in der imperativen Programmierung
2. („Prozedur-Aufruf“, „Prozedur-Segment“) ein Teil der Auswertungsmethodik eines Programms auf einer (abstrakten) Maschine fuer imperative Programmiersprachen (z.B. P-Code), meist abgeleitet aus einer Subroutine (1)
3. (Pascal-Jargon) eine Subroutine, die keinen Rueckgabewert hat

Ihr seht also: Das ganze Ding hat ein bisschen was von Brechts „Kritiker -> X -> U -> Kritiker“ (Ich moechte fast Wetten, irgendwer findet noch eine weitere Definition von Prozedur, die auf einen Definitionspunkt von Funktion zurueckgreift... *g*) Und eben deshalb bin ich mit dem derzeitigen Stand ein wenig ungluecklich. Versteht uebrigens das „Pascal-Jargon“ und „C-Jargon“ nicht falsch: Ich habe nichts dagegen, diese Begriffe zu verwenden, und beide Idiome sind definitiv schon ueber die Gemeinde der jeweiligen Programmierer hinausgewachsen (es gibt z.B. Leute, die ausschlieszlich Java koennen, aber dennoch Pascal- oder C-Sprechweise verwenden). Ich finde es nur wichtig, dass in der Wikipedia eben etwas genauer drauf geschaut wird - technisch gesehen laufen zum Bespiel Prozeduren (3) und Funktionen (3a) gleich ab, waehrend Funktionen (1b) und Funktionen (3b) herzlich wenig miteinander gemein haben. --FAR 08:39, 7. Dez 2005 (CET)