Diskussion:Motivation (Code): Unterschied zwischen den Versionen
Zeile 98: | Zeile 98: | ||
Es gibt Programmiersprachen, bei denen das, was wir oben als Fehlermeldung sehen, erst explizit implementiert bzw. benutzt, also eingebaut werden muss. Wenn es in einem solchen Fall (der fehlenden Implementierung) zu einem Fehler käme, könnte man dann also garnicht sagen worum es sich handelt. --> Die Anzeige der Fehlermeldung ist also in gewissem Sinne die Abmachung für ein reglementiertes Verhalten bei einer unvorhergesehenen Situation. | Es gibt Programmiersprachen, bei denen das, was wir oben als Fehlermeldung sehen, erst explizit implementiert bzw. benutzt, also eingebaut werden muss. Wenn es in einem solchen Fall (der fehlenden Implementierung) zu einem Fehler käme, könnte man dann also garnicht sagen worum es sich handelt. --> Die Anzeige der Fehlermeldung ist also in gewissem Sinne die Abmachung für ein reglementiertes Verhalten bei einer unvorhergesehenen Situation. | ||
− | in einer Analogie könnte man so davon sprechen: Die Fehlermeldung erscheint deshalb, weil ein gewisser Vorgang eine Regelwidrigkeit hervorruft und einen "Überschuss" an Information erzeugt, der | + | in einer Analogie könnte man so davon sprechen: Die Fehlermeldung erscheint deshalb, weil ein gewisser Vorgang eine Regelwidrigkeit hervorruft und einen "Überschuss" an Information erzeugt, der mit dem Sprachvorrat des jeweiligen Systems nicht fassbar ist. Einziger Anhaltspunkt bleibt die Tatsache, DASS ein Übertritt vorgekommen ist und in einem Idealfall weiß man noch, an welcher Stelle im "sequentiellen" Ablauf der Fehler auftrat. |
Nun hat man natürlich gewisse Erfahrungen mit einem Script oder einer überhaupt Programmiersprache und kann die häufigsten Fehler von vornherein bezeichnen. So gibt man also jedem Übertritt eine Nummer und kann anhand dieser Nummer herausfinden um was es sich speziell handelte. | Nun hat man natürlich gewisse Erfahrungen mit einem Script oder einer überhaupt Programmiersprache und kann die häufigsten Fehler von vornherein bezeichnen. So gibt man also jedem Übertritt eine Nummer und kann anhand dieser Nummer herausfinden um was es sich speziell handelte. | ||
− | Es gibt allerdings auch Vorgänge, die zur Anzeige eines Fehlers führen, obwohl der jeweilige Vorgang nicht unbedingt zu einem Absturz geführt hätte. Das passiert zum Beispiel oft wenn man Funktionen verwendet, die als "veraltet" betrachtet werden. Die Benutzung solcher Funktionen führt dann zu einem "Warning". Nichts desto trotz gibt es dann aber auch neue Funktionen, die die Funktionalität der alten über Umwege erreichen. Vielleicht könnte man da von legalisierten Gesetzesüberschreitungen sprechen --> Foucault. | + | Es gibt allerdings auch Vorgänge, die zur Anzeige eines Fehlers führen, obwohl der jeweilige Vorgang nicht unbedingt zu einem Absturz geführt hätte. Das passiert zum Beispiel oft wenn man Funktionen verwendet, die als "veraltet" betrachtet werden. Die Benutzung solcher Funktionen führt dann oft zu einem "Warning". Nichts desto trotz gibt es dann aber auch neue Funktionen, die die Funktionalität der alten über Umwege erreichen. Vielleicht könnte man da von legalisierten Gesetzesüberschreitungen sprechen --> Foucault. |
Man sieht also, dass Überschreitungen zur Stabilisierung des gesamten Systems mit eingeplant werden. --[[Benutzer:Richardd|Richardd]] 13:14, 23. Okt. 2007 (UTC) | Man sieht also, dass Überschreitungen zur Stabilisierung des gesamten Systems mit eingeplant werden. --[[Benutzer:Richardd|Richardd]] 13:14, 23. Okt. 2007 (UTC) |
Version vom 23. Oktober 2007, 14:25 Uhr
Hallo,
an sich behandelten wir das Phänomen einer Fehlermeldung als Output einer Blackbox (wurde in der Vorlesung weitgehend diskutiert). Mir stellt sich darüber hinaus die Frage : " WER ist der Täter ? " Also die Frage nach dem Verursacher. War der Auslöser zum Fehler der Abbruch eines Tools oder Inkompatibilität von unterschiedlicher Software oder ein ungenügend getestetes Programm oder ... Letztendlich ist es jedoch immer ein unwissentlicher Verursacher (wissentlich ist nicht auszuschließen!) also ist es ein 'Mensch im Netz'. Wie könnte man dies philosophisch interpretieren ?
Infophil
Agent im Netz
Ist wirklich immer ein Mensch Verursacher von Fehlern? (Gerichts-) Sachverständige suchen zwar bei der Analyse von Unfällen und Katastrophen primär nach menschlichem Versagen (bei der Bedienung, Herstellung oder Kostruktion von Apparaten), sie schließen aber Ursachen nicht aus, die vom Menschen in der konkreten Situation nicht beeinflussbar oder nicht vorhersehbar sind.
Ist wirklich immer ein 'Mensch im Netz' der Täter? Software in heute üblicher Komplexität kann weder durch Menschen noch durch Maschinen auf absolute Fehlerfreiheit geprüft werden. Man denke nur an slebst lernende 'Software-Agenten'. Der Verursacher (Entwickler) ist also insoferne unwissend, als er einen konkreten Fehler und dessen Wirkbreite nicht vorhersehen kann. Er ist allerdings wissend, mit welcher Restfehlerquote man rechnen muss und welche kritischen Folgewirkungen dies verurscahen kann (GAU). Und er ist verantwortungslos, wenn er keine Präventionen setzt.
--Hofbauerr 14:51, 17. Okt. 2007 (UTC)
Servus!
Zur Frage des ersten Beitrags, denke ich, dass sie uns tautologisch in einen Kreis führt. Wenn sich in einem von Menschen geschaffenen System Fehler ereignen, ist - von dem was "höhere Gewalt" beschreibt abgesehen - menschliche Fehlleistung die Täterin. Im konkreten Fall hätte eine PHP-Programmmierung die Fehlermeldung abfangen können, um User nicht weiters damit zu behelligen, während sie für Administratoren zugänglich ist. Die Ursache der Fehlermeldung wird auch auf menschlicher Seite zu finden sein. Vielleicht greift es zu kurz, die Frage nach einem Täter zu stellen - gerade angesichts der großen Komplexität. Aber auch wenn Software-, Programmierungs- und Anwendungsfehler sowie Kompatibilitätsmängel zwischen beteiligten Systemen und deren Komponenten auftreten, denke ich, dass den daraus entstehenden unbefriedigenden Resultaten menschlichen Unzukömmlichkeiten verschiedener Akteure und Agenten zu Grunde liegen.
Katrin
Die Frage nach dem "Schuldigen" ist im ersten Durchgang leicht beantwortet. Für den dargestellten Zustand ist der Webmaster verantwortlich (also h.h.). Die Konfigurationsdatei für die PHP-Installation auf der Maschine enthält diese Passage:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; error_reporting is a bit-field. Or each number up to get desired error ; reporting level ; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) ; E_PARSE - compile-time parse errors ; E_NOTICE - run-time notices (these are warnings which often result ; from a bug in your code, but it's possible that it was ; intentional (e.g., using an uninitialized variable and ; relying on the fact it's automatically initialized to an ; empty string) ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's ; initial startup ; E_COMPILE_ERROR - fatal compile-time errors ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) ; E_USER_ERROR - user-generated error message ; E_USER_WARNING - user-generated warning message ; E_USER_NOTICE - user-generated notice message ; ; Examples: ; ; - Show all errors, except for notices ; ;error_reporting = E_ALL & ~E_NOTICE ; ; - Show only errors ; ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; ; - Show all errors except for notices ; ; error_reporting = E_ALL & ~E_NOTICE ; Print out errors (as a part of the output). For production web sites, ; you're strongly encouraged to turn this feature off, and use error logging ; instead (see below). Keeping display_errors enabled on a production web site ; may reveal security information to end users, such as file paths on your Web ; server, your database schema or other information. display_errors = On
Es ist also eine Einstellung in der Datei php.ini, welche von PHP entdeckte Fehler an den Browser weitergibt. Für die "glatte" Lesbarkeit ist das natürlich unerwünscht und insofern ein "Fehler". Aber das ist relativ zur Aufgabenstellung. Aus Sicht der Administratorin arbeitet PHP ganz in Ordnung: es zeigt an, dass die Datenbank partiell korrumpiert ist. Die "Fehler"meldung ist eine Zustandsanzeige. Und wer/was ist für die verantwortlich? Das ließe sich (eventuell) aus den Logfiles der Verbindungsdaten und Datenbankzugriffe rekonstruieren. Wichtiger als diese Zuordnungen ist mir das Verhältnis von Oberfläche und technischer Tiefendimension - siehe den Artikel von Katherine Hayles.
--anna 06:55, 19. Okt. 2007 (UTC)
Die Aussage von Katrin "wenn sich in einem von Menschen geschaffenen System Fehler ereignen, ist - von dem was 'höhere Gewalt' beschreibt abgesehen - menschliche Fehlleistung die Täterin" ist fragwürdig. Erstens ist zwar Software "vom Menschen geschaffen", ihre Funktionalität geht aber darüber hinaus. So verhält sich ein selbstlernendes System emergent, kann also nicht mit "vom Menschen geschaffen" allein nicht erklärt werden. Zweitens kann der Begriff "Täterin" nur auf einen (in dieser Schreibweise noch dazu nur weiblichen) Menschen bezogen werden, und nicht auf eine (Fehl-)Leistung. Drittens handelt es sich hier nicht um eine Fehlleistung (bewusstes oder unbewusstes menschliches Fehlverhalten) sondern um einen Fehler (Abweichung von einer Vorgabe).
Wie Anna richtig feststellt, handelt es sich hier nicht um eine Frage nach der Ursache (die mag zu einem unendlichen Regress führen) oder Schuld (die mag in eine Diskussion über Willensfreiheit münden), sondern nach der Verantwortung.
Tautologie sehe ich übrigens keine.
--Hofbauerr 14:40, 19. Okt. 2007 (UTC)
Wie bereits oben erwähnt wurde, ist die Festellung, ob es sich hierbei um einen Fehler handelte relativ zur Aufgabenstellung. Die Fehlermeldung die hier "geworfen" wurde ist ja kein Nonsens, sondern stellt eine Sicherheitsmaßnahme dar, um dem jeweiligen Administrator zu sagen, wo denn genau der Fehler liegt. Das ist anscheinend ein Vorteil dieser Programmier- bzw. Datenbankumgebung, dass das "Abfangen" von Fehlermeldungen ohne das Zutun des Programmierers auf dem Bildschirm angezeigt wird.
Es gibt Programmiersprachen, bei denen das, was wir oben als Fehlermeldung sehen, erst explizit implementiert bzw. benutzt, also eingebaut werden muss. Wenn es in einem solchen Fall (der fehlenden Implementierung) zu einem Fehler käme, könnte man dann also garnicht sagen worum es sich handelt. --> Die Anzeige der Fehlermeldung ist also in gewissem Sinne die Abmachung für ein reglementiertes Verhalten bei einer unvorhergesehenen Situation.
in einer Analogie könnte man so davon sprechen: Die Fehlermeldung erscheint deshalb, weil ein gewisser Vorgang eine Regelwidrigkeit hervorruft und einen "Überschuss" an Information erzeugt, der mit dem Sprachvorrat des jeweiligen Systems nicht fassbar ist. Einziger Anhaltspunkt bleibt die Tatsache, DASS ein Übertritt vorgekommen ist und in einem Idealfall weiß man noch, an welcher Stelle im "sequentiellen" Ablauf der Fehler auftrat.
Nun hat man natürlich gewisse Erfahrungen mit einem Script oder einer überhaupt Programmiersprache und kann die häufigsten Fehler von vornherein bezeichnen. So gibt man also jedem Übertritt eine Nummer und kann anhand dieser Nummer herausfinden um was es sich speziell handelte.
Es gibt allerdings auch Vorgänge, die zur Anzeige eines Fehlers führen, obwohl der jeweilige Vorgang nicht unbedingt zu einem Absturz geführt hätte. Das passiert zum Beispiel oft wenn man Funktionen verwendet, die als "veraltet" betrachtet werden. Die Benutzung solcher Funktionen führt dann oft zu einem "Warning". Nichts desto trotz gibt es dann aber auch neue Funktionen, die die Funktionalität der alten über Umwege erreichen. Vielleicht könnte man da von legalisierten Gesetzesüberschreitungen sprechen --> Foucault.
Man sieht also, dass Überschreitungen zur Stabilisierung des gesamten Systems mit eingeplant werden. --Richardd 13:14, 23. Okt. 2007 (UTC)