Friday, March 30, 2007

Ruby-Präsentation in der Google Talk-Reihe

Google hat innerhalb seiner Google Talk-Reihe eine Speaker Series über Ruby On Rails gestartet, die sie über ihre Videoplattform öffentlich verfügbar machen.

Am 8. März haben die Entwickler des Webdienstleisters Competitious (TechCrunch) ihre Erfahrungen mit Ruby On Rails dargestellt (Video).

Die Präsentation und vor allem die sehr interessante Diskussion danach beleuchtet die Vorteile von RoR, aber auch die (momentanen oder konzeptionellen) Schwächen. Auch die Frage, wann man vielleicht nicht Rails einsetzten würde werden gestellt und beantwortet.
Einige Beispiele (z.B. das Activity Logging) zeigen sehr schön die eleganten "Tricks", die man mit der Ruby-Programmiersprache machen kann.

Die Slides sind im Entwicklerblog von Competitious verfügbar.

P.S. Schön zu sehen, dass ich offensichtlich nicht der einzige bin der a) manchmal Ruby sagt, wenn er Rails meint und b) der Versuchung einer Framework-Debatte kaum widerstehen kann.

Tuesday, March 27, 2007

Fazit vom 1. Webmontag

Gestern fand der erste Webmontag in Paderborn statt und ich glaube es war (für einen ersten Versuch) auch eine gelungene Veranstaltung. Klar, manche Dinge müssen sich einspielen, es war nicht klar wie viel Zuspruch die Veranstaltung bekommt und welche Zielgruppe anwesend ist. Ich bin sicher beim zweiten Mal (schon in Planung!) wird es etwas weniger chaotisch ablaufen, aber es war auch so interessant.

Wer sich nochmal den Vortrag von Frederik und mir über Ruby On Rails ansehen möchte und die Folien noch mal langsam durchgehen will, kann sich die Folien bei Frederik herunterladen.

Friday, March 09, 2007

VKrit: Architektur paralleler Rechnersysteme

Diese Veranstaltung "Architektur paralleler Rechnersysteme" von dem PC^2-Mitarbeiter Jens Simon sorgt dafür, dass (große) parallele und verteilte Systeme nach dem Weggang von Professor Kao an der Uni Paderborn nicht total untergehen. Die Veranstaltung ist weitgehend unbekannt, weil die Webseite dazu nicht über die Seite "Lehrangebot" erreichbar ist.
Im Modulhandbuch wird sie auch nicht explizit erwähnt. Dort heisst es aber:

Die Veranstaltungen über Cluster Computing, Architektur paralleler Rechnersysteme und Performance-optimierte Programmierung führen in die Welt des Hochleistungsrechnens. Dabei werden sowohl der prinzipielle Aufbau als auch Fall Beispiele von Hochleistungsrechnern vorgestellt. Ferner wird auf die entsprechende Systemsoftware, auf die Netzwerkstrukturen und insbesondere auf die Programmiermodelle für Parallelrechner eingegangen.

Das Thema finde ich sehr interessant und eines der empfohlenen Bücher "Hennessy/Patterson: Computer Architecture - A Quantitative Approach" ist eines der besten Bücher, die ich bisher im Studium gelesen habe.

Ein Plus-Punkt bekommt die Veranstaltungen wegen den Übungsaufgaben, die auch praktische Entwicklung auf dem PC^2-Cluster beinhalteten.

Negativ ist anzumerken, dass in der Vorlesung und in dem Folienskript teilweise der rote Faden fehlt. Einzelne Themen werden mehrmals besprochen und dabei teilweise unterschiedlich definiert. Insgesamt brauchen die Folien nochmals eine gründliche Durchsicht.
Auch wirkt die Motivation mit dem Zitat von Luiz Andre Barroso über die Google Architektur in Anbetracht der Ausrichtung der gesamten Veranstaltung auf wissenschaftliches Rechnen (was auch genau dem Fokus des PC^2 entspricht)sehr merkwürdig.


Das Google Konzept z.B. hier widerspricht in meingen Augen genau dem Fokus und den Inhalten der Vorlesungen (Sehr deutlich z.B. auf Folie 23 der Vorlesung zu Clustern). Eine Motivation, die eher auf wissenschaftliches Rechnen mit Aufgaben wie Barnes Hut (Galaxiesimulation) u.a. eingeht, würde der Vorlesung besser entsprechen.

Bis auf die verbesserungsbedürftigen Folien und der Motivation, die nicht zur Vorlesung passt, auch eine gute Veranstaltung, die ich empfehlen kann.

VKrit: Semantik von Programmiersprachen

Meine kurze Reihe von persönlichen Veranstaltungskritiken setze ich mit zwei Wochen Verspätung zur Prüfung fort: Semantik von Programmiersprachen

Im Modulhandbuch steht zu Semantik von Programmiersprachen nicht viel. Dort heisst es nur:

Semantik von Programmiersprachen
1 Operationale Semantik
2 Mathematische Semantik
3 Axiomatische Semantik
4 Induktives Definieren und Beweisen
5 Semantische Bereiche und Fixpunkttheorie
6 Rekursionsgleichungen
7 Semantik nebenläufiger Systeme

Klingt sehr theoretisch. Ist es auch.

Und dies ist gleichzeitig der größte Vor- und der größte Nachteil der Veranstaltung.

Ein Vorteil weil in keiner anderen Veranstaltung in der Softwaretechnik so formal mit den Themen der Softwaretechnik umgegangen wird.

Ein Nachteil, weil mir (außer dem Training des formellen Umganges mit SWT-Themen an sich) kaum eine Anwendung für das Wissen und die Methoden bewusst ist. Auch der Motivationsabschnitt des Skriptes gibt nicht viel her.

Teilweise gibt es Zusammenhänge mit Model Checking (z.B. Fixed Point Theory), natürlich auch mit Programmverifikation (z.B. Axiomatische Semantik), aber darauf wird nicht eingegangen.

Die Veranstaltung kann höchstens dazu dienen, dass Handwerkszeug für andere Veranstaltungen bereitzustellen.

Deshalb: Wenn man diese Veranstaltung belegt, sollte man dies auf jeden Fall als erste Veranstaltung in einem Modul machen. Wie ich es gemacht habe: Erst "Model Checking" dann "Semantik" ist nicht wirklich sinnvoll.