Diskussion:Programmierparadigma

message: Hallo, ich habe keine Ahnung von dem Thema, kann insofern inhaltlich nicht viel beitragen, aber nach dem ersten Satz (Programmierparadigma ist ein anderes Wort für Programmierstil.) fragt man sich als Laie doch, warum es dann zwei Artikel gibt. Und bei genauerem Hinsehen stellt man fest das in diesen auch noch ziemlich unterschiedliche Dinge stehen... Auch wenn dieser Satz als einziger im Artikel einen Einzelnachweis bekommen hat, macht er so für mich einfach mal gar keinen Sinn. Ich werd da nicht dran rumeditieren, ich wollte es nur angemerkt haben.  -- kris242 16:29, 19. Aug. 2010 (CEST)
replies: text: Der erste Satz ist definitiv falsch, auch wenn er von einem C++ Guru stammt. Ich lösche ihn mal. --Sebastian.Dietrich  ✉ 21:07, 19. Aug. 2010 (CEST)
replies: text: Es steht leider noch immer als erstes der Satz: "Ein Programmierparadigma ist ein fundamentaler Programmierstil." Das trifft den Kern nicht und ist in der Tat eher verwirrend als hilfreich. Ich habe keine "druckreife" Formulierung zur Hand, aber es geht bei der Frage nach dem Programmierparadigma vielmehr darum, mit Hilfe welches Grundprinzips man überhaupt einen Computer dazu bringt, eine bestimmte Aufgabe automatisch zu erledigen; bzw. auf Basis welches Funktionsprinzips eine Programmiersprache in ihren wesentlichen Grundzügen arbeitet. Man könnte es auch die Logik einer Programmiersprache nennen, wobei "Logik" hier in einem überaus allgemeinen, eher schon philosophischen Sinn gemeint ist. Man könnte es auch die Philosophie nennen, die eine bestimmte Programmiertechnik oder -methode ausmacht. Man könnte auch formulieren, dass eine bestimmte Programmierphilosophie von einer bestimmten Programmiersprache mehr oder weniger gut unterstützt wird. --michaelsy (Diskussion) 00:46, 8. Okt. 2014 (CEST)
thread_title: erster Satz...

message: Ich kenne von funktionalen Sprachen das Programmieren mit Streams, wobei hier eher unendliche Folgen gemeint sind. Liegt hier vielleicht eine falsche Deutung vor? 
Wir haben jetzt eine wilde Liste, von denen einige Paradigmen sehr exotisch wirken.
Vielleicht reift der Artikel ja noch..
--Marc van Woerkom 12:16, 10. Okt 2004 (CEST)
thread_title: Datenstromorientierte Programmierung?

message: ich faende eine auflistung, wann welches paradigma definiert wurde ganz hilfreich (und welches paradigma welches abgeloest hat) Elvis untot 12:53, 1. Feb 2005 (CET)
thread_title:  was fehlt? 

message: Zur Tabelle Programmierparadigmen (wie auch immer man sie aendert):
Wodurch unterstuetzt Ada denn deklarative Programmierung? Ada ist doch rein imperativ,
ohne funktionale, logische oder Constraint-Konzepte!?
--132.231.54.1 20:59, 13. Aug 2006 (CEST)
thread_title:  Ada / deklarative Programmierung 

message: Nachdem kürzlich ein Prüfling "Smalltalk" als Beispiel für eine imperative Programmiersprache aufgeführt hat und Wikipedia als Referenz aufgeführt hat, möchte ich anregen diesen Artikel wieder auf den Boden zu holen und den üblichen Sprachgebrauch hier wiederzugeben. --R.K.A.L. 18:29, 11. Mai 2007 (CEST)
replies: text: Generell fehlen uns noch Einzelnachweise für die unterschiedlichen Definitionen. Wenn du da etwas liefern könntest, wäre dem Artikel sehr geholfen. Der „übliche“ Sprachgebrauch ist nämlich leider nicht belegbar und deswegen recht willkürlich auslegbar. --jpp ?! 21:58, 11. Mai 2007 (CEST)
replies: text: In den Lehrbüchern, die ich verwende, wird die imperative Programmierung von der objektorientierten abgegrenzt (z.B. Applelrath:Skriptum Informatik. Teubner 1995). Mag sein, dass es mittlerweile andere Lehrbücher gibt, die das anders definieren, aber dann müsste in diesem Artikel stehen, dass es unterschiedliche Sichtweisen gibt. Die Objektorientierung grundsätzlich unter den imperativen Sprachen zu subsumieren halte ich für sehr gewagt (gelinde gesagt). --R.K.A.L. 23:19, 11. Mai 2007 (CEST)
replies: text: Könntest du dann entsprechende Einzelnachweise in den Artikel einfügen? Das würde m. E. für mehr Objektivität im Artikel sorgen. Solche Klassifikationen sind nach meinen bisherigen Erfahrungen oft sehr beliebig, dennoch halte ich sie für sehr wichtig. Ich denke, dass die objektorientierte Programmierung mit der imperativen jedenfalls deutlich mehr Gemeinsamkeiten hat als mit der deklarativen (funktionalen). Habe allerdings leider momentan auch keine zitierfähigen Definitionen zur Hand. --jpp ?! 14:07, 12. Mai 2007 (CEST)
thread_title:  OO vs. imperative Programmierung 

message: In meinen Augen ist das ein gelungener Artikel/Überblick. Bestimmt muss noch hier und da gefeilt werden, das müssen andere sagen, aber insgesamt => "lesenswert". IMO ist es eine Erwähnung wert, dass deklarative und OO Programmierung auf lange Sicht letztendlich imperativ sind (ähnl. Bradshaw zu autonomen Agenten)... 195.4.114.43 13:07, 9. Aug. 2007 (CEST)
thread_title:  sehr guter Artikel 

message: Zitat 1: Pascal ist eine typische imperative Programmiersprache. 
Zitat 2: Als die klassische strukturierte Programmiersprache gilt Pascal.
:Die IP hat da durchaus Recht. Ein besseres Beispiel für eine imperative Programmiersprache wäre eine nicht strukturierte, beispielsweise BASIC. --j ?! 10:06, 16. Mai 2008 (CEST)
replies: text: Ich verstehe das Problem nicht: Bei Programmiersprachen hat imperativ und strukturiert sowenig miteinander zu tun, wie zum Beispiel die Farbe eines Fahrzeugs mit dessen Antriebstechnik. Mit anderen Worten: Pascal ist sowohl der Musterknabe einer imperativen, als auch einer strukturierten Programmiersprache, auch wenn die ursprüngliche Version bei weitem nicht mehr dem Stand der Technik entspricht. Eine der ersten und gleichzeitig sehr bekannten imperativen Programmiersprachen war FORTRAN. Eine der ersten strukturierteren Programmiersprachen war Algol 68, das aber wegen seiner technischen Unzulänglichkeiten keinen Bestand hatte. Nichtsdestotrotz war diese der Vorgänger von Pascal. Membeth 11:24, 16. Mai 2008 (CEST)
replies: text: Das Problem besteht darin, dass die zurzeit aufgeführten Beispiele dem Leser nicht dabei helfen, zu verstehen, was strukturierte von imperativen Sprachen unterscheidet. Fortran wäre als Beispiel für imperative Sprachen auch geeignet, da es ebenfalls keinem der übrigen Paradigmen angehört. --j ?! 15:04, 16. Mai 2008 (CEST)
replies: text: Ich hoffe, die Missverständnisse mit meiner Ergänzung und der Grafik in der Einleitung beseitigt zu haben: Aus Sicht einer Sprache (und auch eines Programms) sind die Paradigmen nicht disjunkt. --VÖRBY 09:20, 22. Apr. 2011 (CEST)
thread_title:  Konsistenz? 

message: unter imperativer programmierstil: "Pascal ist eine typische imperative Programmiersprache."
und dann noch mal unter strukturierter programmierstil: "Als die klassische strukturierte Programmiersprache gilt Pascal."
das sind auch keine teilmengen, weil imperativer und strukturierter programmierstil gegenseitig einschränkende punkte haben.
vielleicht wäre besser: "Pascal eignet sich für das imperative/strukturierte Programmierparadigma" (nicht signierter Beitrag von Beinemann (Diskussion | Beiträge) 18:14, 10. Mai 2009 (CEST)
thread_title:  Widerspruch 

message: Die Aussage unter 'prozedural', der Unterschied zu 'funktional' sei 'kein Rückgabewert', halte ich für unhaltbar und inkonsistent: Ja, es gibt Quellen, nach denen 'Prozeduren' als 'Funktionen ohne Rückgabewert' definiert werden. Solche Festlegungen dienen dort aber lediglich definitorisch der Begriffsklarheit. Dagegen wird HIER im Artikel die 'funktionale Programmierung' als total anderes Paradigma definiert und deshalb auch - berechtigterweise - unter den deklarativen Paradigmen eingeordnet. Mir scheint, hier in den Artikeln dieses Fachgebiets ist Vieles durcheinander geraten; viele Köche verderben den Brei. --VÖRBY 09:51, 17. Mär. 2011 (CET)
replies: text: Volle Zustimmung. Der Artikel Funktionale Programmierung stellt sich auch ganz anders dar als nur als "Programmieren mit Rückgabewerten". Ich vermute, dass man imperative Programmierung mit Funktionen auch prozedural nennen kann. Man kann auch mit Objekten strukturiert programmieren, ohne objektorientiert zu programmieren. Die verfügbaren Mittel erzwingen nicht das entsprechende Programmierparadigma. Bei der Quellenlage hier im Artikel muss man sich aber sowieso fragen, wieviel vom Artikel überhaupt zutrifft. Ist z.B. "Programmieren mit abstrakten Datentypen" wirklich ein Paradigma? --Zahnradzacken 19:10, 17. Mär. 2011 (CET)
replies: text: Das werde ich also demnächst bereinigen. Magst Du vielleicht auch nochmal die beiden letzten Teilkapitel von Diskussion:Prozedurale Programmierung mit ansehen? Da gibt es auch gewaltige Diskrepanzen. Avron und Sebastian.Dietrich haben da schon mitdiskutiert. Ich hoffe, auch mit mehreren Autoren kommen wir da noch zu einer guten Lösung. Grüße von --VÖRBY 19:51, 17. Mär. 2011 (CET)
thread_title:  prozedurale / funktionale Programmierung 

message: Einige der vorangegangenen Diskussionen haben ihren Ursprung im Missverständnis, dass die Paradigmen nur "reinrassig" auftreten: In bestimmten Programmiersprachen oder in einem konkreten Programm. Dies ist jedoch nicht so. Ich schlage deshalb vor, den folgenden Text als Schluss der Einleitung einzustellen. Leider habe ich dazu nicht direkt eine 'Quelle', sondern fand entsprechende Aussagen fragmentarisch an vielen Stellen. Wenn das auch andere Autoren für gut finden, könnte 'man' den Text in den Artikel kopieren. 
Die verschiedenen Paradigmen sind, bezogen auf einzelne Computerprogramme oder einzelne Codeteile, nicht als komplementäre bzw. alternative Programmierstile zu verstehen. Vielmehr ist - auch bei Nutzung nur einer (1) Programmiersprache - das Programmieren gleichzeitig nach mehreren Paradigmen möglich.
Beispiel: In einer unter MS Access und mit VBA entwickelten Anwendung werden die funktionalen Komponenten ereignis- und objekt-orientiert (Bsp.: open Formular X) angesteuert. Der VBA-Code ist modular, denn er besteht aus Modulen, Makros, Prozeduren etc. Da der Code 'Befehle' enthält, ist er imperativ. Und prozedural ist er, weil diese Befehle (innerhalb der Prozeduren ...) exakt in der codierten Folge ausgeführt werden. Die Formulare und Berichte sowie die SQL-Aufrufe sind deklarativ programmiert, weil hier nur das Was und nicht das Wie definiert wird.
Trotzdem werden Programmiersprachen häufig - nach ihrer Grund-Charakteristik - z. B. als objektorientierte, prozedurale oder deklarative Sprache bezeichnet. Die ein Paradigma bestimmenden Merkmale beruhen überwiegend auf den Eingenschaften der angewendeten Programmiersprachen (wie z. B. bei OOP, deklarativ ...), zum Teil aber auch auf dem individuellen Stil, der beim Programmieren praktiziert wird (z. B. strukturiert, modular, prozedural).
Erstellung:--VÖRBY 13:02, 17. Apr. 2011 (CEST)
thread_title:  Paradigmen nicht disjunkt 

message: Im Kapitel 'Imperative Paradigmen' steht u.a.: „Durch den Mikrocode wird auf Prozessorebene angegeben, wie der Computer mit welchen Daten (die zu verarbeitenden Werte) zu verfahren hat. Dieses Konzept wird durch Befehle realisiert.“ Dies halte ich für zumindest missverständlich; denn wenn Mikrocode = Maschinencode ist, gilt dies für jede Art von Programm(ierung). Insofern kann das kein Merkmal für die iP sein. Besser wäre die Aussage, dass bei imperativer Programmierung der programmierte Code (Quelltext) vollständig die spätere Ausführungsfolge im Prozessor bestimmt ("First do this, then do that"). 
Dass die Programmiersprachen diese Architektur abbilden, scheint mir auch zweifelhaft; vielmehr es sind die damit geschaffenen Programme (als Quellcode verstanden).
Auch halte ich den Link auf Mikrocode für unglücklich: Darunter wird (lt Link) ein Spezialfall von Maschinencode (Festwertspeicher, Mikroprogrammierung, Mikrocodesimulator, EPROM, BIOS etc.) behandelt. 'Maschinencode' wäre wohl neutraler. --VÖRBY 12:27, 4. Dez. 2011 (CET)
thread_title:  Imperativ : Mikrocode etc 

message: In Rahmen kürzlich erfolgter Diskussionen wurde festgestellt, dass in der Literatur die Paradigmen nicht einheitlich bezeichnet werden. Ich halte es deshalb für sehr zweckmäßig, im Einleitungsabsatz hierauf hinzuweisen. Zahlreiche Diskussionsbeiträge der Vergangenheit beruhen auf Missverständnissen, die auf diese Uneinheitlichkeit zurückzuführen sind. Empfohlener Ergänzungstext:
Hinweis: In der Literatur werden die Paradigmen nicht mit einheitlichen Bezeichnungen beschrieben. Zum Teil werden sogar Bezeichnungen verwendet, mit denen an anderen Stellen andere Paradigmen beschrieben werden. So etwa finden sich Veröffentlichungen für 'imperativ' u.a. mit den Bezeichnungen 'algorithmisch', 'prozedural', 'imperativ/prozedural' oder 'zustandsorientiert'; die Bezeichnungen 'strukturiert', 'prozedural' oder 'modular' werden zum Teil für identische Sachverhalte benutzt, ebenso z. B. 'deklarativ' und 'funktional'. 
Erbitte Stellungnahmen dazu. --VÖRBY 14:45, 14. Dez. 2011 (CET)
replies: text: ...nur wenige Jahre später...: Grundsätzlich finde ich es immer gut, und auch in diesem Fall, darauf hinzuweisen, wenn Begriffe selbst in der Fachliteratur uneinheitlich definiert bzw. umschrieben werden. Den vorgeschlagenen Hinweistext finde ich für die Einleitung allerdings etwas zu umfangreich. In der Einleitung kurz den Umstand umreißen und weiter unten das Problem dann unter eigener Überschrift detaillierter beschreiben. Das wäre jedenfalls mein Vorschlag. --michaelsy (Diskussion) 12:59, 28. Mär. 2015 (CET)
thread_title:  Uneinheitliche Bezeichnungen 

message: Der dritte Absatz lautet: 
Grundlegend für den Entwurf von Programmiersprachen sind die Paradigmen der imperativen und der deklarativen Programmierung. Beim letzteren sind als wichtige Ausprägungen die Paradigmen der funktionalen Programmierung und der logischen Programmierung zu nennen.
       
Müßte es nicht heißen: "Beim Ersteren ...", da funktionale und logische Programmierung imperative Paradigmen sind?
--Weekeebit (Diskussion) 12:18, 6. Dez. 2012 (CET)
thread_title:  Fehler im dritten Absatz 

message: Robert Harper schrieb kürzlich zum Begriff "deklarativ":
"The term "declarative" never meant a damn thing, but was often used, absurdly, to somehow lump together functional programming with logic programming, and separate it from imperative programming.  It never made a lick of sense; it's just a marketing term."
Gibt es dazu schon in irgendeinem Artikel einen Abschnitt über diese Kontroverse? --Mitja 42? 14:10, 26. Apr. 2013 (CEST)
replies: text: Ich denke nicht & wenn dann brauchts mehr als eine Mail von Robert Harper um etwas als Kontroverse in eine WP Artikel einzutragen. --Sebastian.Dietrich  ✉ 17:42, 26. Apr. 2013 (CEST)
thread_title:  Kritik am Begriff der "deklarativen Programmiersprache" 

message: Noch nie gehört und unbequellt. Google hat dazu gerade mal 1.620 Treffer, die meisten davon aus Übersetzungsprogrammen. Interessant sind  und . Ob das aber jemals aus den IBM Labors rausgekommen ist wage ich zu bezweifeln. --Sebastian.Dietrich  ✉ 17:50, 26. Apr. 2013 (CEST)
replies: text: Habs jetzt (nach 9 Jahren) entfernt... --Sebastian.Dietrich   ✉  09:01, 26. Sep. 2022 (CEST)
thread_title:  Subjektorientierte Programmierung