Donnerstag, 17. September 2009

Java vs. Skripting

Diese Situationen ergeben sich immer wieder: Man braucht mal schnell ein Skript, um kurz und schmerzlos einen Vorgang zu automatisieren, oder ein wirklich unkompliziertes Programm zu erstellen. Ok, schreiben wir's schnell als Bash-Skript. Oder Perl-, PHP-, Python-Skript. Möglichst wenig Overhead.

Das Skript ist schnell fertig - aber was heißt schon "fertig"? Hier noch ein kleines Feature, da noch eine Option. Und als Ausgabe vielleicht doch irgendwann XML statt Plaintext, damit man das Ergebnis auch strukturiert weiterverarbeiten kann. Als nächstes wär's schön, wenn man das Tool auch online nutzen könnte. Und es muss auch mal damit zurechtkommen, wenn ausnahmsweise zwei Leute gleichzeitig darauf zugreifen.

Dann geschieht's: Es stellt sich heraus, dass ein Baustein aus dem Tool recht praktisch ist - den könnte man auch an anderen Stellen gut wiederverwenden, also eigentlich ein Library-Kandidat! Und andererseits wär's für das Tool interessant, wenn es bereits bestehende Teile aus der eigenen Library nutzen könnte. Ach, hätt ich's doch bloß gleich in Java geschrieben!

Es scheint mir schon fast egal zu sein, wie trivial das Programm am Anfang ist. Ich frage mich: Ist es denn nicht meist besser, den prozentual betrachtet anfangs zwar hohen, aber absolut gesehen vernachlässigbar geringen zusätzlichen Overhead in Kauf zu nehmen - und für die kleinen Tools die selbe Sprache zu verwenden, wie für die großen Programme? (Egal ob jetzt z. B. Java oder C# - und wenn man sowieso alles in Python macht, dann spricht sicher nichts gegen Python-Skripting!)