Direkt zum Hauptbereich

Posts

Es werden Posts vom 2012 angezeigt.

Softwarebau und Storytelling

Wenn Software-Entwickler über Software reden, dann übertragen sie die Welt der Klassen, Objekte, der Methoden in die Welt der Geschichten. Wir Menschen können nicht anders. Wir erzählen Geschichten, wenn wir uns erklären, was diese Klasse oder jenes Framework tut. Wir betreiben Storytelling, um uns die formale Welt eines Rechners erklärbar und beschreibbar zu machen. Wir müssen es in den Worten unserer Welt tun. Das Problem? Die Welt eines Rechners ist eine formale Welt, ähnlich der Mathematik. Die Welt des Storytellings, des Geschichtenerzählens könnte nicht gegensätzlicher sein: Geschichten müssen nicht logisch sein, sie müssen nicht einmal stimmig sein, solange sie unsere Phantasie nicht überstrapazieren. Praktisch jedes Buch und jeder Film ist ein Beleg dafür, wie sehr wir bereit sind, uns auf selbst abstruse Geschichten einzulassen. Und so versagen wir oft kläglich, unsere Stories zurück zu übertragen auf die strenge Welt eines Rechners. Die Inkonsistenzen unserer Vorstellungen st

Brauchbare Klassendiagramme

Mich überrascht immer wieder, wie sehr Klassendiagramme in einer undefinierten Grauzone schweben zwischen Modellbeschreibung einer Problemdomäne und Dokumentation der Implementierung. Das ist nicht nur ein "Problem" von Studierenden, sondern auch von Profis. Ein Klassendiagramm kann zwei Zwecken dienen, die sich an zwei Fragen festmachen lassen: Dient das Klassendiagramm zur Erfassung einer gedanklichen, logischen Zerlegung einer fachlichen Problemdomäne (Modellierung)? Oder dient es zur Dokumentation der Klassenbezüge im Code einer Implementierungssprache (Realisierung). Meist "hängt" ein Klassendiagramm genau zwischen diesen Welten und ist am Ende weder ein ausdrucksstarkes Modell (da es Ausdrucksmittel der UML ungenutzt lässt), noch eine korrekte Beschreibung der Realisierung, die in aller Regel das Klassendiagramm nicht einmal sauber umsetzt. Um es konkreter zu machen: Oftmals wird in Klassendiagrammen keine Mehrfachvererbung verwendet, obwohl sie bisw

Denkspuren auf Google+ und Facebook

Seit wenigen Wochen gibt es mich auch unter Google+ und Facebook . Ich will verstehen lernen, wie sich die sozialen Medien anfühlen, ob sie für mich eine Bereicherung sind oder nicht, ob ich sie als wertschöpfend erlebe oder nicht. Tatsächlich hat mich der Vortrag von Lars Lehne  motiviert, mich auf diese Welt einzulassen. Auch geht es mir darum mitzubekommen, was meine Studierenden mit diesen Welten verbinden. Eines habe ich bislang festgestellt: Facebook scheint nichts für mich zu sein, ganz anders als für meine Studierenden. Vielleicht liegt es daran, dass ich nicht wirklich einen Bedarf habe, die Kontaktpflege mit "Freunden" über Facebook zu betreiben. Google+ hingegen spricht mich an. Das Format ist niederschwellig genug, so dass ich angefangen habe, öfter etwas zu posten. Und dass ich nicht gleich mit jedem Freund sein muss, sondern nur Kontakt-Kreise aufbaue, das scheint auch mehr zu mir zu passen. Darum: Wenn Sie Lust haben, "besuchen" Sie mich auf Goog

"if" in statisch und in dynamisch typisierten Sprachen

Ein "if" realisiert eine binäre Entscheidung. Bei statisch typisierten Sprachen wird abhängig von einem Booleschen Wert im "true"-Fall entweder das eine oder im "false"-Fall das andere gemacht. Auch wenn eine dynamisch typisierte Sprache die Booleschen Werte "true" und "false" kennt, ist das Verhalten für ein "if" meist anders definiert: Für jeden beliebigen Wert außer "false" tue dieses, für den Wert "false" jenes. Manchmal heißt es sogar: Für jeden Wert außer "false" und "nil" tue dieses, sonst jenes. Wissen Sie, warum statisch und dynamisch typisierte Sprachen sich so unterschiedlich verhalten? Statisch typisierte Sprachen nutzen die Typüberprüfung vor der Ausführung des Codes, um festzustellen, ob die "if"-Entscheidung tatsächlich binär ist. Das ist durch den Booleschen Datentypen garantiert, wenn die Typüberprüfung erfolgreich ist. Dynamisch typisierte Sprachen überpr

Google-Director Lars Lehne in Heilbronn

Eines ist Lars Lehne, Google Director bei Google Deutschland, wirklich gelungen. Sein Vortrag hat mich mitgerissen und begeistert. Dabei war es, wenn man ehrlich ist, eine einzige Werbeveranstaltung für Google. Aber das muss man Lehne wirklich lassen: Er ist sehr gut darin, sein Unternehmen "zu verkaufen". Nett, charmant und humorvoll ist er. Und er weiß, dass man ihm zuhört -- zuhören muss. Warum der Vortrag "Die digitale Zukunft ist bereits Realität" heißt, bleibt bis zum Schluss ein ungelöstes Rätsel. Egal. Die Einladung von Lars Lehne ist Grund genug für deutlich über 200 Gäste, am Mittwoch, 6. November 2012, den Saal der IHK Heilbronn-Franken zu füllen. Lehne, übrigens FH-Absolvent -- er hat BWL in Düsseldorf studiert --, ist seit 2009 bei Google. Er startet seinen Rechner, alle sehen über die Projektionswand seinen Desktop ... ich bin verblüfft: Ist das wirklich wahr? Der Google Director hat doch tatsächlich ein iBook mit Mac-OS laufen. Später wird er auf

Die etwas andere Konferenz: FrOSCon 2012

Die diesjährige "Free and Open Source Software Conference" ( FrOSCon ) in St. Augustin (25./26. August) war eine ganz neue Erfahrung für mich: Bislang habe ich nur akademische Konferenzen rund um das Thema Software bzw. Informatik besucht. Die FrOSCon ist keine akademische Konferenz und ist, ganz im Sinne von freier und offener Software, für jeden Interessierten zugänglich. Ein symbolisch zu nennender Eintritt von 5€ (für beide Tage!) grenzt sich wohltuend ab von den horrenden Preisen bei Akademikern, 300-500€ Teilnahmegebühr sind da keine Seltenheit. Dabei steht die FrOSCon in Organisation und Programm professionellen Konferenzen in nichts nach. Ein Heer von Freiwilligen organisiert die FrOSCon. Es geht also auch ganz anders! Und noch etwas ist ganz anders. Die Vorträge auf der FrOSCon sind nützlich und pragmatisch. Das kann man leider von vielen akademischen Konferenzen nicht uneingeschränkt behaupten. Man erfährt spannende Dinge, lernt etwas und wird tatsächlich "an

eLBa 2012: Vom Lernen und Lehren in der Zukunft

Rostock, eLBa 2012, die fünfte Konferenz der eLearning-Baltics. Keynote-Speaker Sven Gabor Janszky. Er bezeichnet sich als Trendforscher -- und redet über die Zukunft in 10 Jahren. Er riskiert damit einen ebenso weiten Blick in die Zeit wie es Lars Thomson im Oktober 2011 bei seiner Rede an der Hochschule Heilbronn tat. Mich fürchtet's vor den "Trends", die Janszky mit kleinen Filmeinspielern vorzeichnet: Im Bad begegnet mir der "Smart Mirror", im Wohnzimmer die "Screentapete", im Wohnzimmer der "Intelligente Couchtisch". Alles Geräte, die großformatige Projektionsflächen für Informationen sind und weitgehend berührungslos mit uns kommunizieren. Die unsichtbaren "Helferlein" geben sich intelligenter denn je. Sie wissen, was wir wollen, wünschen, brauchen -- sie vernetzen uns, sie lernen aus unseren (Persönlichkeits-)Profilen, wiederholen "dumme" Vorschläge und Angebote kein zweites Mal und brauchen von uns nicht mehr di

The root of polymorphism: The Anti-If Campaign

Ever heard about the Anti-If Campaign ? The less if -statements there are in your code, the better -- argues Francesco Cirillo, the initiator of the Anti-If Campaign. There is a lot of truth behind his campaign. Too much if -statements in your code are evil, that's for sure. They'll make your code static, hard to maintain and no fun to read. It goes without saying that related concepts like switch-statements, conditionals and the like are subsumed under " if ". They are just syntactic sugar for a certain arrangement of if -statements. I asked myself: What if we abandon if -statements completely? What about being absolutely strict about the use of if  and related concepts: No if s in your code anywhere anyplace. You are not allowed to use if  at all. It is like not having such a construct in your programming language. Is it possible to write code without if s? Yes, it is, as I'll show in this post. You'll end up with polymorphic functions instead -- and thi

Werden Sie erfolgreich Informatik studieren? Testen Sie es!

Ich weiß etwas über Sie, das Sie nicht über sich wissen! Zum Beispiel, ob Sie zu einem Informatik-Studium geeignet sind. Ich habe einen Test entwickelt, der ist kurz und schmerzlos und ein Ergebnis jahrelanger Forschung. Nach der Auswertung der Daten von über 10.272 Studierenden kann ich Ihnen mit einer Sicherheit von 97,3% sagen, ob Sie ein Informatik-Studium abbrechen werden oder nicht – und zwar bevor Sie mit dem Studium anfangen. Der Test kann Ihnen die Fehlinvestition von ca. 17.400€ ersparen, sollten Sie zu den Abbrechern gehören. Im Mittel erfolgt der Abbruch nach 14,3 Monaten. Hier meine Fragen, anhand derer ich Ihnen Ihre Eignung für die Informatik vorhersagen kann: (1) Ist Ihr rechter Zeigefinger so lang wie Ihr rechter Ringfinger? Falls nicht: Welcher ist größer? Sollten Sie Linkshänder sein, vergleichen Sie Zeige- und Ringfinger der linken Hand. (2) Wie lange können Sie die Luft anhalten? (3) Wie ist Ihre letzte Mathematik-Note aus der Schulzeit? (4) Wie lautet Ihr Vo