Gefangen, nicht gefunden! #17

Informatik

  • Nick Hodges altes Blog ist wieder da; http://www.nickhodges.com/post/My-Old-Blog-is-Back!.aspx. Schön. Da ist so mancher lesenswerter Eintrag dabei.
  • Letztens war Barbara Liskov (ja, das ist die mit dem Liskovschen Substitutionsprinzip) bei uns an der Uni und hat einen Vortrag zum Thema The Power of Abstraction gehalten. Letztlich war der Vortrag ein bisschen Historisches zur Entwicklung der Abstraktion. Angefangen von Dijkstras „Go To Statement Considered Harmful“ über abstrakte Datentypen bis zur Objektorientierung. Inhaltlich für jemanden der im 9. Semester Informatik studiert kaum etwas Neues, aber dennoch sehr interessant. Nicht zuletzt wegen Liskov selbst, die eine wirklich herausragende Informatikerin ist. 2009 erhielt sie einen Turing-Award; das ist quasi der Nobelpreis für Informatiker. Das, was sie erforscht hat, ist mittlerweile dermaßen anerkanntes Allgemeingut, dass eine Reaktion auf ihren Turing-Award der folgende Kommentar war: „What does she get this price for? Everybody knows this.“ Das zeigt sehr schön dass man vor 30, 40 Jahren noch *ganz* anders programmiert hat. Noch bedeutender wird die Geschichte, wenn man erfährt, dass Liskov — ich hoffe ich krieg das noch einigermaßen zusammen — als sie sich auf ne Doktorandenstelle bewarb, erstmal auf Ablehnung traf (So à la „Wie weiblich und will Doktor in Informatik machen? Vergiss es!“). *kopfschüttel*
    Der Vortrag scheint der hier zu sein: http://www.infoq.com/presentations/liskov-power-of-abstraction Ich hab mir das Video nicht ganz angesehen, aber es scheint so ziemlich genau das zu sein, was sie uns erzählt hat. Auch die Folien sind wohl die selben. Wer also mal ein Stündchen Zeit hat…
  • Ich hab mal wieder was Interessantes bei Martin Fowler gefunden: TolerantReader. Dort beschreibt er Postel’s Law (ui, wieder eine Daumenregel!) und dessen Anwendung auf Webservices. Aber auch, wenn man nix mit Webservices am Hut hat, ist der Artikel lesenswert.
  • Hab gerade per Zufall eine sehr interessante Seite gefunden: http://www.uml-diagrams.org/ Dort gibt es sehr detailliert Informationen zu UML, samt Erklärungen und Beispielen. Sehr zu empfehlen!
  • Ein interessantes Gedankenspiel von einer Studentengruppe, die ich betreue: Klassen nach den Teammitgliedern benennen, die sie entwickeln. Nicht, dass das von irgendeiner praktischen Relevanz wäre (war auch als Jux gedacht), jedoch zeigt das Gedankenspiel schön den Nachrichtenaspekt (und die Aufgabenverteilung) der OO: Hans.HolMirMalDieDatenAusDerDatenbank(), Fritz.BerechneDenMittelwert(). Taugt zwar nur als Gedankenspiel, ist aber trotzdem ganz lustig.
    Wobei mich das Ganze an etwas erinnert, was sogar tatsächlich Relevanz hat: Vor einiger Zeit hab ich mal folgenden Vorschlag gelesen (ich glaub es war in „The Pragmatic Programmer“; kanns grad auf die Schnelle nicht finden): Um Schnittstellen (Methoden) für Klassen zu finden, kann man die Kommunikation der Klassen im Entwicklerteam quasi nachspielen. Jeder begibt sich in die Rolle einer Klasse und dann werden verschiedene Szenarien durchgesprochen. Also sowas wie „Ich bin jetzt mal die Formularklasse. Und ich erzeuge jetzt eine Datenbankverbindung. Dazu geb ich dir host, username und password.“ „Und jetzt nehm ich, die Datenbankverbindung, die übergebenen Daten und rufe damit den JDBC-Treiber auf, der mir die Verbindung aufbaut.“ etc. Die Kommunikation wird dann dokumentiert und hinterher generiert man daraus eine Schnittstellenspezifikation.

Anderes

  • Ich frage mich, ob es einen offiziellen Unterschied zwischen „parametrisieren“ und „parametrieren“ gibt. Gefühlsmäßig ist parametrisieren das Ermöglichen der Parametereingabe (beispielsweise das Auslagern in eine Methode und damit die Spezifikation der formalen Parameter) und parametrieren das Belegen von Parametern mit Werten (also die Spezifikation aktueller Parameter). Aber ist das nur ein Gefühl oder ist das wirklich so? OK, Sprache definiert sich durch Verwendung. Aber dann stellt sich die Frage, wie weit diese Unterscheidung verbreitet ist oder ob ich das allein so sehe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.