Im (aktuellen) Linux-Magazin 6/2009 auf Seite 95, wurde doch tatsächlich ein Java-Programm abgedruckt. Dazu die Bildunterschrift: <blockquote>Java benötigt fünf Klassen und einen Integer um einen String aus einer Datei auszulesen. In Perl reichen dazu vier Zeichen und ein Semikolon.</blockquote>

So sehr ich das Linux-Magazin mag, aber so etwas ist einfach nur Blödsinn! Um einen String aus einer Datei auszulesen, brauche ich in bash nur eine Zeile, so what?!

Noch dazu ist das Programm falsch und unnötig aufgeblasen:


final Reader inc = new BufferedReader( new InputStreamReader(
new BufferedInputStream( new FileInputStream( "demo.txt" ) ) ) );


Die main-Methode muss mindestens die Ausnahme “Exception” deklarieren und um aus der Datei zu lesen, reicht die abstrakte Klasse “InputStream”, womit sich die obigen fünf Zeilen (und fünf Klassen) auf eine Zeile und zwei Klassen reduzieren:


final InputStream is = new FileInputStream( filename );


Dazu noch der Blödsinn mit “einen Integer um einen String auszulesen”. Was macht Perl wohl “untendrunter?” Perl ist in C geschrieben, was also wird dort stehen?

Fazit: Wenn ich wirklich effektiv mit Strings arbeiten will, führt kein Weg an SNOBOL vorbei! Basta! :-)