Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Book Review - Programming in the .NET Environment

Books  
HOME 
SEMINARS 
TALKS 
ARTICLES 

BOOKS

  OVERVIEW
  REVIEWS

  BIBLIOGRAPHY    
    J2SE
    J2EE
    CORE C++
    STL
    TEMPLATES
    IOSTREAMS
    CONCURRENCY
    I18N
    PATTERNS
    OOA/OOD
    TESTING
    MANAGEMENT
 

LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
Book Review - Programming in the .NET Environment

Programming in the .NET Environment
Buchbesprechung
 

Juli 2003
Klaus Kreft & Angelika Langer

 
Damien Watkins, Mark Hammond, Brad Abrams
"Programming in the .NET Environment"
Addison-WEsley, November 2002

Eine kompetente Darstellung der .NET-Architektur im Kontext moderner Systemplattformen


Microsofts .NET Platform ist noch relativ neu. Folglich gibt es ein großes Interesse an Information, die dem Software-Ingenieur hilft, die Hintergründe von .NET zu verstehen und damit zu arbeiten. Programming in the .NET Environment ist in Addison Wesley's .net Development Series erschienen und wie die anderen Bücher aus dieser Serie ein potentieller Kandidat, um das Interesse an Information zu befriedigen.  Deshalb wollen wir es an dieser Stelle beprechen.

Die drei Autoren sind .NET Experten der ersten Stunde, wobei jeder seinen spezifischen Hintergrund mitbringt. Damien Watkins ist seit seiner Mitarbeit bei Project 7 im Jahr 1998 mit .NET beschäftigt.  Von Mark Hammond stammt die erste Python Implementierung für .NET, die er in den Jahren von 1999 bis 2001 entwickelt hat. Brad Abrams ist seit 5 Jahren Program Manager an der Framework Class Libraries Entwicklung bei Microsoft.

Beginnen wir unser Review mit einer kurzen Inhaltsübersicht. Nach einem Einleitungskapitel beschreibt das Buch in je einem Kapitel das .NET Type System, das .NET Metadaten System sowie das .NET Ausführungssystem. Nach diesen Grundlagen folgt je ein Kapitel zu den Prinzipien der Applikationserstellung sowie des Applikationsdeployment unter .NET. Der Hauptteil des Buches schließt mit einer Diskussion der .NET Framework Class Library sowie ihrer Architekturprinzipien. Der gesamte Beispielcode des Buchs ist in C#, wobei das Buch kein C#-Tutorial enthält. Es setzt vielmehr voraus, dass der Leser entweder C# bereits kennt oder aber über ausreichende C++- oder Java-Kenntnisse verfügt, um den Code intuitiv zu verstehen.
Ein relativ umfangreicher Anhang (ca. 1/3 des gesamten Buches) beschreibt die Integration verschiedener Programmiersprachen (Visual Basic, C#, Python, Perl, Component Pascal, Scheme (mit Hotdog Compiler), Mondrian und Active Oberon) in die .NET Umgebung. Dabei ist jeder Programmiersprache ein eigenes Kapitel gewidmet, das nicht von den drei Buchautoren, sondern von einem Experten  geschrieben ist, der an der Programmiersprachenintegration beteiligt war. Für Python ist dieser Expert natürlich einer der Buchautoren, nämlich Mark Hammond.

Die Inhaltsübersicht lässt es schon erahnen: im Mittelpunkt dieses Buches steht die interne .NET Architektur. Ihre Beschreibung erfolgt mit großer Detailfreude und Sachkenntnis. Es wird zum Beispiel nicht nur die heute existierende Architektur beschrieben wird, sondern auch potentielle Designalternativen und die Gründe für das endgültigen Design. Dies gilt übrigens nicht nur für die Information zu .NET selbst, sondern auch für die im Anhang besprochenen Programmiersprachen. Erfreulich ist, dass bei der Diskussion der .NET Architekturdetails diese nicht nur mit COM verglichen werden, sondern auch mit nicht-Microsoft Systemen wie CORBA und Java. Damit ist die Diskussion der .NET-Systemplattform  eingebettet in einen breiteren Kontext und wendet sich nicht nur an langjährige Microsoft-Benutzer.
Überzeugend ist auch die Art und Weise, wie die Information innerhalb des Buches strukturiert ist. Man wird ausgehend von den absoluten Kernabstraktionen des Typsystems über Metadaten und Ausführungssystem zur Entwicklungs- und Ablaufumgebung der Applikation geführt. So vervollständigt sich das Bild, das man von der .NET Architektur bekommt, stetig, ohne allzu viele Vorwärtsverweise.

Auf Grund seines Inhalts, wendet sich das Buch im wesentlichen an Leser, die ein umfassendes Verständnis der .NET Plattform Architektur erlangen wollen. Es ist nicht besonders für Leser geeignet, die nach möglichst vielen verschiedenen Anwendungslösungen suchen, die sie mit geringen Änderungen des Sourcecodes in die eigene Implementierung übernehmen können. Das soll aber überhaupt nicht heißen, dass das Buch nichts für die Praxis ist. Im Gegenteil. Es ist für Leute, die auf Grund der Kenntnis der .NET Plattform praktische Lösungen bauen wollen. Dabei stellt das Buch noch eine Bedingung an seine potentiellen Leser: sie dürfen keine absoluten Anfänger sein, was moderne System-Plattformen angeht. Das Buch beschreibt zwar die .NET Plattformmechanismen im Detail, aber ein wirkliches Verständnis dafür ergibt sich erst aus der Einordnung dieser Mechanismen im Vergleich zu anderen Plattformen wie COM, CORBA oder Java.

Gibt es auch Grund zur Kritik am Buch? Ja, zwei kleine Punkte. Zum einen ist der Titel möglicherweise etwas missverständlich. Es geht in dem Buch weniger um das Programmieren mit der .NET Umgebung als um die .NET Umgebung selbst. Zum anderen erscheint uns die umfangreiche Diskussion der Abbildung von verschiedenen, zum Teil recht exotischen Sprachen auf die .NET Umgebung etwas übertrieben. Gegen die Thematik als solche lässt sich nichts sagen. Wir haben die Kapitel über Visual Basic und C# mit Interesse gelesen. Aber Anzahl und Auswahl der anderen Sprachen erscheint uns nicht unbedingt sehr glücklich. Ob sich viele Leser für Mondrian und Active Oberon interessieren? Zumal Managed C++ gar nicht diskutiert wird?

Ingesamt ist Programming in the .NET Environment ein empfehlenswertes Buch für den erfahrenen Software-Engineur, der sich über die Zusammenhänge der .NET-Architektur informieren will. Leider ist es derzeit nur in der englischen Originalfassung zu bekommen.  Für diesen Nachteil wird der Leser aber durch die Kompetenz der Autoren und die geglückte Organisation des Buchs entschädigt.
 
 


 
© Copyright 1995-2003 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Articles/Reviews/Watkins/DotNet.html  last update: 30 Oct 2003