Script Center: Interview mit einem Skriptautoren

Jeffrey Snover - Monad Software Architect

Jeffrey Snover

Viele von uns haben von Monad gehört und können es kaum erwarten, mehr zu erfahren. Alle anderen können sich wahrscheinlich denken, dass Monad der Codename für irgendeine Software von Microsoft ist, und fragen sich, was das wohl für ein Typ sein muss, der sich solche Codenamen ausdenkt. Wie immer stehen Ihnen hier die Scripting Guys zur Seite. Wir haben uns den Kerl geschnappt und ihn einem intensiven Verhör unterzogen. Danach haben wir die entsprechenden Aufzeichnungen des Verhörs von allen zu beunruhigenden Stellen bereinigt, und den kleinen Rest, der übrig geblieben ist, wollen wir Ihnen hier nun vorstellen. Hiermit stellen wir Ihnen Jeffrey Snover vor, den Software Architect, der für Monad verantwortlich ist.

*

Persönliches

Ok, Jefrey, als erstes möchten wir Dir dafür danken, dass Du Dir die Zeit nimmst, mit uns zu sprechen. Lass uns also gleich eintauchen und etwas mehr über den Entwickler von Monad erfahren.

SG: Wo kommst Du ursprünglich her?

JS: Ich bin in Seattle geboren, aber von dort weggezogen, bevor ich ein Jahr alt war. Die meiste Zeit meines Lebens habe ich in Massachusetts und New Hampshire verbracht, aber ich habe auch in Mississippi, Texas und Colorado gewohnt.

SG: Wo bist Du zur Schule gegangen, und wo hast Du studiert?

JS: Ich bin wie Bill Gates ein Studienabbrecher. Eigentlich gibt es zwischen uns sogar nur zwei Unterschiede: Ein paar Ebenen in der Unternehmenshierarchie - und ein paar Milliarden Dollar. Ich habe an der Universität von New Hampshire Physik studiert. Dort habe ich mich unter anderem auch mit der Epistemologie, der Ontologie und der Philosophie beschäftigt. Und dort habe ich auch die Monads entdeckt. Nach Gottfried Wilhelm Leibniz sind Monads atomistische Geistesgegenstände, die die Welt von einem bestimmten Gesichtspunkt erfahren. Diese Vorstellung trifft ziemlich genau das, was wir mit der Sprache Monad umsetzen wollen.

SG: Wie lange bist Du schon bei Microsoft? Was hast Du gemacht, bevor Du Dich mit Monad beschäftigt hast? Was hast Du gemacht, bevor Du bei Microsoft warst?

JS: Fünfeinhalb Jahre. Vor Monad war ich Divisional Architect der Management-Group. Vor Microsoft war ich bei Tivoli als Consultant der DEC-Management-Gruppe. Außerdem habe ich bei Apollo, Storage Tech und einigen Startup-Unternehmen gearbeitet.

SG: Was glaubst du, wie viele Zeilen Programmcode Du in Deiner Karriere schon geschrieben hast?

JS: Edsger Dijkstra hat einmal gesagt, die Leute sollten am besten im gegensätzlichen Verhältnis zu den von ihnen geschriebenen Zeilen Programmcode bezahlt werden. Sagen wir einfach, wenn ich tatsächlich so bezahlt werden würde, dann könnte ich mir nicht mal ein Käsesandwich leisten. Ich mag es einfach, Programme zu schreiben.

Zum SeitenanfangZum Seitenanfang

Technologie im Allgemeinen

SG: Was ist Deiner Meinung nach im Moment die interessanteste Entwicklung im Computerbereich?

JS: Um ehrlich zu sein - Monad. Wir machen wirklich Sachen, die euch verblüffen werden. Die Menge und Qualität der technischen Innovationen ist umwerfend. Wenn wir anderen Leuten zeigen, was wir machen, dann müssen wir Spucknäpfe verteilen. Ich habe mit UNIX-Fetischisten gesprochen, die uns anfangs absolut feindlich gegenüberstanden. Nachdem wir über das, was wir machen, berichtet hatten, wollten Sie es in ihrem gesamten Unternehmen einsetzen.

SG: Welche Software, die nicht von Microsoft stammt, gefällt Dir besonders?

JS: Der Opening Explorer von www.chessgames.com. Ich habe mir zum Beispiel eine Eröffnung angeschaut und dann ein Beispiel-Spiel. Ich konnte das Ganze so gut nachvollziehen, dass ich mich fast in den Spieler hineinversetzt fühlte. Ich war allerdings ziemlich überrascht, als ich herausfand, dass es sich bei dem Spiel um eins von Greco aus dem Jahr 1620 handelte.

Zum SeitenanfangZum Seitenanfang

Skripting im Allgemeinen

SG: Was war vor Monad Deine bevorzugte Skripting-Umgebung/Sprache? Und warum?

JS: Wie die meisten Leute verbindet mich eine Hassliebe mit den vorhandenen Tools. Ich mag die Interaktivität von KSH/Utilities, aber hasse ihre Inkonsistenz und die Notwendigkeit, Text überprüfen zu müssen. Ich liebe die Power und Programmierbarkeit von PERL und TCL, aber ich hasse seine Eigenarten und die fehlende Interaktivität. Ich liebe die Konsistenz und Produktivität von VMS DCL und der AS400 CL, aber ich hasse ihr Modell. Ich liebe das Modell von UNIX, bei dem alles über das Dateisystem gemacht wird, aber ich hasse die Semantik des Dateisystems.

SG: Welchen Editor bevorzugst Du? Warum? Gibt es andere Tools, die Du nützlich findest?

JS: Ich verwende das Universal Admin Development Model. Ich erstelle Skriptfragmente in Echtzeit in der interaktiven Shell. Wenn sie funktionieren, übernehme ich sie in eine Datei (würdet ihr mir glauben, dass ich Notepad benutze?).

Zum SeitenanfangZum Seitenanfang

Monad

SG: Was genau ist Monad?

JS: Monad ist eine Automatisationstechnologie, die sich nach außen hin als Skriptsprache, als interaktive Shell und als grafische Benutzeroberfläche darstellt. Unser Augenmerk liegt darauf, das System für Admins verständlich und automatisierbar zu machen. Admins möchten das gesamte System über aufgabenbasierte Abstraktionen auf hoher Ebene überblicken können - und zwar sowohl über eine grafische Benuteroberfläche als auch in einer CLI (Common Language Infrastructure). Sie müssen in der Lage sein zu sehen, was im Hintergrund abläuft. Dazu brauchen sie eine Benutzeroberfläche, mit der sie feststellen können, was genau passiert. Dann nutzen sie die CLI, um das System genauer zu erkunden. Und zum Schluss setzten Sie die Erkenntnisse in Skripte um.

SG: Auf welchen Aspekt oder welches Features von Monad bist Du am meisten stolz?

JS: Das ist einfach: Die Nutzung von .NET, um Admins das Leben zu vereinfachen, Entwickler wirtschaftlicher zu machen und unglaublich dynamische Möglichkeiten zu haben. Im Allgemeinen vermeide ich es, den Begriff "objektorientiert" zu verwenden. Er suggeriert mehr ein Programmierprinzip. Wir nutzen jedoch Objekte dazu, das Leben von Admins zu vereinfachen. Statt Befehlen, die schlecht oder gar nicht formatierten Text ausgeben, nutzen wir .NET-Objekte. Der Admin gibt einfach ein, was er benötigt und bekommt es. Monad ist außerdem so gestaltet, dass möglichst wenig Code von Entwicklern geschrieben werden muss. Nachdem diese die .NET-Objekte geschrieben haben, stehen sie als Cmdlet zur Verfügung.

SG: Gibt es etwas, das Du heute anders machen würdest?

JS: Im Moment bereue ich nichts. Fragt in einem Jahr noch einmal.

SG: Warum braucht Windows eine komplett neue Skriptumgebung? Warum nicht einfach eine Verbesserung des WSH?

JS: Monad versucht, ein viel größeres Problem zu beheben. Es basiert auf einer vollständig anderen Technologie als der WSH. Der WSH ist COM-orientiert. Monad ist befehlsorientiert und ist so interaktiv wie .NET-Skripting.

SG: Werden heutige WSH-Skriptautoren in der Lage sein, ihre vorhandenen Skripte weiter zu nutzen?

JS: Ja. Diese Technologien werden auch weiterhin unterstützt. Die Skripte werden weiterhin ausführbar sein.

SG: Wie können sich Admins auf Monad vorbereiten?

JS: Wir haben gerade die Beta 2 von Monad veröffentlicht (September 2005). Sie steht über das Microsoft Download Center zur Verfügung. Sie können eine Betaversion des MSH herunterladen und sofort loslegen. Die x86-Version findet sich hier und die x64-Versio hier.

SG: Monad klingt nach einen fantastischen Produkt. Wann wird es veröffentlicht?

JS: Die Monad-Technologie wird mit der nächsten Version von Exchange, MOM und dem WINFX-SDK veröffentlicht.


Zum SeitenanfangZum Seitenanfang