Gedanken eines Informatikers, Mathematikers und Lehrers.
25.06.2006
24.06.2006
Dynamic Languages Day
Wer sich also mit objekt-orientierten Sprachen wie Java, C# und C++ auskennt, ist herzlich eingeladen, sein Wissen durch diese aeusserst interessanten Kandidaten zu vertiefen und zu erweitern.
18.06.2006
Krieg der Sprachen
Besonders gut haben mir die folgenden Zeilen gefallen, die wieder einmal zeigen, wie gut in Java doch alles gemeint ist und wie schlecht es letztendlich dann doch werden kann.
Consider the Java expression Date(2006,1,1); what calendar date do you suppose that specifies?The answer is February 1, 3906. In Java we count months starting with 0, days starting with 1, and years starting with 1,900.
17.06.2006
Robocup WM 2006
Stell dir vor es ist WM, und keiner geht hin?! So kann es wohl dem ein oder anderen Wissenschaftler bei der diesjaehrigen WM fuer Roboterfussball» gehen, die in diesem Jahr erstmalig in Deutschland - genauer, in Bremen - stattfindet. Vorne mit dabei ist auch wieder ein Dortmunder Team. Das ZDF bietet auf einer Sonderseite» einen taeglichen Livestream, sowie die Highlights des jeweiligen Spieltages. Reinschauen lohnt sich also. Und irgendwie putzig sehen sie ja auch aus, wenn sie immer so schoen umfallen, noch bevor sie den Ball beruehrt haben.
Was dann jedoch noch der FIRA RoboWorld Cup», der demnaechst auch hier in Dortmund stattfinden soll, zu bedeuten hat, weiss ich leider auch nicht. Ist wahrscheinlich wie beim Boxen, wo es auch jede Menge Verbaende gibt und jeder seinen Weltmeister kuehrt.
Nachtrag
Auch Spiegel online berichtet heute ueber die WM. Als Geheimtipp fuer das heutige Wochenende» soll die Veranstaltung herhalten und alle Bremer in die Finalspiele locken. Schade, dass Bremen so weit weg ist.
12.06.2006
Buchtipp: Practical Common Lisp
Ein juengst von Peter Seibel geschriebenes Buch mit dem Titel Practical Common Lisp» konnte ich heute endlich zu Ende lesen. Es behandelt, wie der Name bereits vermuten laesst, Common Lisp, dem wohl weit verbreitesten LISP-Dialekt. Nach einer kurzen Einfuehrung in alle Sprachkonstrukte, inklusive CLOS (dem Common Lisp Object System), Conditions (einem den Java-Exceptions aehnlichen aber generellen Fehlerbehandlungsmechanismus) oder generischen Methoden (Funktionen, die auf unterschiedlichen Typen arbeiten) werden einige sehr ambitionierte reale Projekte, wie etwa ein Shoutcast-Streaming-Server, eine HTML-Template-Sprache oder eine ID3-Tag Bibliothek angegangen. Wenngleich ich den Projekten nicht sonderlich viel abgewinnen konnte, da sie nicht unbedingt in einer mich arg interessierenden Anwendungsdomaene liegen, so konnten mich der Rest des Buches und insbesondere Lisp dennoch ueberzeugen.
Jedem Programmierer, der einmal ueber den Tellerrand seiner Haus-und-Hof-Sprache hinausblicken moechte - und der Aufwand lohnt sich tatsaechlich - sei dieses Buch (und natuerlich der Klassiker Structure and Interpretation of Computer Programs) waermstens ans Herz gelegt.
Das Buch selbst ist in einer Onlinefassung», wie auch in einer PDF-Fassung (welche beim Verlag erst nach etwas Suchen unter einem etwas versteckten Link» zu finden ist) erhaeltlich.
28.05.2006
XP, Programmiersprachen und Dylan
Und wieder einmal konnte mich das Chaosradio des Chaos Computer Club mit einer Sendung ueber Programmiersprachen im Allgemeinen und Dylan im Besonderen» ueberzeugen. Man bekommt einen schoenen Ueberblick ueber die ganze bunte Welt der Programmiersprachen, die sich in den letzten Jahrzehnten angesammelt haben. Von imperativen Welten, wie C und Fortran, ueber funktionale Ansaetze, wie Haskell, bis zu Mischformen, wie Scheme und Lisp, wird das gesamte Spektrum einmal abgegrast und geschichtlich mit erstaunlich viel Hintergrundwissen untermauert. Wirklich eine wunderbare Sendung, die ich jeden Informatik-Interessierten nur ans Herz legen kann. Zwar verlangt der Podcast mit seinen fast zwei Stunden Sendezeit doch arg viel von der eigenen Freizeit, doch sind diese mit Sicherheit gut angelegt.
Eine ebenfalls spannende Sendung des Chaosradios drehte sich um Extreme Programming (kurz XP)». Was steckt eigentlich hinter diesem seit Ende der 90er Jahre kursierendem Schlagwort? Nicht nur ist die Zusammen- und Vorstellung der einzelnen Zutaten, die XP ausmachen und sich nicht nur auf das Pair-Programming und Unit-Testing versteift, ueberaus interessant, sondern auch vielmehr eine Quelle der Inspiration fuer das eigene Arbeiten. Ergo, reinhoeren und umsetzen.
23.05.2006
Die 10 besten SciFi-Filme
1. Blade Runner (1982) Dir: Ridley Scott
Ne, du auf den ersten Platz gehoert einfach 2001. Blade Runner ist aber tatsaechlich auch nicht schlecht. Aber es ist eben kein Kubrick. Da haben die guten Experten wohl einfach nur die beiden Plaetze vertauscht. Aber Schwamm drueber, kann jedem mal passieren.
2. 2001: A Space Odyssey (1968) Dir: Stanley Kubrick
Ich verneige mich schweigend und voller Ehrfurcht vor nicht nur dem wohl besten SciFi-Film, der es dem Genre erst und woh leider auch einmalig ermoeglichte, aus seinem wenig ernst zu nehmenden Image in eine beachtens- und diskutierenswerte Stellung zu erheben, sondern wohl auch der beste Film, der je von einem Menschen (oder zaehlt Kubrick schon als Halbgott?) gedreht wurde.
3. Star Wars (1977)/Empire Strikes Back (1980)
Stimmungsvolles Maerchen mit klaren Grenzen zwischen Gut und Boese fuer den junggebliebenen Erwachsenen. Dennoch ist es fraglich, ob ein Teil alleine hier bestehen kann. Sehr gute und stimmungsvolle Unterhaltung. Mehr jedoch definitiv nicht. Franzosen wuerden hier wohl klar die Grenze zwischen cinema und cinéma ziehen.
4. Alien (1979) Dir: Ridley Scott
Sehr schoene psychologische und stimmungsvolle Charakterstudie, die sinnhaft das uns umgebende Grauen tatsaechlich aus uns selbst gebaehrend manifestiert.
5. Solaris (1972) Dir: Andrei Tarkovsky
Der spaeteren Soderbergh-Verfilmgung konnte ich bei weitem mehr abgewinnen als Tarkovskys Variante. Dennoch ist dem leider erst kuerzlich verstorbenen Lem mit seiner literarischen Vorlage eine deutungstraechtige Studie zum Verhaeltnis zwischen Mensch und Geist gelungen.
6. Terminator (1984)/T2: Judgment day (1991) Dir: James Cameron
Ne du. Jetzt mal ganz schnell weg hier. SciFi ist nicht Effektschlacht oder "Der teuerste Film aller Zeiten"™.
7. The Day the Earth Stood Still (1951) Dir: Robert Wise
Klatu verata nectu. Wer den Ursprung dieses vielzitierten Satzes kennenlernen moechte, sollte sich genau diesen Film anschauen und staunen, wie wenig ein guter SciFi-Film doch mit Effekten zu tun haben kann.
8. War of the Worlds (1953) Dir: Byron Haskin
Leider kenne ich nur die eher maessige Spielbergverfilmung und lasse mich hier zu keinem Urteil hinreissen.
9. The Matrix (1999) Dir: Andy & Larry Wachowski
Auch dieser Film gerhoert hier eigentlich nicht rein. Ein bisschen Wuehlerei in der pseudopshilosophischen Krims-Krams-Kiste von LaPlace und coole Sonnebrillen mit maessigem schauspielerischen Engagement machen noch keinen guten Film. Schon keinen sehr guten.
10. Close Encounters of the Third Kind (1977) Dir: Steven Spielberg
Och menno. Muss denn wirklich immer etwas von Spielberg in solchen Listen rumkrebsen. Na, wenigstens war es nicht E.T. Aber auch diesem Familienfilmchen kann ich nichts abgewinnen.
via digg.com»
06.05.2006
Klassische Texte der Informatik
- An axiomatic basis for computer programming
C. A. R. Hoare
Ja, der Hoare-Kalkül muss einfach da rein. - Call-by-name, call-by-value, and the lambda calculus
Gordon Plotkin - Why Functional Programming Matters
John Hughes
Ich weiß es ja schon. :) Alle anderen bekommen hier eine schöne theoretische Grundierung mit einige Beispielen und Konzepten der funktionalen Programmierung. - Computer Programming as an Art
Donald E. Knuth
Donal Knuths Worte zur Verleihung des Turing Awards. Warum hat er seine berühmte Reihe "The Art of Computer Programming" eigentlich so genannt? Hier erklärt er es. - The next 700 programming languages
Peter J. Landin
Wer ISWIM (If you See What I Mean) noch nicht kennt, sollte hier mal einen Blick reinwerfen.
- Definitional interpreters for higher-order programming languages
John C. Reynolds
Higher Order hört sich doch eigentlich immer gut. Sollte ich vielleicht mal in meine diversen Keyword-Listen aufnehmen. - An APL Machine 1970
Philip S. Abrams
Jaaaa, keiner wil APL, aber alle (oder doch wieder nur ich?) sind doch irgendwie davon fasziniert, Programme mit einem Wust an Sonderzeichen in nur eine Zeile schreiben zu können. Insbesondere ist dies auch die einzige mir bekannte Programmiersprache, für die man eine eigene Tastatur» benötigt. - No Silver Bullet: Essence and Accidents of Software Engineering
Frederic P. Brooks, Jr. - A Mathematical Theory of Communication
Claude Shannon - Worse Is Better
Richard P. Gabriel - Hints on Programming Language Design
C.A.R. Hoare
Hilfestellungen von Hoare nehme ich doch immer gerne an. - Recursive Functions of Symbolic Expressions and their Computation by Machine (Part I) 1960
John McCarthy
Ich wollte eigentlich schon viel mehr von McCarthy gelesen haben. - FORTH - A Language for Interactive Computing
Charles H.Moore - Teach Yourself Programming in Ten Years 2001
Peter Norvig
Endlich mal eine realistische zeitliche Abschätzung. Alles, was darunter liegt, kann einfach nur Marketing sein. - The Definition and Implementation of a Computer Language based on constraints
Guy Lewis Steele Jr.
Seitdem Clemens» mich für Constraint Satisfaction Probleme sensibilisiert hat, wird das Thema doch zunehmend spannender.
04.05.2006
Heute war ein besonderes Datum
Dies und noch viel mehr zu einigen ausgewählten Zahlen gibt es bei archimedes-lab.org».
02.05.2006
Der 100. Geburtstag von Kurt Gödel
Unser aller Begründer der Unvllstndigkt hatte am 28. April sein 100 jähriges Jubiläum und ich habe es verpasst. Egal. Lieber zu spät als gar nicht gedenke ich hiermit feierlich einem der wohl größten mathematischen Verwirrer seiner Zeit: Kurt Gödel»:
Gödel proved fundamental results about axiomatic systems showing in any axiomatic mathematical system there are propositions that cannot be proved or disproved within the axioms of the system.
