Entwickler Bescheidenheit
In einem Blog Artikel beschreibt Joshua Bloch einen Bug in der binary-search Implementierung der Java Klassenbibliothek und schliesst die Ausührung mit der Bemerkung:
The binary-search bug applies equally to mergesort, and to other divide-and-conquer algorithms. If you have any code that implements one of these algorithms, fix it now before it blows up. The general lesson that I take away from this bug is humility: It is hard to write even the smallest piece of code correctly, and our whole world runs on big, complex pieces of code. We programmers need all the help we can get, and we should never assume otherwise. Careful design is great. Testing is great. Formal methods are great. Code reviews are great. Static analysis is great. But none of these things alone are sufficient to eliminate bugs: They will always be with us. A bug can exist for half a century despite our best efforts to exterminate it. We must program carefully, defensively, and remain ever vigilant.Lesebefehl für jeden Entwickler: wird sind manchmal einfach zu arrogant und unkritisch mit unserem Code. Es geht jetzt weniger um den speziellen Fehler (ich hatte den Fehler in der Zeile vermutet aber eher bei der Rundung als beim Überlauf, und das obwohl ich normalerweise versuche solche Additionen zu vermeiden) sondern mehr um die Tatsache dass so ein trivialer Quelltext einen Fehler enthalten kann der fast 9 Jahre unbemerkt ist (und dabei Millionen von Anwendern hat, sogar in mehreren Lehrbüchern zu finden ist). Danke an Peter Luschny (de.comp.lang.java) für den Link. Dort hält man das ganze übrigens für einen PR Gag für sein neues Buch, das jetzt auch schon auf meiner Wunschliste steht.
Trackbacks
IT Blog on : Eine interessante Aussicht
Gerade hatten wir es ja noch von Wertebereichen: hier das Verhalten von Firefox mit windows Vista (beim Download nicht im Betrieb).
Negative GrößeAch ja, wer sich wundert warum ich den Firefox 1.5 für den Download benutze: der MS (Akami) Download Manag
Comments
Display comments as Linear | Threaded