August Hörandl wrote:
> ist doch eine gute Ausrede: "der Computer macht das falsch" - nur
> leider machen Computer keine Fehler
Na ja. Da gab es einmal einen Pentium, der machte bei einigen Befehlen tatsächlich Fehler. Auf die ist der Normalverbraucher gar nicht gekommen, sondern erst ein Spezialist, dem manches Ergebnis nicht gefiel.
> nur die Programmierer die auch nur Menschen sind
Genau. So habe ich es auch im Prinzip gemeint.
> kann
> man fehlerfreie Programme sehr wohl schreiben bzw. die Fehler im Griff
> haben. Und Tests vor der Ausführung durchführen.
Da muss ich jetzt deutlich widersprechen. Wir sind uns wohl einig, dass ich nicht vom berühmten Programm sprach, das "Hello World" am Bildschirm produziert. Große Applikationen mit Tausenden Befehlszeilen enthalten Fehler, glauben Sie mir das. (Ich hoffe, dass sich in diesem Forum auch Experten melden und die üblichen Fehlerraten angeben.)
> Oder wie funktionieren Autopiloten, Steuerungen von Atomkraftwerken
> sonst ?
Soviel ich weiß, haben moderne Flugzeuge drei unabhängige Systeme, die ihre Ergebnisse ständig miteinander vergleichen und nach Majoritätsentscheidungen agieren.Über die Sicherheit von Atomkraftwerksteuerungen wage ich keine Aussage.
>Oder eine Beispiel für ein "normales" Programm: Tex - seit1995 wurde
>kein
Fehler >gefunden
OK, das freut mich natürlich. Aber um jetzt zu zeigen, wie ich das meine: wenn Sie beispielsweise die Taste F10, S und Entf gleichzeitig drücken, läuft dann das Programm in jeder Situation fehlerfrei weiter? Wenn mitten in einer Eingabe der Strom ausfällt, läuft dann das Programm fehlerfrei nach Wiedereinschalten weiter? Und was ist, wenn Sie die Tasten 4 und Pos1 gleichzeitig drücken, wenn .... Wollen Sie wirklich versuchen, alle möglichen Tastenkombinationen an allen möglichen Programmstellen auszutesten? Und das sind nur die äußeren Einflussmöglichkeiten. Das meine ich, wenn ich sage, dass niemand sicher sagen kann, dass ein Programm fehlerfrei läuft.
> Es gibt keine Testfälle (ein oder mehrere Eingabefiles und
> kontrollierte Ausgabedatein dazu) die automatisch bei jeder Version
> durchlaufen werden. Wobei diese Testfälle auch alle Sonderfälle und
> Fehler der vorigen Versionen umfassen
Ich verstehe leider nicht ganz, was Sie hier meinten. Vielleicht passt aber das
folgende:
Nach welchen Gesichtspunkten legen Sie diese Testprogramme an? Nach welcher statistischen Wahrscheinlichkeit können Sie dann festlegen, dass das gesamte Programm mit allen Sonderregelungen (unser Gehaltsprogramm beispielsweise muss angesichts der tausenden verschiedenen Fallmöglichkeiten so ein Ungetüm sein) fehlerfrei läuft?
Trotzdem bleibe ich optimistisch, dass alle Programme, die ich verwende, bei meinen Anwendungen keine Fehler machen. Beim Gehaltsprogramm bin ich allerdings gezwungen, dies zu glauben. Das macht mich schon nervös.
Erich Ganspöck
--
Diese Liste wird vom Computer Communications Club (http://www.ccc.at) betrieben. Um sich aus der Liste austragen zu lassen, senden Sie ein e-mail an majordomo@ccc.at mit dem Befehl "unsubscribe lehrerforum" im Nachrichtentext.