Diskussion:Programmierung

message: Hallo,
mich stören ein paar Sachen im Abschnitt "Qualitätskriterien" und ich wollte mal fragen, ob wir das verbessern könnten.
Zitat aus dem Artikel:
"Gute Programmierung[1] zeichnet sich zum einen dadurch aus, dass die Funktionen, die die jeweils verwendete Programmierumgebung bereitstellt, möglichst effizient genutzt werden."
Dass effiziente Nutzung von was-auch-immer "gut" ist, leuchtet ein. Aber mehr ist dem Satz auch nicht zu entnehmen. Die Bezeichnung "gute Programmierung" ist für mich viel zu allgemein. Es ist aus dem Artikel heraus unklar, in welchem Kontext der Autor der Quelle das Prädikat in Bezug auf Programmierung verwendet hat, aber jeder der sich mit Programmierung auskennt wird sich hüten, "gut" in diesem Zusammenhang zu definieren. "Gut" steht für viele Ziele, die sich jedoch teilweise sogar ausschließen. Beispiel: Performance und Speicherverbrauch. Dazu kommen noch viele, viele weitere Kriterien. Was "gute Programmierung" ist, kann heutzutage nur unter speziellen, gegebenen Umständen definiert werden.
Ist eine "Programmierumgebung" die IDE? Dann würde sich der Satz auf den Einsatz von Funktionalitäten der IDE (z.B. Syntaxhighlighting, Suche anhand regulärer Ausdrücke, Debugger und viele andere Dinge) beziehen. Das ist aber wohl nicht gemeint? Sollte man es nicht vielleicht durch "Programmiersprache" ersetzen?
Nach Ersetzung würde ich den Satz so verstehen, dass die Konstrukte der Sprache effizient genutzt werden sollen. Damit gehe ich persönlich durchaus konform - auch wenn ich nicht sage, dass das "gute Programmierung" ist. Ein etwas "profanes" Beispiel: Statt
 if (condition) {} else { ... }
schreibt man lieber
 if (!condition) { ... }
Etwas bessere Beispiele: Verwendung von Zeigern und Referenzen für die Performance, Verwendung des Schlüsselwortes "const" (C++) um Programmierfehler schon zur Compilierzeit zu vermeiden, "return $var" statt "return($var)" bei PHP5 uvm. .
Gerade bei komplexeren Sprachen wie Perl ist diese Aussage in meinen Augen absolut nachvollziehbar und richtig. Was danach allerdings kommt, geht in eine ganz andere Richtung:
"Insbesondere geht es darum, für Aufgabenstellungen nicht das Rad neu zu erfinden, wenn bestimmte Funktionen schon durch die Programmierumgebung bereitgestellt werden (beispielsweise in Form von Bibliotheken). Sie zeichnet sich also vor allem dadurch aus, dass ein guter Überblick über den grundsätzlichen Funktionsumfang und die Systematik der von der Programmierumgebung bereitgestellten Funktionen (die in die tausende gehen können) erzeugt wird. Für eine definierte Aufgabenstellung können sie in entsprechenden Dokumentationen dann schnell die bereitgestellten Funktionen nachschlagen und einsetzen."
Erstmal: Da im vorherigen Satz "zum einen" gesagt wurde, sollte hier ein "zum anderen" / "weiterhin" oder so auftauchen. Das "zum einen" stellt auch eine Auflistung von Kriterien für "gute Programmierung" in Aussicht, die nicht erfolgt.
Ansonsten spielt der Absatz plötzlich nur noch auf Wiederverwendbarkeit an. Abgesehen davon, dass er plötzlich sehr fachspezifische Begriffe ("Funktionen") verwendet (was im Rest des Artikels übrigens desöfteren genauso passiert), setzt der Absatz die Bibliotheken der Sprache gleich, was auf jeden Fall ein grober inhaltlicher Fehler ist!
Ich kann mir denken, wie die Autoren des Absatzes das gemeint haben und bin auch der Meinung, dass dieses grundlegende Wesen von Programmieren ("Programmieren heißt auch Konsumieren bzw. Nutzen fremder Arbeit in eigenem Kontext bzw. für eigene Zwecke [was auch die Sprache selber betrifft!]") hier erwähnt werden sollte - die Wiederverwendbarkeit selber ist aber eine komplexe Frage aus dem Gebiet der Programmierparadigmen und gehört hier nicht her.
Ich glaube, der Artikel sollte für den Otto-Normalverbraucher, der sich gerade fragt was Programmieren ist, einen guten Einstieg liefern und sich auf ganz allgemeine Gedanken beschränken. Der letzte Absatz von "Qualitätskriterien" macht das in etwa: Er schildert, dass Programmierer sich mit vielen Plattformen und robustem Quelltext auseinandersetzen müssen und dass das eine Herausforderung für Programmierer ist. Ich finde, der Artikel sollte unbedingt überarbeitet werden.
Wie seht ihr das?
--84.184.72.59 01:10, 11. Aug. 2009 (CEST)
thread_title:  Qualitätskriterien 

message: Ich könnte kaum mehr zustimmen. Alleine daß der Abschnitt "Qualitätskriterien" die Hälfte des Artikels ausmacht ist schlecht proportioniert. 
Er wirkt wie von jemandem, dem das gerade persönlich wichtig ist, und der seine Erkenntnisse irgendwie weitergeben will, dabei aber wenig Talent zeigt sich auszudrücken. Das ist aber im Rest des Artikels nicht besser.
"Programmieren ist das Erstellen von Programmen" - tja - etwas tautologisch, oder? Ein Programm ist demnach das Produkt des Programmierens? 
Unter "Programmierumgebung" verstehe ich auch die IDE, und daß man diese effizient genutzt hat sollte man einem Programm gar nicht ansehen - es sollte agnostisch gegenüber der IDE sein, um wartbar und unabhängig zu bleiben, und auch von Nutzern anderer Umgebungen verstanden werden zu können. 
Effizienz ist auch ein ökonomischer Maßstab, der in Programmierfragen nichts verloren hat. Nicht alle Programmierung ist Lohnarbeit, und die Perspektive auf kurzfristige Gewinnen ist Ideologie, und nichtmals Konsens in der Geschäftswelt, sondern vielmehr auch dort umstritten. 
"Zunehmend wird er dabei durch Codegeneratoren unterstützt, " Das stimmt z.B. für mich nicht. Auch der Hinweis auf agile Programmierung ist so ein - wir schauen mal aus der Tür raus, und beschreiben anhand dessen, was wir sehen, was Wetter ist. 
"Insbesondere geht es darum, für Aufgabenstellungen nicht das Rad neu zu erfinden, " Das Gegenteil ist genauso richtig. Programmieren ist die Tätigkeit für spezielle Aufgabenstellungen das Rad täglich neu zu erfinden. Selbst die Metapher mit dem Rad stimmt, wenn man sich nur unterschiedliche Räder anschaut. Für jeden PKW wird wieder das Rad neu erfunden, für Kinderwägen und Traktoren, für Flugzeuge und Schweizer Uhren, für Spielzeugautos, Lokomotiven, ICE-I, ICE-II und ICE-III - immer wieder erfindet dieser doofe Mensch das Rad neu. :) 
"Dies verlangt ... sich nicht ... dazu verleiten lassen darf, zu kurzen, „kryptischen“ Quelltext zu erzeugen, " Zu kurzer Code ist zu kurz, wie zu bröckeliger Mörtel zu bröckelig ist. Eine Null-Aussage, wenn man genau hinschaut. 
"Statistisch gesehen wird die meiste Zeit für die Entwicklung von Quelltext benötigt, um auf Fehler oder außergewöhnliche Anwendungs- oder Hardwareumgebungen zu reagieren." Ist das so? Quelle? 
"Ein Programmtext, der auch bei unvorhergesehenen Fehlern oder ungewöhnlichen Umgebungen sinnvoll reagiert, wird als portabel oder robust bezeichnet." Nein, der wird als robust bezeichnet. Portabel ist was anderes. 
"Geübte Programmierer können die möglichen Fehler und Laufzeitumgebungen gut einschätzen und strukturieren das Programm und seinen Quelltext dementsprechend." "Geübte Schreiner können die möglichen Fehler und Umgebungen gut einschätzen und strukturieren das Möbel und seine Bauanleitung dementsprechend." Triviales Bla-bla.
"Der Zeitdruck bei der Entwicklung von Anwendungen stellt selbst an erfahrene Programmierer immer höchste Ansprüche hinsichtlich dieses Kriteriums." Schwachsinn. Das ist eine pauschale Behauptung über die Bedingung der Entwicklung von Programmen, die zutreffen kann oder nicht, aber nichts mit Programmieren zu tun hat, sondern mit dem Gesellschaftssystem in dem dies stattfindet. 
Ein programmierender Student, ein Hobbyprogrammierer, ein bestens ausgestattetes Projekt muß nicht Zeitdruck ausüben. 
"von der Programmierumgebung bereitgestellten Funktionen (die in die tausende gehen können) erzeugt wird." Was soll das? In die tausende? Oder Zehntausende vielleicht? Oder Hunderttausende? Wenn die Zahl aus der Luft gegriffen ist, was soll das dann?
: WP:Sei mutig und hilf mit. (P.S: gebe Dir übrigens in allen Punkten recht) --Sebastian.Dietrich 22:47, 16. Feb. 2010 (CET)
thread_title:  Zustimmung durch [[Spezial:Beiträge/88.73.83.119|88.73.83.119]] 22:00, 16. Feb. 2010 (CET) 

message: So - hab mir jetzt endlich den Absatz Qualitätskriterien durchgelesen. Puh was für ein Blödsinn. Der ganze Abschnitt ist mMn so überhaupt nicht haltbar --> habe ihn auf die QS gesetzt --> bitte dort weiterdiskuttieren. --Sebastian.Dietrich 17:12, 2. Mär. 2010 (CET)
thread_title:  Qualitätskriterien neu schreiben 

message: In den letzten Änderungen  wurden Textteile entfernt, gemäß denen auch Interpreter eine "Übersetzung" vornähmen - dies wird damit also verneint. Ich denke, dies trifft lediglich für den Aspekt zu, dass ein Interpreter keinen ausführbaren Code als zusätzliche(n) Datei/Bibliothekseintrag erzeugt. Trotzdem muss er, da er dem Prozessor ausführbare Befehle bereitstellen muss, den Originalcode genauso 'übersetzen' - nur pro Anweisung oder Anweisungsblock; wie es auch in Interpreter beschrieben ist. Dies ist im aktuellen Text nicht mehr enthalten. --VÖRBY (Diskussion) 09:56, 20. Aug. 2019 (CEST)
thread_title:  Auch ein Interpreter 'übersetzt' 

message: Es geht um die weitläufigen Änderungen mit . Die Einleitung ist bereits jetzt schon viel zu umfangreich und sollte verschlankt und nicht noch mehr aufgeblasen werden. Die Änderungen sind zwar gut gemeint, aber nicht gut umgesetzt - d.h. bitte einzeln einbringen (damit sie auch einzeln von anderen Autoren reflektiert werden können) oder einzeln hier besprechen... --Sebastian.Dietrich   ✉  08:12, 20. Jun. 2023 (CEST)
thread_title:  Weitläufige Änderungen