Diskussion:Motivation (Code): Unterschied zwischen den Versionen
Katrin (Diskussion | Beiträge) |
Moritz (Diskussion | Beiträge) |
||
(16 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 23: | Zeile 23: | ||
Servus! | 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. | + | 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 [http://de.wikipedia.org/wiki/Php 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. |
− | Im konkreten Fall hätte eine [http://de.wikipedia.org/wiki/Php 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 | 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: | ||
+ | |||
+ | <blockquote> | ||
+ | <pre> | ||
+ | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
+ | ; 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 | ||
+ | |||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | |||
+ | 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. | ||
+ | |||
+ | --[[Benutzer:Anna|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. | ||
+ | |||
+ | --[[Benutzer:Hofbauerr|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. --[[Benutzer:Richardd|Richardd]] 13:14, 23. Okt. 2007 (UTC) | ||
+ | |||
+ | : <font color="sienna">Die "unvorhergesehene Situation" ist ein zentraler Punkt. Es wird eine Mitteilung gemacht, aber sie läuft nicht in den Schienen der Mitteilungen, die zu erwarten sind. Und entsprechend ist sie auch nicht nach diesen Regeln verständlich. Der Code verschwindet nicht im Hintergrund, sondern tritt mit einer Information über die Störung der Mitteilung in den Vordergrund. | ||
+ | |||
+ | : "Überschuss an Information" passt auch genau. Dieses Übermass besteht darin, dass nicht nur die ''Informationen'' verarbeitet werden, sondern auch noch die ''Fehlerhaftigkeit dieser Verarbeitung'' verarbeitet wird. Daher die Mitteilungen auf zwei verschiedenen Ebenen. Das Beispiel operiert ja damit, dass - im gewöhnlichen Verständnis - nur auf der Meta-Ebene "Code" auftaucht, während es dem unbedachten Blick so scheint, als wäre die Objektebene kein Code. </font> --[[Benutzer:Anna|anna]] 17:18, 1. Nov. 2007 (UTC) | ||
+ | |||
+ | Die Fehlermeldung erscheint deshalb, weil ein gewisser Vorgang eine Regelwidrigkeit hervorruft... um dies von Richard zu übernehmen. Ich bin selbst keine Computerexpertin aber ich würde den Pc jetzt nicht so viel Eigenleistung zutrauen. | ||
+ | Am Ende kann er nur das was man ihn vorgibt, dass es dabei zu Prozessen kommt, die nicht eins zu eins vom Programmierer eingegeben wurden ist klar. Aber das ist im Grunde mit jeder Maschine so. Ein "Prozessweg" um an das gewünschte Ziel zu kommen. Der Motor von meinen Auto läuft auch ohne dass ich ihm alles vorsage und wenn etwas nicht stimmt (kein Benzin zum Bsp) dann reagiert er entsprechend darauf. Mit den Codes ist es nicht anders (auch wenn ich damit Gesagtes wiederhole) wenn er falsch ist, kann das Gerät es nicht akzeptieren, weil es eben auf etwas anderes programmiert wurde. Codes die nicht akzeptiert werden gibt es auch in anderen Bereichen, Lösungsworte auf der Bank zum Beispiel. | ||
+ | Was mir weniger klar ist: Manches Mal erscheinen solche Warnungen und wenn man die Seite erneut öffnet sind sie weg. War dann die Warung eine Fehlmeldung oder eine Fehlermeldung und wodurch oder wem(was)entstand sie? | ||
+ | VO50861 | ||
+ | |||
+ | |||
+ | [[Zur Diskussion:]] | ||
+ | '''Ursache:''' | ||
+ | Letztendlich ist immer der Mensch Verursacher für das, was als Fehlermeldung auf dem Bildschirm erscheint. Mit letztendlich meine ich, dass es der Mensch ist, der die Hardware, speziell die Prozessoren mit ihren fest eingebrannten Befehlen baut. Der Mensch ist es auch, welcher mit Hilfe verschiedener Programmiersprachen auf den Befehlsatz des Prozessors seine Programme schreibt. Tauchen auf dieser Ebene Fehler auf, die wissentlich oder unwissentlich entstanden sind, so kommt es, falls vorgesehen, zu einer Fehlermeldung. Damit ist der Mensch zwar Verursacher von Fehlern, von Schuld zu reden, ist eine andere Sache; die Unterscheidung ist im jeweiligen Kontext zu treffen. Weder im Hard- noch im Softwarebereich kann der Mensch die absolute Kontrolle haben, weil nicht voraussehbar ist, was die von ihm gebauten Hardwareteile und erschaffenen Programme in bestimmten Situationen machen. | ||
+ | |||
+ | [[Gedanken, die beim Lesen der Diskussionsbeiträge und des Exzerpts von K. Hayles zum Kapitel „Code – Coda“ (Weizenbaums Sekretärin beim privaten Gespräch mit dem Computer) auftauchten:]] | ||
+ | '''Schuld:''' | ||
+ | Was Schuld ist, müssen die Gerichte klären, aber was den Fehler verursacht hat, kann man auf einer rein sachlichen Ebene emotionslos und wertfrei betrachten. Was ist Schuld? Menschen neigen sehr leicht dazu, im Falle eines Auftretens einer Störung von Schuld zu sprechen, obwohl es sich um eine Frage nach der Verursachung dieser Störung handelt. „Was ist schuld daran, dass das nicht funktioniert?“ Vielleicht banal, aber drückt diese Frage nicht auch eine Erwartung aus, die uns als Individuum recht unangenehm berührt? Die Frage nach der Schuldzuweisung könnte als Reflex aufgefasst werden: „Ich bin’s jedenfalls nicht, oder ich hoffe zumindest es nicht zu sein.“ Die Frage nach der Ursache für eine Störung scheint neutraler zu sein, wobei natürlich auch der Terminus „Störung“ zu hinterfragen wäre. | ||
+ | |||
+ | [[Zum Exzerpt von K.Hayles:]] | ||
+ | '''Das Unbewusste:''' | ||
+ | Um eine Analogie zum Unbewussten herzustellen, verwende ich als Kriterium den nicht unmittelbaren Zugang des Menschen zu seinem Unbewussten. Das Unbewusste in der Computerwelt wäre für mich die 0,1-Ebene, die in der Hardware, beispielsweise im Prozessor, abläuft. Da es sehr wenige Menschen gibt, die auf dieser Ebene der Maschinensprache programmieren können, wäre das für mich, wegen des nicht unmittelbaren Zuganges, ein Analogon zum Unbewussten. Um die Analogie etwas auf die Spitze zu treiben, kann man hier auch von Göttern sprechen, den Erbauern der Prozessoren. Sie sind es, welche die Strukturen des Unbewussten festlegen, indem sie sie in die Prozessoren fest einbrennen. Sie sind es, die das Unbewusste recht gut kennen. Oberhalb dieser grundlegenden Hard- und Software-Bereiche, die dem Unbewussten am nächsten liegen, ist die Ebene der verschiedenen Programmiersprachen (Maschinensprache ausgeschlossen), die mehr oder minder entfernt vom Unbewussten sind, je nachdem, um welche Sprache es sich handelt. | ||
+ | Wer/was allerdings der/die Gott/Götter sind, die/der/das die Strukturen des menschlichen Unbewussten schafft, darüber vermag ich leider keine Auskunft zu geben. Es fehlt mir ganz einfach die entsprechende Erfahrung. | ||
+ | |||
+ | Nun könnte man sehr leicht zu dem Schluss kommen, dass nur die Schöpfer der Prozessoren, die ich so dreist „Götter“ nannte, einen unmittelbaren Zugang zum „Unbewussten“ haben. Wozu sie – als Menschen – tatsächlich Zugang haben, ist lediglich das, was gerade noch sichtbar ist für sie; jeder Schöpfer/jede Schöpferin eines Prozessors als der untersten Ebene eines Kommunikationsmittels trägt zu jeder Zeit sein eigenes Unbewusstes wie einen Schatten mit sich herum, das in jede bewusste Tätigkeit mit einfließt. D.h., in jeder bewussten Ebene | ||
+ | befindet sich gleichzeitig wie ein Doppelgänger das Unbewusste, sowohl im Bereich des Erbauers, als auch im Computer als seinem Produkt. Es erfolgt also nicht nur ein äußerer Einfluss durch Technik auf unser Unterbewusstsein, sondern ebenfalls ein Einfluss unseres Unterbewussten auf unsere Technik (sh. auch „Nigel Thrift's technological unconscious“ im o.g. Exzerpt, 5. Absatz). | ||
+ | Silvia. | ||
+ | |||
+ | |||
+ | :Also dass das binäre System 0,1 den unterbewussten Bereich eines Computers ausmacht kann ich nicht ganz unterschreiben. Vielleicht hierzu mal ein kurzer Exkurs in die Programmiersprachen: | ||
+ | |||
+ | Man teilt Programmiersprachen, z.B. C/C++, C#, Java, PL/1, Assembler, in Generationen ein. Je nach "Prozessornähe" wird die Programmiersprache also einer Ebene zugeordnet. | ||
+ | Die unterste Ebene, und das wird wohl jedem einleuchten, ist die Kombination aus "Strom ein"/"Strom aus" --> also 1 und 0, wobei sich das ganze im Normalfall immer auf einer Ebene von 5 Volt bewegt. Eine "Variable" die die Werte 1 und 0 annehmen kann, nennt man in der Computersprache ein "Bit". | ||
+ | Nun versucht man also anhand von solchen binären Stellen andere Zeichen darzustellen. Man fasst also mehrere Bits zu Bytes zusammen. Ein 1 Byte hat 8 Bit und wenn man sich das ausrechnet, kann man mit einer achtstelligen binären Zahl bis zu 2 Hoch 8 Zahlen darstellen --> 256. | ||
+ | Es würde jetzt natürlich jedem Menschen äußerst schwer fallen, jedes Zeichen, jeden Buchstaben und jede Zahl in einer binären Form einzugeben. Das würde nicht nur unendllich lange dauern, sondern auch sehr sehr schwierig sein. | ||
+ | Jetzt kann man sich aber auch vorstellen, dass einfache Vorgänge wie das Addieren von Zahlen ebenso eine ungeheure Menge von solchen Bitkombinationen benötigen. Jeder PC ist natürlich grundlegend ein "Rechner" der durch das Addieren, Substrahieren,.... Bitfolgen und Bytes bearbeitet und manipuliert. Jeder Befehl wie z.B. das Addieren hat natürlich ebenfalls eine Bezeichnung über die er aufgerufen werden kann, die letztenendes nichts als eine bloße Bitkombination ist, bzw. sich auf (virtuelle) Schaltungen auswirkt. | ||
+ | Um den Menschen unnötiges Eingeben dieser Bitfolgen oder Hexadezimalzahlen zu ersparen verwendet man Platzhalter --> um nichts anderes handelt es sich bei der "prozessornahen" Programmiersprache Assembler. Jeder Prozessor hat gewisse Befehlssätze, über auf ihn zugegriffen werden kann. | ||
+ | Nun ist aber auch schon eine solche "prozessornahe" Programmiersprache überaus umständlich, wo eine einfache Addition zweier "Register" schon mehrer Zeilen benötigt --> man bedenke wie lange man bräuchte, wenn es denn überhaupt mögliche wäre, grafische Systeme wie Windows darin zu programmieren. Deshalb fasst man auch hierin wieder bestimmte Programmfolgen, die häufig benötigt werden und überaus zusammen und bewegt sich somit auf die nächste Ebene. Während mit der "prozessornahen" Sprache direkt auf die Befehle und Register des Prozessors zugegriffen wurde, greift die Programmiersprache der nächsten Ebene nurnoch auf vorgefertigte Module der vorhergehenden Sprache zu. Natürlich werden im Hintergrund die eingegebenen Sprachen wieder in den "prozessornahen" Code übersetzt, da der Prozessor ja einzig und alleine diesen versteht. | ||
+ | Man könnte also sagen, dass es sich bei den höheren Programmiersprachen um etwas ähnliches wie "Makros" handelt, die viele kleine Befehle in einem einzigen Befehl zusammenfassen --> also werden gewisse Module erstellt, mit denen es zu Arbeiten leichter fällt. | ||
+ | Man darf sich diese Sprachen jetzt natürlich nicht alzu "bunt" vorstellen:) Bis ein Interface, wie z.B. Windows zustande kommt, das in gewisser Form die Sprache des Menschen spricht und ituitiv gehandhabt werden kann, benötigt es einen Haufen Arbeit. | ||
+ | Ich sagte "Interface" weil ja die grafische Darstellung des "Betriebssystems" nichts anderes ist als eine Schnittstelle zum menschenfreundlichen Umgang mit dem Computer. --[[Benutzer:Richardd|Richardd]] 11:58, 31. Okt. 2007 (UTC) | ||
+ | |||
+ | |||
+ | Die Frage nach dem Täter impliziert zumindest eine gewisse Vorsätzlichkeit und Mutwilligkeit, die meiner Meinung nach in den meisten Fällen nicht gegeben ist. Vergessen wir also den Umstand der Vorsätzlichkeit und beschäftigen wir uns nur mit den möglichen Ursachen eines Fehlers, so sollte zuerst die Definition eines Fehlers beleuchtet werden. Als Fehler würde ich jedes unerwartete Verhalten eines Systems bezeichnen. Nachdem wir es beim Internet mit einem deterministischen System zu tun haben, wäre an sich jeder Systemzustand vorhersehbar. Wie aber in einigen Beiträgen ausführlich erläutert, sind am Systemverhalten sehr viele unterschiedliche Komponenten beteiligt, deren inneres Verhalten vielleicht von den einzelnen Entwicklern mehr oder weniger vorhersehbar ist (und auch das natürlich nicht wirklich) aber auf keinen Fall ist das Zusammenspiel dieser Einzelteile in seiner Gesamtheit erfassbar. Schon die Tatsache, dass durch Testen nur ein Vorhandensein von Fehlern bewiesen werden kann, aber nicht die Fehlerfreiheit zeigt uns, dass es bei jeder einzelnen Komponente eine gewisse, wenn auch mitunter kleine Fehlerwahrscheinlichkeit gibt. Und durch das Zusammenspiel der Einzelkomponenten potenziert sich diese Fehlerwahrscheinlichkeit. Es gibt zwar mathematische Beweisverfahren, die sich auch auf Computersysteme anwenden lassen könnten, aber umgesetzt auf das Internet sind diese Verfahren viel zu zeitaufwendig. Ich will damit sagen, dass es menschenunmöglich ist, ein fehlerfreies System zu entwickeln und daher ist die Frage nach dem Täter so zu beantworten, dass es sich um ein systemimmanentes Problem handelt. Die sinnvollste Vorgehensweise wäre aus meiner Sicht, sich mit dem Risiko eines Fehlers abzufinden und sich damit zu begnügen dieses Risiko zu minimieren, indem man sich auf die wesentlichen Anforderungen konzentriert, diese entsprechend sorgfältigen Tests unterzieht und sich der Unzulänglichkeit bewusst ist. Werkzeuge sind höchstens so gut wie die Menschen, die diese verwenden. | ||
+ | |||
+ | Johanna | ||
+ | |||
+ | |||
+ | Ich muss vorne weg sagen, dass ich diesen Fr. 16.11. nicht in der VL war, also falls ich etwas aufwerfe, was bereits besprochen wurde... gut, dann war ich wohl zu spät. | ||
+ | |||
+ | Ich würde mich nicht so sehr auf einzelne Wörter wie Schuld und Störung versteifen. Unsere Sprache ist doch sehr flexibel und von daher muss ein Wort nicht zwingend nur eine Bedeutung haben. Schuld und Störung sehe ich hier nur als "Verbalisierung von Unbekannten" und daher stoße ich mich nicht so sehr daran. | ||
+ | Im Teil des Unbewussten von einer Götterstellung(siehe Kollegin oben)zu reden halte ich hingegen nicht umbedingt für überspitzt. Denn, eine Person "SCHAFFT" eine komplexe Maschine, die, wenn man sich intensiv damit beschäftigt, die Fähigkeit erlangen könnte, zu lernen, also sich neues Wissen eigenständig anzulernen, wie es ein Mensch kann. Eben jenen Prozess,welchen man auch nicht kontrollieren könnte (Das Unbewusste im PC). Man wird zwar selbst zum Schöpfer, aber man ist selbst nicht vollkommen (wie man es Göttern zuschreibt) und darum besteht eine gewisse Angst vor dem was man "SCHAFFEN" könnte, wie man es immer wieder aus den Aussagen heraus hört. | ||
+ | Generell halte ich es, auf unsere Pc bezogen(für spätere Entwicklungen, können wir hier ja keine Aussagen treffen), für falsch den PC als so "perfekt" zu sehen, wie es viele doch gerne tun: | ||
+ | Man gibt einen Code ein und er macht. | ||
+ | Aber wie wir alle wissen ist der Computercode nicht der einzige Code, der uns umgibt. Jede Sprache, jede Schrift, jedes Bild, jedes Handzeichen ist ebenfalls so ein Code nur! sind sie alle abänderbar, in der Sprache gibt es Dialekte,... würde man mit einen Pc auf unsere Art, also mit verschiedenen "Codeebenen" (Ich nenne das mal so), kommunizieren, dann wäre er nicht fähig das umzusetzten, wie wir das an unseren VL- BSP gesehen aben (alles muss 100% korrekt sein). Und wie jede Maschine unterliegt auch er einer Abnutzung. Ich denke, gerade diesen Bereich, also den "des Computeraltern" haben wir in unserer Berechnung, wie es zu "ungewollten Änderungen" im Programm kommt, trotz der vielleicht korrekten Codeeingabe, übersehen. | ||
+ | Ich lege bei meinen Aussagen keinen Anspruch auf Richtigkeit, es sind lediglich die Gedanken, welche mir gekommen sind als ich die einzelnen Eintragungen gelesen habe. | ||
+ | VO50861 | ||
+ | |||
+ | Ich würde gerne an die Worte von Johanna anknüpfen, worin sie beschreibt,dass es menschenunmöglich ist, ein fehlerfreies System zu entwickeln. Der Mensch kann also nichts Vollkommenes produzieren, da er selbst ein fehlerhaftes, defizitäres Wesen ist. Was ich an dieser Stelle ansprechen möchte, ist die Überlegung, ob denn Fehlermeldungen unbedingt immer etwas Negatives sein müssen. Bekanntlich lernt der Mensch aus seinen Fehlern. Treten nun Fehlermeldungen auf, wird dem Menschen vor Augen geführt, dass sein System verbesserungsfähig ist, was ja grundsätzlich positiv ist. Das Werkzeug oder System ist höchstens so gut wie sein Erbauer, aber dieser hat nun die Möglichkeit seine Werkzeuge zu optimieren. | ||
+ | Angi | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | In Bezug auf die Aussage, dass das Werkzeug oder System nur so gut sein kann wie sein Erbauer, möchte ich von heute weggehen und in die zukünftige Entwicklung schauen. Ich denke, dass der Mensch immer wieder Werkzeuge schafft, die er schwer kontrollieren kann (das Beispiel des Zauberlehrlings). Und die sich dann sozusagen verselbstständigen. Heutige Computerprogramme sind am Mittelweg zwischen vom Menschen direkt steuerbaren Maschinen hin zu selbstständig „denkenden“ „Wesen“. Die Tatsache, dass wir nicht mehr alle Dinge hier direkt steuern können (bzw. nur durch neue Programme kontrollieren) lässt uns diesen Zustand als Götterstellung des PCs wahrnehmen. Ich möchte jetzt die weitere, zukünftige Entwicklung betrachten und stelle die These auf, dass die zukünftigen Programme so komplex sind, dass sie nur mehr durch andere Programme erstellt werden – und der Einfluss des Menschen auf seine Maschine in direktem Weg kaum mehr da ist. In diesem Fall kann die Maschine weit besser sein (oder viel schlechter werden) als ihr Erbauer. Im Kinofilm „Matrix“ sehen wir eine Welt, wo Computerprogramme die Welt steuern. Es ist unsere Aufgabe mit Kontrollmechanismen (das können auch andere Programme sein) darauf zu achten, dass die grundlegenden Entscheidungen weiterhin von Menschen getroffen werden, und ich denke, ein „Abschalten“ muss hier auch möglich sein. Das führt uns nun zur Verantwortung – und zur Schuldfrage. | ||
+ | |||
+ | Schuld und Wertung – Fehlermeldungen als schlecht anzusehen, das muss uns klar sein, ist nur subjektiv. Wir sehen die Fehlermeldung zwar als störend an, weil sie etwas Ungewohntes ist. Durch ihre Behebung können wir (wie schon im vorigen Beitrag erwähnt) aber lernen und erfahren neue Aspekte, die wir ohne sie nicht erfahren hätten. Was ist ein Fehler ? Die Definition davon ist ja nie ganz objektiv und immer vom Betrachter abhängig. So können manche von uns als Fehler wahrgenommene Erscheinungen durchaus von anderen als positiv betrachtet werden. Der Begriff der Wertung, der hier hereinkommt, spielt auch zwischen den menschlichen Kulturen eine wichtige Rolle – ist eine westliche – oder östliche Kultur „besser“ bzw. „fehlerloser“ ? Ich versuche nun die virtuelle Welt mit ihren Computerprogrammen als neue „Kultur“ zu sehen. Die zwar maßgeblich von uns gesteuert und verantwortet wird, aber bereits oft relativ selbstständig ist. Nur in einer eingehenden Analyse dieser „Kultur“ können wir so werten, dass wir mit unseren Entscheidungen zwar weiterhin die grundlegende Kontrolle über die Maschine haben, aber dennoch Verbesserungen zulassen. | ||
+ | |||
+ | Benedikt, 21.12.2007 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Die Wachowski-Brüder haben wohl offensichtlich Descartes studiert, bevor sie das Script zu "Matrix" verfasst haben (aber das nur nebenbei)... Es ist heute durchaus schon Realität, das "Programme Programme schreiben" bzw. interpretieren (vgl. dazu ja auch die Anmerkungen zu den verschiedenen Programmiersprachen in diesem Wiki). Zu "Kontrolle" und "Abschalten" fallen mir neben "Matrix" auch andere "References" in der Populärkultur ein, nicht zuletzt "HAL9000" aus Stanley Kubricks "2001: A Space Odyssey". Hier kommt vielleicht auch eine Angst des Menschen ins Spiel, Kontrolle - und gleichzeitig auch Verantwortung an die Maschine abzugeben bzw. zu verlieren?! Aus "seiner Sicht" handelt HAL9000 ja "richtig" (und: er zeigt "menschliche" Züge). Ich finde den Standpunkt der "Subjektivität des Fehlers" sehr wichtig! | ||
+ | --[[Benutzer:Moritz|Moritz]] 16:49, 27. Dez. 2007 (CET) |
Aktuelle Version vom 27. Dezember 2007, 16:49 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)
- Die "unvorhergesehene Situation" ist ein zentraler Punkt. Es wird eine Mitteilung gemacht, aber sie läuft nicht in den Schienen der Mitteilungen, die zu erwarten sind. Und entsprechend ist sie auch nicht nach diesen Regeln verständlich. Der Code verschwindet nicht im Hintergrund, sondern tritt mit einer Information über die Störung der Mitteilung in den Vordergrund.
- "Überschuss an Information" passt auch genau. Dieses Übermass besteht darin, dass nicht nur die Informationen verarbeitet werden, sondern auch noch die Fehlerhaftigkeit dieser Verarbeitung verarbeitet wird. Daher die Mitteilungen auf zwei verschiedenen Ebenen. Das Beispiel operiert ja damit, dass - im gewöhnlichen Verständnis - nur auf der Meta-Ebene "Code" auftaucht, während es dem unbedachten Blick so scheint, als wäre die Objektebene kein Code. --anna 17:18, 1. Nov. 2007 (UTC)
Die Fehlermeldung erscheint deshalb, weil ein gewisser Vorgang eine Regelwidrigkeit hervorruft... um dies von Richard zu übernehmen. Ich bin selbst keine Computerexpertin aber ich würde den Pc jetzt nicht so viel Eigenleistung zutrauen. Am Ende kann er nur das was man ihn vorgibt, dass es dabei zu Prozessen kommt, die nicht eins zu eins vom Programmierer eingegeben wurden ist klar. Aber das ist im Grunde mit jeder Maschine so. Ein "Prozessweg" um an das gewünschte Ziel zu kommen. Der Motor von meinen Auto läuft auch ohne dass ich ihm alles vorsage und wenn etwas nicht stimmt (kein Benzin zum Bsp) dann reagiert er entsprechend darauf. Mit den Codes ist es nicht anders (auch wenn ich damit Gesagtes wiederhole) wenn er falsch ist, kann das Gerät es nicht akzeptieren, weil es eben auf etwas anderes programmiert wurde. Codes die nicht akzeptiert werden gibt es auch in anderen Bereichen, Lösungsworte auf der Bank zum Beispiel. Was mir weniger klar ist: Manches Mal erscheinen solche Warnungen und wenn man die Seite erneut öffnet sind sie weg. War dann die Warung eine Fehlmeldung oder eine Fehlermeldung und wodurch oder wem(was)entstand sie? VO50861
Zur Diskussion:
Ursache:
Letztendlich ist immer der Mensch Verursacher für das, was als Fehlermeldung auf dem Bildschirm erscheint. Mit letztendlich meine ich, dass es der Mensch ist, der die Hardware, speziell die Prozessoren mit ihren fest eingebrannten Befehlen baut. Der Mensch ist es auch, welcher mit Hilfe verschiedener Programmiersprachen auf den Befehlsatz des Prozessors seine Programme schreibt. Tauchen auf dieser Ebene Fehler auf, die wissentlich oder unwissentlich entstanden sind, so kommt es, falls vorgesehen, zu einer Fehlermeldung. Damit ist der Mensch zwar Verursacher von Fehlern, von Schuld zu reden, ist eine andere Sache; die Unterscheidung ist im jeweiligen Kontext zu treffen. Weder im Hard- noch im Softwarebereich kann der Mensch die absolute Kontrolle haben, weil nicht voraussehbar ist, was die von ihm gebauten Hardwareteile und erschaffenen Programme in bestimmten Situationen machen.
Gedanken, die beim Lesen der Diskussionsbeiträge und des Exzerpts von K. Hayles zum Kapitel „Code – Coda“ (Weizenbaums Sekretärin beim privaten Gespräch mit dem Computer) auftauchten: Schuld: Was Schuld ist, müssen die Gerichte klären, aber was den Fehler verursacht hat, kann man auf einer rein sachlichen Ebene emotionslos und wertfrei betrachten. Was ist Schuld? Menschen neigen sehr leicht dazu, im Falle eines Auftretens einer Störung von Schuld zu sprechen, obwohl es sich um eine Frage nach der Verursachung dieser Störung handelt. „Was ist schuld daran, dass das nicht funktioniert?“ Vielleicht banal, aber drückt diese Frage nicht auch eine Erwartung aus, die uns als Individuum recht unangenehm berührt? Die Frage nach der Schuldzuweisung könnte als Reflex aufgefasst werden: „Ich bin’s jedenfalls nicht, oder ich hoffe zumindest es nicht zu sein.“ Die Frage nach der Ursache für eine Störung scheint neutraler zu sein, wobei natürlich auch der Terminus „Störung“ zu hinterfragen wäre.
Zum Exzerpt von K.Hayles: Das Unbewusste: Um eine Analogie zum Unbewussten herzustellen, verwende ich als Kriterium den nicht unmittelbaren Zugang des Menschen zu seinem Unbewussten. Das Unbewusste in der Computerwelt wäre für mich die 0,1-Ebene, die in der Hardware, beispielsweise im Prozessor, abläuft. Da es sehr wenige Menschen gibt, die auf dieser Ebene der Maschinensprache programmieren können, wäre das für mich, wegen des nicht unmittelbaren Zuganges, ein Analogon zum Unbewussten. Um die Analogie etwas auf die Spitze zu treiben, kann man hier auch von Göttern sprechen, den Erbauern der Prozessoren. Sie sind es, welche die Strukturen des Unbewussten festlegen, indem sie sie in die Prozessoren fest einbrennen. Sie sind es, die das Unbewusste recht gut kennen. Oberhalb dieser grundlegenden Hard- und Software-Bereiche, die dem Unbewussten am nächsten liegen, ist die Ebene der verschiedenen Programmiersprachen (Maschinensprache ausgeschlossen), die mehr oder minder entfernt vom Unbewussten sind, je nachdem, um welche Sprache es sich handelt. Wer/was allerdings der/die Gott/Götter sind, die/der/das die Strukturen des menschlichen Unbewussten schafft, darüber vermag ich leider keine Auskunft zu geben. Es fehlt mir ganz einfach die entsprechende Erfahrung.
Nun könnte man sehr leicht zu dem Schluss kommen, dass nur die Schöpfer der Prozessoren, die ich so dreist „Götter“ nannte, einen unmittelbaren Zugang zum „Unbewussten“ haben. Wozu sie – als Menschen – tatsächlich Zugang haben, ist lediglich das, was gerade noch sichtbar ist für sie; jeder Schöpfer/jede Schöpferin eines Prozessors als der untersten Ebene eines Kommunikationsmittels trägt zu jeder Zeit sein eigenes Unbewusstes wie einen Schatten mit sich herum, das in jede bewusste Tätigkeit mit einfließt. D.h., in jeder bewussten Ebene befindet sich gleichzeitig wie ein Doppelgänger das Unbewusste, sowohl im Bereich des Erbauers, als auch im Computer als seinem Produkt. Es erfolgt also nicht nur ein äußerer Einfluss durch Technik auf unser Unterbewusstsein, sondern ebenfalls ein Einfluss unseres Unterbewussten auf unsere Technik (sh. auch „Nigel Thrift's technological unconscious“ im o.g. Exzerpt, 5. Absatz). Silvia.
- Also dass das binäre System 0,1 den unterbewussten Bereich eines Computers ausmacht kann ich nicht ganz unterschreiben. Vielleicht hierzu mal ein kurzer Exkurs in die Programmiersprachen:
Man teilt Programmiersprachen, z.B. C/C++, C#, Java, PL/1, Assembler, in Generationen ein. Je nach "Prozessornähe" wird die Programmiersprache also einer Ebene zugeordnet. Die unterste Ebene, und das wird wohl jedem einleuchten, ist die Kombination aus "Strom ein"/"Strom aus" --> also 1 und 0, wobei sich das ganze im Normalfall immer auf einer Ebene von 5 Volt bewegt. Eine "Variable" die die Werte 1 und 0 annehmen kann, nennt man in der Computersprache ein "Bit". Nun versucht man also anhand von solchen binären Stellen andere Zeichen darzustellen. Man fasst also mehrere Bits zu Bytes zusammen. Ein 1 Byte hat 8 Bit und wenn man sich das ausrechnet, kann man mit einer achtstelligen binären Zahl bis zu 2 Hoch 8 Zahlen darstellen --> 256. Es würde jetzt natürlich jedem Menschen äußerst schwer fallen, jedes Zeichen, jeden Buchstaben und jede Zahl in einer binären Form einzugeben. Das würde nicht nur unendllich lange dauern, sondern auch sehr sehr schwierig sein. Jetzt kann man sich aber auch vorstellen, dass einfache Vorgänge wie das Addieren von Zahlen ebenso eine ungeheure Menge von solchen Bitkombinationen benötigen. Jeder PC ist natürlich grundlegend ein "Rechner" der durch das Addieren, Substrahieren,.... Bitfolgen und Bytes bearbeitet und manipuliert. Jeder Befehl wie z.B. das Addieren hat natürlich ebenfalls eine Bezeichnung über die er aufgerufen werden kann, die letztenendes nichts als eine bloße Bitkombination ist, bzw. sich auf (virtuelle) Schaltungen auswirkt. Um den Menschen unnötiges Eingeben dieser Bitfolgen oder Hexadezimalzahlen zu ersparen verwendet man Platzhalter --> um nichts anderes handelt es sich bei der "prozessornahen" Programmiersprache Assembler. Jeder Prozessor hat gewisse Befehlssätze, über auf ihn zugegriffen werden kann. Nun ist aber auch schon eine solche "prozessornahe" Programmiersprache überaus umständlich, wo eine einfache Addition zweier "Register" schon mehrer Zeilen benötigt --> man bedenke wie lange man bräuchte, wenn es denn überhaupt mögliche wäre, grafische Systeme wie Windows darin zu programmieren. Deshalb fasst man auch hierin wieder bestimmte Programmfolgen, die häufig benötigt werden und überaus zusammen und bewegt sich somit auf die nächste Ebene. Während mit der "prozessornahen" Sprache direkt auf die Befehle und Register des Prozessors zugegriffen wurde, greift die Programmiersprache der nächsten Ebene nurnoch auf vorgefertigte Module der vorhergehenden Sprache zu. Natürlich werden im Hintergrund die eingegebenen Sprachen wieder in den "prozessornahen" Code übersetzt, da der Prozessor ja einzig und alleine diesen versteht. Man könnte also sagen, dass es sich bei den höheren Programmiersprachen um etwas ähnliches wie "Makros" handelt, die viele kleine Befehle in einem einzigen Befehl zusammenfassen --> also werden gewisse Module erstellt, mit denen es zu Arbeiten leichter fällt. Man darf sich diese Sprachen jetzt natürlich nicht alzu "bunt" vorstellen:) Bis ein Interface, wie z.B. Windows zustande kommt, das in gewisser Form die Sprache des Menschen spricht und ituitiv gehandhabt werden kann, benötigt es einen Haufen Arbeit. Ich sagte "Interface" weil ja die grafische Darstellung des "Betriebssystems" nichts anderes ist als eine Schnittstelle zum menschenfreundlichen Umgang mit dem Computer. --Richardd 11:58, 31. Okt. 2007 (UTC)
Die Frage nach dem Täter impliziert zumindest eine gewisse Vorsätzlichkeit und Mutwilligkeit, die meiner Meinung nach in den meisten Fällen nicht gegeben ist. Vergessen wir also den Umstand der Vorsätzlichkeit und beschäftigen wir uns nur mit den möglichen Ursachen eines Fehlers, so sollte zuerst die Definition eines Fehlers beleuchtet werden. Als Fehler würde ich jedes unerwartete Verhalten eines Systems bezeichnen. Nachdem wir es beim Internet mit einem deterministischen System zu tun haben, wäre an sich jeder Systemzustand vorhersehbar. Wie aber in einigen Beiträgen ausführlich erläutert, sind am Systemverhalten sehr viele unterschiedliche Komponenten beteiligt, deren inneres Verhalten vielleicht von den einzelnen Entwicklern mehr oder weniger vorhersehbar ist (und auch das natürlich nicht wirklich) aber auf keinen Fall ist das Zusammenspiel dieser Einzelteile in seiner Gesamtheit erfassbar. Schon die Tatsache, dass durch Testen nur ein Vorhandensein von Fehlern bewiesen werden kann, aber nicht die Fehlerfreiheit zeigt uns, dass es bei jeder einzelnen Komponente eine gewisse, wenn auch mitunter kleine Fehlerwahrscheinlichkeit gibt. Und durch das Zusammenspiel der Einzelkomponenten potenziert sich diese Fehlerwahrscheinlichkeit. Es gibt zwar mathematische Beweisverfahren, die sich auch auf Computersysteme anwenden lassen könnten, aber umgesetzt auf das Internet sind diese Verfahren viel zu zeitaufwendig. Ich will damit sagen, dass es menschenunmöglich ist, ein fehlerfreies System zu entwickeln und daher ist die Frage nach dem Täter so zu beantworten, dass es sich um ein systemimmanentes Problem handelt. Die sinnvollste Vorgehensweise wäre aus meiner Sicht, sich mit dem Risiko eines Fehlers abzufinden und sich damit zu begnügen dieses Risiko zu minimieren, indem man sich auf die wesentlichen Anforderungen konzentriert, diese entsprechend sorgfältigen Tests unterzieht und sich der Unzulänglichkeit bewusst ist. Werkzeuge sind höchstens so gut wie die Menschen, die diese verwenden.
Johanna
Ich muss vorne weg sagen, dass ich diesen Fr. 16.11. nicht in der VL war, also falls ich etwas aufwerfe, was bereits besprochen wurde... gut, dann war ich wohl zu spät.
Ich würde mich nicht so sehr auf einzelne Wörter wie Schuld und Störung versteifen. Unsere Sprache ist doch sehr flexibel und von daher muss ein Wort nicht zwingend nur eine Bedeutung haben. Schuld und Störung sehe ich hier nur als "Verbalisierung von Unbekannten" und daher stoße ich mich nicht so sehr daran. Im Teil des Unbewussten von einer Götterstellung(siehe Kollegin oben)zu reden halte ich hingegen nicht umbedingt für überspitzt. Denn, eine Person "SCHAFFT" eine komplexe Maschine, die, wenn man sich intensiv damit beschäftigt, die Fähigkeit erlangen könnte, zu lernen, also sich neues Wissen eigenständig anzulernen, wie es ein Mensch kann. Eben jenen Prozess,welchen man auch nicht kontrollieren könnte (Das Unbewusste im PC). Man wird zwar selbst zum Schöpfer, aber man ist selbst nicht vollkommen (wie man es Göttern zuschreibt) und darum besteht eine gewisse Angst vor dem was man "SCHAFFEN" könnte, wie man es immer wieder aus den Aussagen heraus hört. Generell halte ich es, auf unsere Pc bezogen(für spätere Entwicklungen, können wir hier ja keine Aussagen treffen), für falsch den PC als so "perfekt" zu sehen, wie es viele doch gerne tun: Man gibt einen Code ein und er macht. Aber wie wir alle wissen ist der Computercode nicht der einzige Code, der uns umgibt. Jede Sprache, jede Schrift, jedes Bild, jedes Handzeichen ist ebenfalls so ein Code nur! sind sie alle abänderbar, in der Sprache gibt es Dialekte,... würde man mit einen Pc auf unsere Art, also mit verschiedenen "Codeebenen" (Ich nenne das mal so), kommunizieren, dann wäre er nicht fähig das umzusetzten, wie wir das an unseren VL- BSP gesehen aben (alles muss 100% korrekt sein). Und wie jede Maschine unterliegt auch er einer Abnutzung. Ich denke, gerade diesen Bereich, also den "des Computeraltern" haben wir in unserer Berechnung, wie es zu "ungewollten Änderungen" im Programm kommt, trotz der vielleicht korrekten Codeeingabe, übersehen. Ich lege bei meinen Aussagen keinen Anspruch auf Richtigkeit, es sind lediglich die Gedanken, welche mir gekommen sind als ich die einzelnen Eintragungen gelesen habe. VO50861
Ich würde gerne an die Worte von Johanna anknüpfen, worin sie beschreibt,dass es menschenunmöglich ist, ein fehlerfreies System zu entwickeln. Der Mensch kann also nichts Vollkommenes produzieren, da er selbst ein fehlerhaftes, defizitäres Wesen ist. Was ich an dieser Stelle ansprechen möchte, ist die Überlegung, ob denn Fehlermeldungen unbedingt immer etwas Negatives sein müssen. Bekanntlich lernt der Mensch aus seinen Fehlern. Treten nun Fehlermeldungen auf, wird dem Menschen vor Augen geführt, dass sein System verbesserungsfähig ist, was ja grundsätzlich positiv ist. Das Werkzeug oder System ist höchstens so gut wie sein Erbauer, aber dieser hat nun die Möglichkeit seine Werkzeuge zu optimieren. Angi
In Bezug auf die Aussage, dass das Werkzeug oder System nur so gut sein kann wie sein Erbauer, möchte ich von heute weggehen und in die zukünftige Entwicklung schauen. Ich denke, dass der Mensch immer wieder Werkzeuge schafft, die er schwer kontrollieren kann (das Beispiel des Zauberlehrlings). Und die sich dann sozusagen verselbstständigen. Heutige Computerprogramme sind am Mittelweg zwischen vom Menschen direkt steuerbaren Maschinen hin zu selbstständig „denkenden“ „Wesen“. Die Tatsache, dass wir nicht mehr alle Dinge hier direkt steuern können (bzw. nur durch neue Programme kontrollieren) lässt uns diesen Zustand als Götterstellung des PCs wahrnehmen. Ich möchte jetzt die weitere, zukünftige Entwicklung betrachten und stelle die These auf, dass die zukünftigen Programme so komplex sind, dass sie nur mehr durch andere Programme erstellt werden – und der Einfluss des Menschen auf seine Maschine in direktem Weg kaum mehr da ist. In diesem Fall kann die Maschine weit besser sein (oder viel schlechter werden) als ihr Erbauer. Im Kinofilm „Matrix“ sehen wir eine Welt, wo Computerprogramme die Welt steuern. Es ist unsere Aufgabe mit Kontrollmechanismen (das können auch andere Programme sein) darauf zu achten, dass die grundlegenden Entscheidungen weiterhin von Menschen getroffen werden, und ich denke, ein „Abschalten“ muss hier auch möglich sein. Das führt uns nun zur Verantwortung – und zur Schuldfrage.
Schuld und Wertung – Fehlermeldungen als schlecht anzusehen, das muss uns klar sein, ist nur subjektiv. Wir sehen die Fehlermeldung zwar als störend an, weil sie etwas Ungewohntes ist. Durch ihre Behebung können wir (wie schon im vorigen Beitrag erwähnt) aber lernen und erfahren neue Aspekte, die wir ohne sie nicht erfahren hätten. Was ist ein Fehler ? Die Definition davon ist ja nie ganz objektiv und immer vom Betrachter abhängig. So können manche von uns als Fehler wahrgenommene Erscheinungen durchaus von anderen als positiv betrachtet werden. Der Begriff der Wertung, der hier hereinkommt, spielt auch zwischen den menschlichen Kulturen eine wichtige Rolle – ist eine westliche – oder östliche Kultur „besser“ bzw. „fehlerloser“ ? Ich versuche nun die virtuelle Welt mit ihren Computerprogrammen als neue „Kultur“ zu sehen. Die zwar maßgeblich von uns gesteuert und verantwortet wird, aber bereits oft relativ selbstständig ist. Nur in einer eingehenden Analyse dieser „Kultur“ können wir so werten, dass wir mit unseren Entscheidungen zwar weiterhin die grundlegende Kontrolle über die Maschine haben, aber dennoch Verbesserungen zulassen.
Benedikt, 21.12.2007
Die Wachowski-Brüder haben wohl offensichtlich Descartes studiert, bevor sie das Script zu "Matrix" verfasst haben (aber das nur nebenbei)... Es ist heute durchaus schon Realität, das "Programme Programme schreiben" bzw. interpretieren (vgl. dazu ja auch die Anmerkungen zu den verschiedenen Programmiersprachen in diesem Wiki). Zu "Kontrolle" und "Abschalten" fallen mir neben "Matrix" auch andere "References" in der Populärkultur ein, nicht zuletzt "HAL9000" aus Stanley Kubricks "2001: A Space Odyssey". Hier kommt vielleicht auch eine Angst des Menschen ins Spiel, Kontrolle - und gleichzeitig auch Verantwortung an die Maschine abzugeben bzw. zu verlieren?! Aus "seiner Sicht" handelt HAL9000 ja "richtig" (und: er zeigt "menschliche" Züge). Ich finde den Standpunkt der "Subjektivität des Fehlers" sehr wichtig!
--Moritz 16:49, 27. Dez. 2007 (CET)