|
104 | Rapid Application Development
Das Python-Framework Django bringt alles mit, um mit wenigen Schritten eine Webapplikation zu bauen.
112 | Perl-Snapshot
Ohne einen einzigen Klick trimmt Perl mit einem Sepia-Effekt Bilder auf alt.
|
Geht es um Performance, greift der Entwickler zu C oder Assembler. Soll es professionell werden, ist C++ oder Java angesagt. Admins kennen nur Perl, Bash und Awk, Wissenschaftler hingegen pflegen ihr Elfenbeinturm-Image mit Lisp, Squeak oder R. Skeptiker hinterfragen schließlich, ob R überhaupt eine Sprache ist.
Church lebt
Als der amerikanische Wissenschaftler Alonzo Church ab den 1930er Jahren zusammen mit Alan Turing und später Stephen C. Kleene an der Berechenbarkeit forschte, hatte er genau genommen etwas anderes im Sinn, als die heute regelmäßig zelebrierten Holy Wars, die unter Admins und Programmierern zu Scharmützeln führen. Church hatte universelle Anforderungen an Programmiersprachen formuliert, um eine Klasse nichttrivialer Probleme mit Computerhilfe automatisiert zu lösen - und das zu einer Zeit, als es noch gar keine Computer im heutigen Sinne gab.
Bemerkenswert ist, dass diese Anforderungen unabhängig von einer konkreten Sprache waren. Wichtig war ihm, dass sich die Maschine Werte merken konnte (etwa durch eine Variablenzuweisung), dass Wiederholungen möglich waren (zum Beispiel durch eine While-Schleife) und dass das Gerät Entscheidungen auf Grundlage von Gemerktem treffen konnte (If-Statement). Waren diese Grundlagen vorhanden, konnte man damit schon eine Menge anfangen, fand Church. Tatsächlich gehört es bis heute zum klassischen Quäl- und Ausbildungsprogramm für junge Studenten der Informatik, sie beweisen zu lassen, dass etwa eine Turing-Maschine, das Lambda-Kalkül oder PHP gleich mächtig sind.
Berühmt machte Church 1952 jedoch eine Vermutung, die er nicht beweisen konnte, die aber heute doch fast jeder Informatiker als wahr ansieht: Es gibt kein Problem, dass sich nicht mit den skizzierten Methoden lösen lässt, sofern es überhaupt eine Lösung hat. Umgekehrt bedeutet das aber auch, dass von der Idee her alle ernsthaften Programmiersprachen einander ebenbürtig sind. Der Fairness halber soll nicht unerwähnt bleiben, dass sich Church und Co. keinerlei Gedanken über Performance (Zeit spielte keine Rolle), Speicherplatz (war für die theoretischen Überlegungen genügend da, solange er endlich war) oder Ein- und Ausgabeverhalten (KDE und Gnome wurden erst Dekaden später erfunden) machten.
Welche Sprache ist wofür die Beste?
Die so benannte Churchsche These führt wieder zurück zu der Frage, welche Programmiersprache sich für welches Problem eignet: Python etwa nur für kleine Skripte? Nein, mittels Django (Artikel "Sturmritt: Webentwicklung mit Django" ab Seite 104) lassen sich damit auch Webapplikationen schreiben. Photoshop für die Bildverarbeitung? Nein, auch mit Perl kann der Urlaubsrückkehrer Gimp ansteuern und Fotos nachbearbeiten (Perl-Snapshot: "Alter kommt vor Schönheit" ab Seite 112).