Archiv für den Monat November 2009

PHP5: Keine Ausnahmen bei den Exceptions

PHP gehört zu Sprachen, die einen unglaublich schlechten Ruf genießen. Dieser Ruf gründet sich hauptsächlich auf die teilweise sehr pragmatisch implementierten Konzepte in Version 4 der Sprache. PHP 5 war für alle die eine größere Codebasis pflegen ein echter Sprung nach vorne. Und jetzt, fünf Jahre nach Veröffentlich von PHP 5, haben selbst die faulsten konservativsten Systemadministratoren Updates installiert und man kann als Hacker endlich davon bei der täglichen Arbeit profitieren. Zum Beispiel, bei der Fehlerbehandlung.
Das Problem ist so alt wie die Programmierung: Was mache ich mit Fehlern? Also keinen logischen Fehlern, sondern nicht vorhersagbare Seiteneffekte Fehler die entstehen, weil eine Datei nicht schreibbar ist, ein Server nicht erreichbar oder weil der Drucker schlicht lichterloh in Flammen steht?

(weiterlesen…)

Jahresendrally

Jahresendrally. Bemerkenswertes Wort, das eine Menge Assoziationen auf einmal abfrühstückt. Bei uns beherrscht sie die Arbeit in Form von Projektabschlüssen (»Fertig werden!«), -übergängen oder Warten auf Kunden, die gerade ihre eigene Rallye am Jahresende fahren.

Heißt es eigentlich Jahresendrallye oder Jahresendrally? Ich Erbsenzähler ich. Laut Duden ist der Begriff Jahresendrally (ohne e) Börsenjargon und meint einen Anstieg von Börsenkursen zum Jahresende. Demnach fährt bei diesem Wort also keiner metaphorisch ein etappenweises Autorennen. – Oder doch? Haben die Börsianer das e verschludert? Oder waren es die Schweizer, die den Begriff erfunden haben? (»Werrr hat’s errrfunden…?«) In dem schönen Alpenland nämlich schreibt man, wenn ich hierbei ebenfalls dem Duden folge, Rally ohne e und meint offensichtlich in erster Wortbedeutung auch den erwähnten Autowettkampf.

Der werte Leser könnte bei so viel Zeit für begriffliche Details meinen, meine Jahresendrally bestünde derzeit vornehmlich aus der Warterei auf Kunden, die gerade ihre eigene Rallye und so weiter fahren. Nein, nein, man kommt eben so ins Plaudern. Eigentlich habe ich gar keine Zeit…

Also, bei uns herrscht Jahresendrally – ob mit oder ohne e, ist mir egal. Und das mit Blick zurück auf fast ein Jahr KM2 >> Neuerfindung. Vor einem Jahr bereits liefen bei uns die Veränderungsräder heiß und heißer und in wenigen Wochen jährt sich erstmals unser Neuanfang. Und? Wie war’s? Wie ist’s? Wie wird es sein? Es war anders, neu, aufregend und aufwühlend. Es ist besser. Aber: Der Idealismus wird auf dem Amboss der Wirklichkeit geschmiedet. So ist’s, so war’s und wird es immer sein. Noch besser geht’s immer. Dranbleiben. An die Arbeit…

Go-Lang: Und alle so Yeah. Alex Sneak Peek in eine unfertige Sprache

Programmieren, so meinen die Google-Ingenieure, sei viel zu schwierig. Also sind sie hingegangen und haben ein interessantes soziologisches technisches Experiment gestartet: Mit Googles Hebel eine Programmiersprache in freier Wildnis zu entwerfen: Go-Lang.

Denn wenn selbst eine Hardwarebude wie Apple daher kommt und anfängt die Urgroßmutter C um neue Sprachfeatures zu erweitern, kann es ja nicht angehen, dass die Damen und Herren bei Google zurückstehen. Mit Versprechungen halten die Go-Macher nicht gerade hinter dem Berg: Einfaches Programmieren, schneller Code, einfach umzusetzende Nebenläufigkeit, Spaß soll es auch noch machen und dass es Open Source ist versteht sich ja von selbst. Dann muss es ja wohl gut sein, oder?

Oder? Oder!?

Nein, gut ist anders. Viel und ganz anders. So begrüßenswert der Versuch auch sein mag, eine fixe Sprache mit eingebautem Garbage Collector zu etablieren … die Konzepte wirken nicht eigenständig oder gar wie aus einem Guss. Mehr wie die Hochzeitsszene aus der Dreigroschenoper, mit einer Braut wie aus einem Tim-Burton-Film. Etwas Neues, etwas Gebrauchtes und etwas Blaues. Und mit Zombies.

Man glaubt es kaum: Google verzichtet auf LLVM und stampft stattdessen eine eigene Toolchain aus dem Boden. Der 6g-Compiler ist trotzdem ziemlich fix und mit den Fehlermeldungen kann man arbeiten. Effizienter Compilerbau ist keine Kleinigkeit, gerade wenn man die Sprachfeatures nicht mal halbwegs spezifiziert hat. Hut ab Google, Yeah!

Die Features und Konzepte sind dann aber schon weniger Yeah!: Keine Typehierachie, dafür aber Interfaces, das Modulkonzept ist eine wilde Mischung aus Java und Python, keine Exceptions, Unicode-Unterstützung nur über zusätzliche Module (wtf?!), kein sauberes Asserting (hey, by design *hust*) und  von dem Versprechen der einfachen Nebenläufigkeit ist man noch Lichtjahre entfernt.

Egal. Hey, jeder Hacker sollte wenigstens einmal in seinem Leben eine Programmiersprache entwickelt haben. Das geht schon in Ordnung, auch wenn das Ergebnis wirkt wie eine Chimäre aus C, C++, Erlang, Python und Scala.

Wirklich interessant ist aber wie die Community reagiert. Bis heute morgen sind etwa 600 Mails aufgeschlagen, Interesse ist also da. Neben der - nachvollziehbaren - Forderung nach Exceptions und sonstigem technischem Zuckerguss, fragen Leute (ernsthaft!), ob Go nicht die richtige Sprache für die Umsetzung ihrer Business-Transaktionen sei. Immerhin stamme sie ja von Google, da müsse das ja gut sein.Oder, ob nicht jemand Lust hätte, ein MVC-Framework zu schreiben, denn Go sei ganz toll und alles was man bräuchte wäre ein bisschen Code um in Gang zu kommen. Oder, ob jemand nicht einen MySQL-Treiber schreiben wollte, den bräuchte nämlich jemand. Dringend!

Kleine Projekte, kleine Sorgen – große Projekte, große Sorgen. Immerhin haben sie ein süßes Maskottchen.

logo-153x55