Eigentlich weiß ich das ja schon länger, aber heute ist es mir wieder schmerzhaft bewußt geworden: Interpretierte Sprachen[1] sind zur Entwicklung ernsthafter Programme ungeeignet. Für Prototypen, einen schnellen Hack, oder als Shell-Skript-Ersatz sind sie eine feine Sache, aber nicht für echte Programme.

Man hört oft, Computer sind heutzutage so schnell, daß das schlechtere Laufzeitverhalten nicht ins Gewicht fällt, und falls doch ein paar Stellen kritisch sind, so ist das auch kein Problem: die Sprache kann C-Routinen aufrufen. Aber darum geht es nicht. Die echten Nachteile liegen nicht in der Ausführungsgeschwindigkeit, sondern in der fehlenden statischen Prüfung des Codes. Wenn man in einer kompilierten Sprache Quatsch schreibt, dann kann man darauf hoffen, daß der Compiler das bemerkt. In manchen strengeren Sprachen[2] läßt der Compiler weniger Quatsch durchgehen als in nachgiebigeren[3], aber es gibt erstaunliche viele Sorten Quatsch, die jeder Compiler findet. Interpretierte Sprachen kennen keinen Compiler, deswegen finden sie den Quatsch erst zur Laufzeit. Wenn sie ihn finden: Es gibt viele Pfade durch ein Programm, und einige davon werden nur selten benutz; deshalb ist es einfach, völlig vergurkte Programme zu schreiben, zu installieren, und zu benutzen. Es heißt dann oft Deshalb brauchen wir Tests, aber so nützlich Tests auch sind, so haben sie doch gewichtige Nachteile (jedenfalls wenn sie die einzige Möglichkeit sind, Fehler zu finden: Zuerst müssen sie überhaupt geschrieben werden. Ein Compiler versteht die Sprache, aber der Entwickler muß alle nötigen Testcases von Hand schreiben. Dabei kann man leicht etwas übersehen, und noch leichter aus Bequemlichkeit zu wenige (oder gar keine) Tests schreiben. Zweitens braucht das Abarbeiten der Tests Rechenzeit — wahrscheinlich mehr, als man durch den fehlenden Compilerlauf gespart hat; und das Schreiben kosts Entwicklerzeit, und zwar eine Menge. Schließlich findet der Compiler oft einfach andere Fehler als Tests, und wenn man beides einsetzt, findet man mehr Fehler.

Ja, und dann gibt es noch das Problem mit externem Code. Bibliotheken, Module, oder wie man ihn auch nennen will. APIs sollten sich nicht ändern (jedenfalls nicht ohne guten Grund), aber manchmal tun sie es eben doch. Für gewöhnliche, binäre Programme gibt es wohldefinierte Mechanismen, um verschiedene Versionen einer Bibliothek gleichzeitig vorzuhalten, damit ältere Programme immer noch laufen. Einen entsprechenden Mechanismus für Python kenne ich nicht, und so ungewöhnlich ist es nicht, wenn ein sauber installiertes Modul mit ImportErrors um sich wirft. Wenn man eine solche Methode entwickeln wollte, hätte man auch mit einem zusätzlichen Problem zu kämpfen: Wenn ein Programmierer eine shared library verlinkt, dann nimmt der Linker automatisch die neueste installierte Version dieser Bibliothek. Die Versionsnummer wird dann in dem kompilierten Programm verewigt, und wenn man es irgendwann später startet, wird die richtige Bibliothek benutzt. Es liegt aber gerade im Wesen einer interpretierten Sprache, daß der Programmcode nur vom Programmierer verändert wird. Wenn dieser also nicht von Hand eine bestimmte Bibliotheksversion anfordert, dann tut das auch keine andere Instanz.

Im Ernst: man sollte Werkzeuge verwenden, die für die Aufgabe geeignet sind, anstatt sich verzweifelt an seinen Hammer zu klammern und überall Nägel zu sehen.

  1. z.B. Python
  2. z.B. Ada
  3. z.B. C
Kein Kommentarenglishdeutsch

von kirjoittaessani


Linux und die Speicherverwaltung — das ist gar kein einfaches Thema. Wenn man dann noch versucht, seine User mittels ulimit im Zaume zu halten, wird es nur schwieriger. Gerade habe ich etwas sehr erhellendes gefunden: die meisten Sachen funktionieren einfach nicht.

Kein Kommentar

von kirjoittaessani


Ärgerlich, wenn der Rechner allnächtlich den mühsam zurechtgezimmerten Code löscht. Praktisch, wenn alle Änderungen in der Code-Datenbank gespeichert sind und man zu jedem beliebigen Zeitpunkt zurückgehen kann. Wunderlich, wenn zusammen mit dem Code auch alle seine Spuren in der Vergangenheit verschwunden sind.

Jetzt habe ich über Monate immer mal wieder ein, zwei Stündchen darauf verwendet, das Leck zu finden. Heute war ich endlich erfolgreich:

In the normal fast-forward case the behavior remains unchanged. However, now local modifications and commits will be erased, and upstream rewrites are handled smoothly.  This ensures that the upstream
branch is tested as expected.

Argh! Was soll das denn? Was ich teste, möchte ich bitteschön selbst entscheiden. Und wenn ich wirklich Upstream testen will, dann lege ich schon einen passenden Branch an. Aber es kann doch nicht sein, daß die Software das für mich entscheidet, und dann auch noch meinen Code aus der Datenbank löscht!

Kein Kommentardeutschenglish

von kirjoittaessani


Es ist schon eine ganze Weile her, daß ich die letzte neue Sorte ausprobiert habe. Eigentlich ist es auch schon recht lange her, daß ich hier überhaupt etwas geschrieben habe.

Egal — heute gibt es Rosenblüten, und ich bleibe mit einem zwiespältigen Gefühl zurück: einerseits schmeckt der Joghurt herrlich exotisch-orientalisch; aber die Assoziation zu Seife werde ich nicht so recht los.

1 Kommentar

von kirjoittaessani


Professor Mortimer ist wieder unterwegs! Diesmal verschlägt es ihn zwar nicht nach Atlantis, sondern nur in die Nähe von Paris; doch seine Erlebnisse sind nicht weniger abenteuerlich als beim letzten Mal (in der Chronologie eigentlich das vorletzte Mal, dazwischen fehlt noch S.O.S. Météores).

Mortimer erbt von Miloch, einem seiner Widersacher, dessen letzte Entdeckung. Nach anfänglicher Heimlichtuerei stellt sich heraus, daß Miloch an einer Zeitmaschine gearbeitet hat — entgegen ersten Vermutungen hatte er aber nicht den Verstand verloren, sondern ist tatsächlich erfolgreich gewesen. Soll Mortimer das Erbe antreten? Immerhin war Miloch sein Feind. Er hat die Warnungen seines Freundes Blake noch im Ohr, kann sich aber nicht bremsen, und probiert die Maschine aus. Nach zwei kurzen Episoden in der Vergangenheit (zunächst prähistorisch, dann inmitten der Jacquerie, einem Bauernaufstand des vierzehnten Jahrhunderts) landet er schließlich in der Zukunft. Hier hilft er einer Gruppe Widerstandskämpfer, sich von der Unterdrückung durch eine gesichtslose Obrigkeit zu befreien.

Die gewissenhaft ausgeführten und detaillierten Zeichnungen des Autors, die ich schon beim letzten Mal erwähnt habe, fallen mir auch jetzt wieder sehr positiv auf. Insbesondere in der cité interdite, einem verfallenen Tunnelsystem im zukünftigen Frankreich, wirken die Darstellungen sehr überzeugend. Aber auch die Bilder des Dorfes La Roche-Guyon sind sehr realistisch — selbst dann, wenn man sie mit Fotografien des Ortes vergleicht.

So vergebe ich für Le Piége Diabolique wie schon für L’Enigme de l’Atlantide fünf von fünf Sternen und lege diesen Band allen Fans der Ligne Claire ans Herz.

Kein Kommentar

von kirjoittaessani


Was ist denn heute los? Da standen doch tatsächlich kurz nacheinander zwei Leute mit Daten auf Disketten in der Tür.

1 Kommentar

von kirjoittaessani


Gewachsen sind sie. Also geht’s jetzt an die frische Luft. Naja, jedenfalls raus aus dem Gewächshaus und rein ins Zimmer.

3 Kommentare

von kirjoittaessani


Ah, Comics sind doch etwas Feines! Meine Begeisterung muß irgendwann in den frühen Teenager-Jahren angefangen haben. Asterix gab es bei uns zu Hause “schon immer”, aber eines Tages begann ich, mich durch die Comic-Abteilung der Stadtbibliothek zu arbeiten. Die Belgier hatten es mir besonders angetan: Spirou und Fantasio, Tim und Struppi, Lucky Luke. Noch besser war es freilich, wenn dazu noch eine futuristische Geschichte kam, und so wurden Yoko Tsuno und Blake und Mortimer meine Lieblingscomics. Warum also nicht einmal etwas fremdsprachiges abseits des Englischen probieren?

Professor Mortimer ist ein britischer Wissenschaftler, der seine Zeit lieber auf Exkursionen als im Labor verbringt. Dabei erlebt er immer wieder spannende Abenteuer, meist zusammen mit dem befreundeten Polizeihauptmann Blake. So auch in L’Enigme de L’Altantide: auf den Azoren stößt Mortimer bei der Erforschung einer Höhle auf einen seltsamen, radioaktiven Stein. Zusammen mit Blake will er der Sache auf den Grund gehen — doch auch der ewige Bösewicht Olrik interessiert sich für die Entdeckung.

Letztlich landen sie — der Titel läßt es bereits vermuten — in Atlantis, das vor langer Zeit zwar im Meer versunken, aber durchaus nicht untergegangen ist. Dort geraten sie in eine Intrige, die sie mehrmals in Lebensgefahr bringt. Am Ende geht natürlich alles gut aus, immerhin ist das erst der siebte Band.

Das alles spielt sich im Kontext der Fünfziger ab: man ist ein wenig steifer als heutzutage, trägt grundsätzlich Anzug, und auch enge Freunde siezen sich (was im Französischen allerdings verbreiteter ist als bei uns). Dazu kommt eine starke Technikgläubigkeit, insbesondere Kernenergie ist Sinnbild des Fortschritts und der Umgang mit ihr recht sorglos; erst, als Mortimer in einer Höhle aus radioaktivem Gestein eine heftige Dosis abbekommt, wird dem Leser klar, daß dem Autor die Gefahr durchaus bewußt war. In Atlantis wird es dann futuristisch — aus heutiger Sicht sind die gezeigten Bilder gleichzeitig modern und veraltet.

Den Zeichenstil, oft als Ligne Claire bezeichnet, finde ich persönlich sehr ansprechend. Durch den weitgehenden Verzicht auf Schraffuren und Farbnuancen sind die Bilder immer sehr klar und unverschwommen. Gerade die Landschaften und anderen Hintergründe sind aber trotzdem sehr detailliert gezeichnet, so daß die Bilder einen realistischen Eindruck machen. Ich habe übrigens festgestellt, daß sich meine noch etwas dürftigen Sprachkenntnisse hier positiv auswirken: da ich Sätze oft mehrmals lesen muß, verbringe ich viel mehr Zeit auf einer Seite, als das bei einer deutschen oder englischen Ausgabe der Fall wäre, und nehme so auch die Bilder viel intensiver wahr.

Am Text spart E.P. Jacobs übrigens auch nicht — bei vielen Einzelbildern macht er die Hälfte der Fläche aus, manchmal auch mehr. So hat ist der Leser immer noch ein Leser, und die Bilder unterstützen die Geschichte nur.

Ein paar Worte zur Verpackung sollen natürlich nicht fehlen: der Band ist in Deutschland mit gut siebzehn Euro zwar nicht billig, aber dafür bekommt man zweiundsechzig vollformatige, farbige Seiten auf anständigem Papier und im festen Einband.

Letztlich gebe ich klar fünf von fünf Sternen. Die etwas flache Geschichte — Wissenschaftler rettet zupackend und mutig die Welt — empfinde ich aus heutiger Sicht betrachtet eher als liebenswert; selbst wenn man sie als Kritikpunkt zählt, so bieten die überragenden Zeichnungen, die genaue Beachtung von Details und die einfallsreiche Darstellung von Atlantis ein deutliches Gegengewicht.

1 Kommentar

von kirjoittaessani


Es wird Frühling. Jedenfalls ein bißchen.

Kein Kommentar

von kirjoittaessani


Edelliset alkiot valitettavasti kuihtuivat — kukaties nämä elävätpä pitämpi…

4 Kommentaredeutschenglish

von kirjoittaessani