Aloha ;)
Ich glaube du solltest deine stark eingeschränkte Definition nochmal in Revision nehmen - zumindest ist sie wohl nicht konsensfähig 😉
Du hast mit deiner Interpretation des Begriffs einfach 40 - 60 Jahre zu spät angefangen.
Dir ist klar, dass das eben ausdrücklich nicht meine Interpretation war, sondern die Interpretation entsprechender Nachschlagewerke, während das, worauf du dich beziehst, bisher nirgendwo außer in deiner Interpretation so nachzuschlagen ist?
Überleg mal, woher der Begriff "Bug" ursprünglich kam.
Das ist mir bewusst. Ich bin jung, nicht ahnungslos.
Deshalb weiß ich auch, dass…
Der hatte nichts mit logischen Programmfehlern zu tun, sondern mit Seiteneffekten, weil ein Programm aufgrund der "Bugs" nicht, wie geplant ausgeführt werden konnte. Da steckte leider eine Wanze im Relais.
…eine Wanze im Relais was vollkommen anderes ist als ein Seiteneffekt.
Für mich hört sich das so an als würdest du schwimmende Felle retten wollen. Genauso wie die Wanze im Relais bedeutet der umgangssprachliche Bug erstmal nur eins: Irgendwas im Programm funktioniert nicht wie es soll.
Debugging ist dann, die Wanze aus dem Relais zu nehmen - oder eben im übertragenen Sinn, einen Zustand herzustellen, bei dem das Programm dann letztendlich das tut, was es soll.
Gerne auch hierzu wieder Wikipedia: „Ein Programmfehler oder Softwarefehler oder Software-Anomalie, häufig auch Bug (englisch) genannt, bezeichnet im Allgemeinen ein Fehlverhalten von Computerprogrammen.“
Es gibt für mich und auch in allen Quellen, die ich finde, überhaupt kein Indiz dafür, dass es sinnvoll sein könnte, den allgemeinen Begriff Bug willkürlich weiter einzuschränken.
Bevor er anfängt, sollte der Programmierer ein Konzeot haben, an das er sich hält.
Dann sollte der Anfänger lernen, die syntaktischen und logischen Fehler seines Programms beiseitigen zu lernen.
Dann sollte er lernen, die algorithmischen Fehler auffangen und behandeln zu lernen, also alle verfügbaren Rückgabewerte auch zu beachten und zu bewerten.
Und zum Schluss sollte er sich an das Erlernen von Debugging-Startegien machen. Das sind heutzutage solche Sachen, wie Speicherüberlauf, nicht überprüfte und/oder santitierte Eingaben, fehlende Data-Links (Kanäle, Ports, Sockets, Protokolle, usw.) , Race-Conditons, usw.
Soweit richtig. Das sind alles Stufen des Debugging. Denn überall werden Bugs, also ungeplante Störungen in der Funktionalität des Programms behoben.
Solange Jungjuppies alle vier Stufen unter dem Deckmantel "Debugging" zusammenfassen, wird hinten nichts Sinnvolles rauskommen können. Ein Schritt nach dem nächsten bitte.
Jungjuppies? Du nimmst den Mund sehr voll dafür, dass du hier derjenige bist, der von seinem Elfenbeinturm predigt und bisher keinerlei Nachweis erbracht hat, dass irgendwas seiner Aussagen mehr ist als nur persönliches Gutdünken!
Nur gut, dass ich mich mit dem Jungjuppie nicht angesprochen fühlen muss - immerhin hatte ich ja im letzten Posting meine persönliche Meinung nicht dargelegt, sondern nur anerkannte Quellen zitiert.
Bin mal gespannt, was die Wikipedia-Community davon hält, als Jungjuppies bezeichnet zu werden. 😉
Grüße,
RIDER