Daniel Thoma: Perl "use strict" und die Pragmas -w -T

Beitrag lesen

Hallo coolblue,

hmmm... welcher Compiler/Interpreter gibt mir deiner Meinung nach hier einen Fehler aus? Egal in welcher Sprache!

Keiner, schließlich kann man das ja durchaus wollen. Außerdem ist es im allgemeinen nicht entscheidbar, ob eine while-schleife terminiert oder nicht.

Zu deineer Frage:
use strict und use warnings sollte man meiner Meinung nach bei jedem richtigen Programm, dass länger als ein paar Zeilen ist, verwenden.
Wenn man sie nicht verwendet kann man verdammt viel Fehler machen, ohne dass sich das irgendwie auswirkt. Aber in irgend einem Sonderfall oder wenn man das Programm erweitert, fliegt einem das Ding um die Ohren und es ist sehr viel schwieriger, solche Fehler dann zu beheben, als sie erst gar nicht zu machen.

Für goto gilt: Man kann alles, was man mit Programmen tun kann ohne goto tun und es macht Programme unübersichtlich. Es mag sein, dass es Fälle gibt, in denen eine Implementierung dadurch kürzer wird, aber einen Algortihmus, den man damit lesbarer implementieren kann, hab ich noch nicht gesehen.

for-Schleifen sollten im übrigen immer terminieren (vorausgesetzt, sie enthält nicht irgendetwas, was nicht terminiert)
Mit for-Schleifen, bei denen innerhalb der Schleife an der Zählervariable geschraubt wird, sollte man aufpassen, da auch das den Code schwieriger verständlich macht. Es gibt aus guten Grund Programmiersprachen die das verbieten.

Grüße

Daniel