Posts tagged: Exceptions

Eiffel: Das Esperanto unter den Programmiersprachen

Ich gehöre zu denjenigen, die sich gerne immer mal wieder eine neue Programmiersprache ansehen. Nicht um in jeder dieser Programmiersprachen letztendlich auch produktiv zu arbeiten, aber um mal “übern Tellerrand zu gucken”.

Das Ganze ist nicht nur interessant, sondern hat auch den Vorteil, dass man sehr viel über unterschiedliche Herangehensweisen und Programmierkulturen erfährt. Die einzelnen Sprachen unterscheiden sich nicht nur in der Syntax, sondern auch in der Denkweise, wie Probleme gelöst bzw. Code geschrieben wird. Sowas ist manchmal augenöffnend und kann auch mal helfen, kreative Lösungen für schwierige Probleme zu finden, die man in “seiner” Programmiersprache hat.

Das heißt natürlich nicht, dass man anfangen sollte, die eigene Sprachkur zu missachten. Im Gegenteil: Manchmal ist es sinnvoller, eine schlechte, aber allseits bekannte Lösung zu verwenden, als eine elegante, die für andere Entwickler “fremdartig” wirkt. Code schreibt man i.d.R. ja nicht nur für sich selbst, sondern auch für die anderen Entwickler im Team, etc.

Aber für schwierige, nicht-alltägliche Probleme kann man auch mal eine kreative Lösung gebrauchen. Und dafür ist es ganz gut, wenn man mit anderen Sprachen und Programmierkulturen in Kontakt kommt. Außerdem ist es mit Programmiersprachkulturen ähnlich wie mit natürlichen Sprachen: Sie verändern und beeinflussen sich gegenseitig und das ist eine Bereicherung. [1]

Ich bin nicht der einzige, der so denkt. In “The Pragmatic Programmer” [2] geben Andy Hunt und Dave Thomas den Rat: “Learn at least one new language every year.” Und da komm ich sogar in etwa hin. Die meisten davon kann ich nicht (mehr) wirklich gut. Wirklich produktiv einsetzen kann ich momentan davon nur ne Hand voll. Aber darum gehts ja auch nicht.

Nun, ich hab mich jetzt ein bisschen mit Eiffel beschäftigt. Aus Zeitgründen leider nur oberflächlich. So hab ich praktisch keinen echten Code geschrieben sondern nur Tutorials und Code gelesen. Das bedeutet natürlich, dass viel von der Syntax bald wieder verflogen sein wird. Aber wie gesagt: Darum gehts mir gar nicht.

Ich hab also einen Eindruck von Eiffel bekommen. Um jetzt mehr als ein Bauchgefühl vermitteln zu können, müsste ich wohl wirklich mal ein paar hundert Zeilen Code schreiben. Aber dafür hab ich momentan keine Zeit. Hier also nur mal ein erster Eindruck. weiter lesen »

Gefangen, nicht gefunden! #13

Irgendwie komm ich kaum noch zum Bloggen. Mein Semester hat wieder angefangen und meine Zeit ist wieder sehr begrenzt. Hier aber zumindest mal ein kleines bisschen was.

Informatik

Anderes

  • Typographie für Präsentationen. Das meiste ist altbekannt und gilt genauso für “normale” Texte. Dennoch eine schöne Zusammenstellung.
  • In der Erzählung “Die Bibliothek von Babel” beschreibt Jorge Luis Borges eine Bibliothek in der alle prinzipiell möglichen Bücher (einer gewissen Länge) stehen. Das heißt jedes Buch, das sich aus den Buchstaben des Lateinischen Alphabets zusammensetzen lässt, ist dort vertreten. Von dem Buch das nur aus Leerzeichen besteht über Goethes Faust bis zum unnützen Kauderwelsch zufälliger Buchstaben. Mal davon abgesehen, dass die Erzählung an sich schon lesenswert ist, hab ich letztens mal eine mathematische Betrachtung dessen gefunden: Die Bibliothek und Goedel. Sehr interessant. Insbesondere der zweite Teil über die Größe der Bibliothek veranschaulicht schön die Grenzen der menschlichen Vorstellungskraft.
  • Merkwürdiger Kommentar-Spam: Nichts-sagender Satz von ner russischen IP mit dem gmail-Konto und nem Link zu Google. Hä?

Gefangen, nicht gefunden! #6

Informatik

  • So langsam gewöhne ich mich an git. Der Ansatz gefällt mir außerordentlich gut. Allein schon die Möglichkeiten von git log sind erstaunlich.
    1
    user@host:~/rep$ git log --since="2009-01-01" --until="two months ago"

    Es dauert allerdings etwas, bis man sich an git gewöhnt. Anfangs wird man fast von den vielen Möglichkeiten erschlagen und so kann ich noch lange nicht sagen, dass ich schon das meiste kann, aber die grundlegenden Sachen sind nicht viel schwerer als bei SVN

  • Wenn ich schon bei git bin, dann soll natürlich das Git-Buch nicht verschwiegen werden: book.git-scm.com Auch hier gibts dazugehörige Videos. Diese sind ein ganzes Stück ausführlicher als der Text und scheinen nachvertont zu sein. Das Video ist oftmals einen Tick schneller, sodass während über das eine Kommando gesprochen wird, schon das nächste da steht. Trotzdem sehr empfehlenswert.
  • Durch eines der Videos ist mir aufgefallen, dass ich ein interessantes bash builtin bisher noch nicht kannte. Mit pushd kann man wie mit cd in ein neues Verzeichnis wechseln, allerdings wird das alte auf einen Stack gelegt. Mit popd kann man es wieder vom Stack nehmen und dirs zeigt den Inhalt des Stacks an. Man page lesen lohnt sich.
  • Ich habe schon wieder in einem C++-Projekt vergessen einen virtuellen Destruktor zu vergeben und dadurch ein Speicherleck produziert. Warum erzeugt der doofe Compiler da keine Warnung? So schwer sollte das doch nicht sein…
  • Exceptions sind toll. Sie helfen ungemein Fehlerbehandlung und eigentlichen Code zu trennen und machen den Code lesbarer wartbarer und robuster. Ich benutze Exceptions sehr gerne. Aber wo Licht ist, ist auch Schatten: Exceptions sind manchmal nicht ganz einfach richtig zu verwenden. Ein interessanter Artikel über Exception Safety zeigt das.

Fehlermeldungen in Delphi

Jeder kennt sie und jeder, der anfängt zu programmieren muss sich mit ihnen auseinandersetzen. Die Rede ist von Fehlermeldungen. Vom Programmier-Einsteiger werden sie gefürchtet oder sogar gehasst, für den, der sie aber kennt, sind sie eine unverzichtbare Informationsquelle.
weiter lesen »

powered by WordPress | QuickLaTeX | WordPress Themes