Archive for November, 2008
Auch Asus veröfffentlicht Desktop mit Touchscreen

Nachdem HP seinen TouchSmart IQ506 vorgestellt hat, veröffentlich auch Asus mit seinem Eee Top 1602 einen Desktop mit Touchscreen. Es hat also den Eindruck, als würde der Touchscreen auf dem heimischen Schreibtisch bereits jetzt in Mode kommen und dass die Hersteller nicht warten wollen, bis Windows 7 auf den Markt kommt, das den Touchscreen nativ unterstützt.

Ungewöhnlich ist aber nicht nur der Touchscreen des Top 1602, sondern der Bildschirm weist auch das ungewönliche Format von 15,6 Zoll auf. Zusätzlich ist er lediglich 4,25 cm tief, ist mit einem GB RAM, einer 160 GB Festplatte, WiFi, einer Netzwerkkarte, Lautsprechern und einer 1,3 Megapixel Webcam ausgerüstet.

Als Betriebssystem dient ein “Easy Mode” von Windows XP, das über eine eingeschränkte icongesteuerte Umgebung als Oberfläche verfügt. Zusätzlich legt Asus dem Top 1602 ein eher ungewönlich mageres Softwarepaket bei, das aus Eee Memo (mit dem die Anwender mit den Fingern Notizen auf den Desktop schreiben können), SoftStylus (eine Handschrifterkennung), eine Bildschirmtastatur und Opera Touch (einem Browser, der für die Bedienung mit den Fingern optimiert wurde) besteht.

Der Top 1602 wird im Internet aktuell für knapp 550,00 Euro zuzügl. Versand angeboten. Ob sich diese Investition angesichts des doch ungewöhnlich kleinen Bildschirms und er auch ansonsten eher mageren Hardwareausstattung lohnt mag der geneigte potentielle Käufer entscheiden.

Technical Summit – ein persönliches Fazit

Am Freitag ist das zweite Technical Summit zu Ende gegangen. Mittlerweile ist es Montag und ich bin wieder fit, Zeit also für ein Fazit. Es handelt sich hier um meine persönlichen Eindrücke, die nicht unbedingt von jedem Teilnehmer der Konferenz geteilt werden müssen.

Die Location

Das ICC Berlin wurde am 2. April 1979 vom damaligen Bundespräsidenten Walter Scheel eingeweiht. Das sieht man ihm auch an (das Baudatum, nicht den Bundespräsidenten). Es wirkt nicht mehr ganz zeitgemäß, auch wenn es beileibe noch nicht altbacken ist. Offensichtlich werden große Anstrengungen unternommen, um die Location instand zu halten. Nirgendwo war Gammel zu sehen, alles war heil und sauber. Für diese Konferenz war es aber deutlich überdimensioniert. Wenn an einer Konferenz nur einige hundert Menschen teilnehmen, verlaufen sie sich in dem großen Gebäude. Angeblich sollen schließlich etwa 4.000 Menschen dort bequem Platz finden. Das einzige, was man am ICC bemängeln könnte, ist die Klimaanlage, die manchmal doch für heftige Temperaturwechsel sorgte.

Die Organisation

Der Ablauf war wirklich bombig durchgeplant und selbst die Registrierung gelang wider Erwarten ohne lange Wartezeiten. Das Personal war im Großen und Ganzen kompetent und freundlich.

Die Speaker und die Vorträge

Die Redner auf diesem Event waren durch die Bank gut und auch über die Vorträge habe ich nur wenige kritische Stimmen gehört. Kein Wunder – es gab schließlich viel neues zu berichten und zu zeigen. Lediglich Dariusz Parys hat mir etwas Leid getan, als er über Oslo sprechen musste. Es kann doch einfach keinen Spaß machen, über eine neue Entwicklungsumgebung zu berichten, von der es in teilen nicht einmal eine Oberflächendemo gibt. Da wäre es sicher besser gewesen, sich auf die Teile der Logik von Oslo zu konzentrieren, die es bereits gibt. DSLs (Domain Specific Languages) kann man schließlich auch jetzt bereits entwickeln und einsetzen.

Das Catering

Das war eigentlich der einzige Minuspunkt an der Veranstaltung. Das Essen war eher Durchschnitt und bei einer Veranstaltung erwartet man auf dem Büffet eigentlich mehr als ein Hauptgericht. Und wer sowohl auf der XTOPIA als auch auf dem Technical Summit anwesend war, durfte erleben, dass die Speisefolge auf beiden Events fast identisch war. Ein Büffet wie das Fernsehprogramm. Dass das auch in Berlin besser geht, hat doch Microsoft erst im letzten Jahr bei der XTOPIA 2007 bewiesen. Aber das Essen sollte ja eigentlich auch nicht unbedingt das zentrale Thema auf der Konferenz sein.

HP stellt TouchSmart IQ506 vor

Der HP TouchSmart IQ506 ist HPs neuer All-in-One-Computer. Dabei handelt es sich zwar um keinen Tablet PC oder UMPC, da er aber über einen Touchscreen verfügt, dürften die meisten Entwickler ihn durchaus wie einen Tablet PC betrachten. Mit dem  IG506 stellt sich HP in Konkurrenz mit dem iMac von Apple, den Gateway One von Gateway (Acer) sowie mit verschiedenen anderen Unternehmen. HP betont aber, dass seine Linie TouchSmart sich von der Konkurrenz abhebt, da diese Geräte rund um die Idee der Fingerbedienung über den Bildschirm konstruiert wurden. Mit einem Preis von aktuell 1350 Euro (bei Amazon) ist das Gerät nicht unbedingt ein Schnäppchen und wenn man den Touchscreen jetzt nicht unbedingt benötigt, sollte man mit der Neuanschaffung wohl noch bis zum nächsten Jahr warten. Windows 7 wird auch Multitouch unterstützen, wodurch der Touchscreen erst ausgenutzt wird.

Windows 7

Sprecher: Daniel Melanchthon

Daniel führt in dieser Session eine Pre-Betaversion von Windows 7 vor, also eine späte Alphaversion. Was in dieser Session gezeigt wird, ist nicht alles was Windows 7 enthält, sondern lediglich das, was Microsoft auf der PDC gezeigt hat und was daher bereits bekannt ist. Was in diesem Blogeintrag steht ist daher keinesfalls  vollständig. Außerdem bin ich der Meinung, dass es sich nicht lohnt, diesen Eintrag auszuformulieren. Da es sich um eine Version handelt, die noch weit vom endgültigen Stand entfernt ist, kommen fast täglich neue Builds hinzu, die neue Funktionalitäten oder Oberflächenelemente enthalten können. Daher könnte ein ausformulierter Artikel schon morgen überholt sein.  Dieser Eintrag besteht deshalb einfach aus Stichworten und Bildern, die ich während der Session mitgeschrieben bzw. geschossen habe. Wenn Sie aktuelle Informationen über eines der Features haben wollen, tragen sie meine Stichworte einfach in Ihre Lieblingssuchmaschine ein und Sie erhalten Informationen, die ich nicht aktueller bringen könnte.

Eine neue Windows Taskbar

Jump Lists

Windows Aero Desktop

Windows touch

Tastatur

High DPI

Wireless LAN Icon

Location aware Printing

Device Stage

Windows Live

IE8

Sensor & Location Plattform

Blue Ray Disc Write support

VHDMount & VHDBoot

Powermanagement

DirectAccess

Search Federation

BranchCache

BitLocker und BitLocker To Go

Deployment Image Servicing and Management (DISM) Tool

Offline Domain Join

Applocker

Performance & Reliablility

Anwendungs- und Gerätekompatibilität

Sicherheit (UAC, modulare Firewall)

Verbesserte  Batterielaufzeit (Adaptive Displayhelligkeit, Low-Power DVD Playback, abschaltbarer Ethernet-Port, Wol WLAN)

Biometrische Geräte

Sicherung und Wiederherstellung auf Netzwerkshares

Action Center & Windows Troubleshooting

 

 

Hier demonstriert Daniel die Touchfähigkeit von Windows 7. Dabei zeigte er auch Fähigkeiten, die sich nicht in Fotos wiedergeben lassen. Verschieben Sie beispielsweise ein Fenster an die Oberkante des Desktops, wechselt dieses Fenster in den Fullscreenmodus. Ziehen Sie das Fenster wieder von der Oberkante des Desktops weg, kehrt es in die ursprüngliche Darstellung zurück. Sie können ein Fenster auch an der rechten oder linken Seite andocken. In diesem Fall ändert es seine Größe, so dass es die Hälfte des Bildschirms einnimmt. Diese Funktionalität ist beispielsweise sinnvoll, wenn Sie zwei Dokumente nebeneinander darstellen und vergleichen wollen.

 

Hier stehen zwei Dokumente nebeneinander, so dass sie bequem verglichen werden können.

 

Daniel demonstriert die Multitouchfähigkeit von Windows 7.

 

Erkennen Sie den Unterschied zu Windows Vista?

 

 

Wenn Sie sich jetzt fragen, was in Dreiteufelsnamen eine Homegroup ist, erinnern Sie sich an meinen Tipp mit Ihrer Lieblingssuchmaschine…

Und zum Schluss noch ein Fazit: Ursprünglich war ich ja nur scharf darauf, Windows 7 zu sehen, um Ihnen mitteilen zu können, was es dort neues im Hinblick auf den Tablet PC gibt. Aber wenn ich mir die einzelnen Features so ansehe, enthält Windows 7 doch sehr vieles, was mir schon lange gefehlt hat. Hoffen wir, dass der Erscheinungstermin von Windows 7 nicht so häufig verschoben wird wie seinerzeit der RTM-Termin von Windows Vista.

Vorstellung des Internet Explorer 8

Sprecher: Daniel Melanchton

Die Themen dieses Vortrags sind:

-          Interoperabilität und Webstandards

-          Mehr als nur Internetseiten

-          Verbesserte Sicherheit, Auswahl und Kontrolle

CSS Compliance

Das Ziel ist, vollständig CSS 2.1-kompatibel zu sein. Ein großer Fortschritt wurde mit Beta 1 (ACID2) erzielt. Das Problem steht darin, dass die Tests von einer bestimmten Annahme ausgehen und dann erwarten, dass sich die Browser entsprechend dieser Annahme verhalten. Im Gegensatz dazu enthält die CSS 2.1-Spezifikation viele Freiheiten, so dass es durchaus möglich ist, standardkonform zu arbeiten und trotzdem bei den Tests durchzufallen.

Ein Problem sind alte Webseiten, die sich nicht an die Standards halten oder die vor der Verabschiedung der Spezifikation erstellt wurden. Aus diesem Grund enthält der IE8 einen Kompatibilitätsmodus, die eine Seite wie in IE6 zu rendern. Dieser Modus kann sowohl vom Anwender als auch vom Webentwickler und vom Administrator des Webservers aufgerufen werden. Damit sollte es möglich sein, im IE8 alle Webseiten korrekt angezeigt werden.

Der IE8 kann aber mehr als nur Webseiten anzeigen. Ein Beispiel dafür sind Schnellinfos, die es ermöglichen, direkt aus einer Webseite Kontextinformationen aufzurufen. Die Informationen für die Schnellinfos sind in einer XML-Datei gespeichert, die von den entsprechenden Websitebetreibern bereitgestellt werden.

Ein weiteres neues Feature sind WebSlices. Diese ähneln RSS-Feeds und sind ideal für einen Teil einer Information, die sich häufig ändert (beispielsweise der Preis bei eBay). Untersuchungen haben gezeigt, dass Webseiten mit Slices  etwa 10 x so häufig aufgerufen werden als Webseiten ohne diese WebSlices.

Die Favoritenliste

Diese wird im IE8 standardmäßig angezeigt.

Verbesserte Suche

Es ist möglich, nicht nur in der Webseite zu suchen, sondern optional auch der Standard-Suchmaschine diesen Suchbegriff weiterzuleiten. Außerdem ist eine thematische Suche verfügbar, über die man direkt in Sites wie Wikipedia oder Amazon suchen kann, ohne vorher auf diese Site zu wechseln.

IE8 enthält verschiedene Verbesserungen der Sicherheitsmechanismen, die teilweise auf den Sicherheitsfeatures von IE7 basieren, teilweise aber auch neu sind. Damit werden auch neue Angriffsszenarien abgefangen. Der Sicherheitsfilter des IE8 wurde gegenüber IE7 erheblich verbessert. Zusätzlich unterbindet der Browser Downloads von Malware von Webseiten. Der Anwender kann aber in diesem Fall auf einen Link klicken, wenn er die Malware doch unbedingt auf seinem Rechner haben möchte.

International Domain Names (IDN)

Native IDN-Unterstützung

Schutz gegen Phishingangriffe

Unicodeanzeige nur für vom Benutzer genutzte Sprachen

Was soll das? Ein Domainname könnte statt des lateinischen „a“ ein kyrillisches „a“ enthalten, das zwar genauso aussieht, aber etwas anderes ist. Damit hat der Anwender keine Möglichkeit, festzustellen, dass er sich nicht auf der Webseite befindet, die er gerne aufrufen wollte. Das  kyrillische „a“ in der URL wird nur dann angezeigt, wenn der Benutzer in seinem Browser die russische Sprache installiert hat (falls nicht kann er nicht russisch und will auch nicht auf eine russische Webseite wechseln).

Der IE8 enthält noch viele weitere neue Features, die Daniel Melanchton in seiner Session auch vorstellte. Leider war ich beim Mitschreiben etwas zu langsam, so dass in dieser Beschreibung vieles fehlt. Ich kann Ihnen nur empfehlen, sich die Betaversion vom Microsoft-Server herunterzuladen und ihn selbst einzusetzen. Keine Angst vor der Beta; der IE8 ist auch jetzt bereits sehr stabil und wird auch von vielen Anwendern bereits als Standardbrowser verwendet.

Visual Studio 2008 – Tipps und Tricks

Sprecher: Dirk Primbs

In dieser Session stellte Dirk Primbs eine Reihe Tipps und Tricks vor, die durch die Reihe hilfreich sind und auf Dauer viel Zeit einsparen helfen. Ich habe die meisten Themen während der Session mitgeschrieben und bitte Sie, zu entschuldigen, dass ich sie eher stichpunktartig aufzähle und nicht bis ins letzte ausformuliert habe.

Als ersten Tippempfahl Dirk ZoomIt, das als kostenloser Download für das Vergrößern der Schrift während Präsentationen zur Verfügung steht.

Alt+Shift+F10: schaltet das Fenster in den Fullscreenmodus

Doppelklick auf das führende Anführungszeichen eines Strings markiert den gesamten String.

Mit der gedrückten Alt-Taste lässt sich nicht nur horizontal markieren, sondern auch vertikal.

Ctrl+i: inkrementelle Suche. Sobald das Suchen-Symbol erscheint, kann man beginnen, den gesuchten String einzugeben. Mit F3 kommen wir zur nächsten Fundstelle. Mit Shift+F3 wird rückwärts gesucht.

Ctrl+Shift+t: verschiebt das markierte Wort oder die Wortgruppe nach hinten, um die Reihenfolge zu ändern.

Alt+Shift+t: verschiebt eine ganze Zeile nach hinten.

Ctrl+k+t: Markiert einen vollständigen Bereich.

Ctrl+g: navigiert zur angegebenen Codezeile.

Mit den Navigationsschaltflächen des Menüs kommt man schnell an eine Stelle, die kürzlich bearbeitet wurde (funktioniert auch mit Ctrl++ und Ctrl+-)

Mit Bookmarks lassen sich benannte Sprungmarken im Quellcode anlegen, die über die Grenzen der aktuellen Arbeitssitzung erhalten bleiben.

Wird beim Debuggen ein Haltepunkt erhalt, erscheint ein kleiner gelber Fall im Codefenster, der anzeigt, wo die Programmausführung fortgesetzt wird. Dieser Pfeil kann verschoben werden, so dass die Programmausführung an anderer Stelle erfolgen kann.

Bleibt die Programmausführung während des Debuggens an einem Breakpoint stehen, kann man über einen Rechtsklick auf den Breakpoint diesem einen Ausdruck zuweisen, damit die Ausführung nur unter bestimmten Bedingungen unterbrochen wird.

Wird eine Datei ins Editorfenster gezogen, wird der gesamte Pfad eingefügt.

Zieht man eine Klasse ins Editorfenster, erhalten Sie den Namen des Assemblys.

 

Opening Keynote

Jetzt, am eigentlich zweiten Tag geht es richtig los mit der Opening Keynote auf dem Technical Summit.

Sprecher: Frank Fischer

Frank Fischer beginnt mit einem Überblick über das Wesen des Internets und zeigt kurz die Funktion des IE 8 unter Windows 7. Das zweite große Thema auf dem Technical Summit sind Dienste, die die Flexibilität im IT-Portfolio erhöhen sollen.

Was ist neu an derCloud-Plattform? Auch in der Cloud kann der Anwender seine eigenen Anwendungen laufen lassen. Zusätzlich stehen ihm die Dienste von Windows Azure zur Verfügung. Microsoft Azure ist eine Plattform für Partner- und Microsoft-Dienste. Derzeit fügt Microsoft seinen Rechenzentren jeden Monat 10.000 Rechner hinzu und plant, diese Zahl bis Ende nächsten Jahres bis auf 20.000 erhöhen. Auf diesen Rechnern arbeitet Windows Azure mit seinen Diensten, im Einzelnen Live Services, .NET Services, SQL Services, Sharepoint Services und andere.

Sprecher: Steve Teixeira

Bringing Parallel Computing to the Masses

Steve demonstriert am Beispiel einer Datenbankabfrage, welche Performancegewinne parallele Verarbeitung bringen kann.

Parallel Computing @ Microsoft

Anwendungen (nur einige Beispiele): Automatisierungssteuerungen, Internetbasierte Bilddienste, Unternehmensweite Suche, Animation und CGI-Rendering. Eine Voraussetzung für eine sinnvolle parallele Verarbeitung ist

Parallel LINQ (PLINQ)

Ermöglicht LINQ-Entwickler, parallele Hardware zu nutzen.

Es würde den Rahmen dieses Blogs sprengen, hier alle Features aufzuzählen, die Steve Teixeira gespickt mit vielen anderen Informationen vorgeführt hat. Da muss ich Sie auf andere Internetquellen verweisen, in denen Sie die Informationen besser aufbereitet finden als es mir während der Konferenz möglich ist. Nur so viel sei hier bereits verraten: die Demos waren wirklich beeindruckend und ich bin der Meinung, dass parallele Verarbeitung in den nächsten Jahren auf viele Entwickler zukommen wird, und zwar in dem Maße, in dem Azure Verbreitung findet.

Sprecher: Patrick Baudisch

Very small Mobile Devices

Patrick Baudisch stellt zunächst seinen Arbeitsbereich vor, sowie die Herausforderungen, vor denen wir heute stehen. Früher gab es nur den PC mit einem mehr oder weniger großen Bildschirm. Heute verfügen wir  über mehr Geräte mit deutlich unterschiedlicheren Anzeigen. Das am meisten verfügbare Gerät ist heute das Mobiltelefon, das heute auch Internetfähig ist und für die Anzeige einfacher Informationen verwendet wird. Werden die Informationen komplexer, wird der Anwender seinen Laptop verwenden, um diese Informationen anzuzeigen und zu bearbeiten. In bestimmten Situationen kann der Anwender auch noch einen externen Monitor oder einen Beamer anschließen, um mehr Menschen an seinen Informationen teilhaben zu lassen.

Patrick stellte einige Projekte vor, an denen er bei Microsoft Research gearbeitet hat und von denen er sich vorstellen kann, dass sie in den nächsten Jahren State of the Art sein könnten. Es dürfte allen Teilnehmern der Keynote klar geworden sein, dass wir noch lange nicht am Ende der Entwicklung angelangt sind.

Ach ja, Thema dieses Vortrags waren ja kleine Geräte und wenn hier von kleinen Geräten die Rede ist, sind auch wirklich kleine Geräte gemeint. Können Sie sich vorstellen, ein Gerät mit einer Bildschirmdiagonale von 8 mm mit dem Finger zu bedienen? Falls nicht, haben Sie hier etwas versäumt. Ich hoffe, ich komme im Laufe der Konferenz noch einmal dazu, dieses neue Feature zu beschreiben. Jetzt geht es erst einmal mit der nächsten Session weiter.

 

 

 

Office 14 ist auf dem Technical Summit kein Thema

Ursprünglich standen (wie auf der PDC) auch einige Sessions zu Office 14 auf der Agenda. Die Agenda wurde aber bis zum Schluss immer wieder aktualisiert. Dabei ist das Thema Office 14 leider unter den Tisch gefallen. Schade. Ich hatte mich wirklich darauf gefreut.

SQL Server Locking, Blocking, Deadlocks

Sprecher: Siegfried Spuddig (consult Spuddig)

Was uns Siegfried Spuddig hier in einer zweieinhalbstündigen Session vorsetzt, ist schon starker Tobak. An der Kompetenz des Referenten kann es keinerlei Zweifel geben und er hat wirklich viel zu erzählen. Außerdem ist es ein interessantes Thema. Eigentlich hatte ich mir auch vorgenommen, ausführlich über die Inhalte zu berichten, die in dieser session vorgetragen werden. Leider ging es aber so holterdipolter, dass ich es beim besten Willen nicht geschafft habe, auch nur eine grobe Zusammenfassung mitzuschreiben. Schon vom reinen Zuhören rauchte mir nach einer Stunde der Kopf. Ich glaube, hier wäre weniger mehr gewesen.

Softwareentwicklung mit Python

Sprecher: Klaus Rohe (Microsoft Deutschland)

Python gibt es nicht nur für Mac OS, Linux oder UNIX, sondern auch für Windows. IronPython ist eine leistungsfähige Implementierung von Python.

Historie

Python wurde Anfang der 1990er Jahre durch Guido van Rossum am Zentrum für Mathematik und Informatik in Amsterdam als Nachfolger für die Lehrsprache ABC entwickelt.

Python ist im Gegensatz zu C, C#… nicht standardisiert. Aktuell ist die Version 2.6, die vollständig abwärtskompatibel ist, während in der bereits verfügbaren RC1 von Python 3.0 ein Bruch stattgefunden hat, so dass diese Version nicht mehr abwärtskompatibel ist.

Python-Programme werden interpretiert und unterstützen sowohl die prozedurale, objektorientierte sowie eingeschränkt die funktionale Programmierung. Python wird als dynamische Programmiersprache betrachtet. Das bedeutet keine explizite Definition von Variablentypen, die Sprache wird interpretiert und die Sprache ermöglicht Modifikationen des Programmcodes zur Laufzeit.

Python verfügt über eine klare und einfache Syntax und ist auf alle Plattformen mit C-Compiler portabel, also auf Windows, Mac OS, UNIX, Linux…

Weshalb sollte man Python einsetzen? Die Sprache ist einfach zu lernen und zu benutzen. Sie ermöglicht eine schnelle Entwicklung sowie Prototyping. Außerdem stehen für die Sprache viele Frameworks und Klassenbibliotheken zur Verfügung (für die Webentwicklung und für technisch-wissenschaftliche Anwendungen). Zusätzlich wird Python häufig verwendet, um andere Anwendungen skriptbar zu machen.

Die originale Version von Python wird auch als CPython bezeichnet. Jython ist eine Implementierung von Python in Java. PyPy ist eine Implementierung von Python in Python.  IronPython wurde in C# für .NET implementiert. IronPython und JPython haben gleiche Ziele.

Python enthält eine fünfstufige Hierarchie mit 15 Datentypen, die ich hier aber nicht alle aufzählen möchte. Informieren Sie sich darüber bitte auf anderen Sites im Internet.

Eigenarten der Python-Syntax

Python erzwingt eine sehr lesbare Formatierung der Programme.  Ohne Einrückung durch Tabs erzeugt Python einen Syntaxfehler (kennen wir so etwas nicht aus der guten alten Zeit, als wir noch mit COBOL programmiert haben?)

Die Syntax von Python

Dies ist mein allererster Kontakt mit der Pythonsyntax. Legen sie daher nicht jedes Wort auf die Goldwaage. Ich beschreibe hier halt nur meinen ersten Eindruck. Python kennt nur die For- und die While-Schleife sowie eine Verzweigung mit IF und ELSE und konditionale Ausdrücke. Python erlaubt auch verschachtelte Funktionsdefinitionen sowie rekursive Funktionen.

Die Generatorfunktionen sind in Python eine elegante Methode, um Sequenzen von Werten zu verarbeiten. Dabei erinnert die Syntax doch stark an C, so dass man sich in dieser Sprache schnell zu Hause fühlen dürfte. Allerdings fehlen die geschweiften Klammern, die Codeblöcke einfassen. Diese Klammern empfinde ich in C# als sehr angenehm, da sie helfen, den Code übersichtlich zu halten. Aber da Python eine lesbare Formatierung des Codes erzwingt, ist dieses Fehlen kein Manko.

Python unterstützt einfache anonyme Funktionen, auch Lambda-Ausdrücke genannt, die auf Ausdrücke beschränkt sind und keine Kontrollanweisungen enthalten dürfen.

Python ist objektorientiert

Das bedeutet, dass wir in Python Klassen definieren können und dass Vererbungskonzepte unterstützt werden, sogar die Mehrfachvererbung. Anders als C# enthält Python aber kein Schnittstellenkonzept.

Ausnahmebehandlung in Python

Das Konzept von TRY und CATCH dürfte mittlerweile allgemein bekannt sein, so dass ich mich darüber hier nicht auslassen muss.

Andere Sprachkomponenten

Mit List Comprehension wird aus den Elementen einer bestehenden Liste eine neue Liste erzeugt.

Alle diese Angaben gelten für alle Python-Implementierungen.

 IronPython

Aktuell ist die Version IronPython 1.1.2 Kürzlich ist der Release Candidate 1 von IronPython 2.0 erschienen. In IronPython 2.0 wurde die Dynamic Language Runtime implementiert. Sie können IronPython unter www.codeplex/IronPython herunterladen. Sie erhalten wahlweise eine ZIP-Datei oder ein MSI-Installationspaket. Auch der Quellcode von IronPython steht zum Download bereit.

Wenn Sie IronPython installiert haben, finden Sie in Ihrem Installationsverzeichnis zwei Programme:

Ipy.exe für das Ausführen von IronPython Skripten mit interaktiver Console. Ipyw.exe für Skripte ohne interaktive Console. Sie benötigen zwei Umgebungsvariablen: IRONPYTHONPATH und IRONPYTHONSTARTUP. Achten Sie darauf, dass diese Umgebungsvariablen korrekt gesetzt sind.

Wie schnell ist IronPython? Lt. dem Standard-Benchmark Pystones ist IronPython etwa um die Hälfte schneller als CPython.

Die Dynamic Language runtime

Dies ist eine Plattform zur Implementierung von dynamischen Sprachen auf .NET. Sie basiert auf den Erfahrungen von Jiom Hugunin bei der Implementierung von IronPython 1.0 auf .NET. Die DLR ist ein Aufsatz auf dem .NET Framework und wurde in C# implementiert. Sie nutzt die Dienste und Eigenschaften des .NET Frameworks.

Microsoft plant, IronPython in Visual Studio 10 zu implementieren. Außerdem gibt es auf Codeplex ein Programm namens IronPython Studio.

Benutzung von .NET-Datentypen und Bibliotheken in IronPython

Die .NET-Datentypen und Bibliotheken müssen in IronPython bekannt gemacht werden. Die Umgebungsvariable IRONPYTHONPATH muss die Verzeichnisse enthalten, in denen sich die referenzierten Assemblies befinden.

Es gibt einige Unterschiede zwischen C# und IronPython. In Python gibt es keine Generics und es stehen dort auch keine .NET-Attribute zur Verfügung. In IronPython können aber sämtliche Klassenbibliotheken des .NET Frameworks verwendet werden. Die .NET-Namespaces können in IronPython wie Python-Pakete eingesetzt werden. Selbst auf WPF und LINQ kann IronPython zugreifen, auch wenn es etwas ungewöhnlich ist, aus einer Skriptsprache heraus eine grafische Oberfläche aufzubauen und über diese auf eine Datenbank zuzugreifen.

Einbetten von IronPython in .NET-Anwendungen

Auf diese Weise können Sie Ihre Anwendungen mit Skriptingfunktionen ausrüsten. Dadurch erstellen Sie flexible Anwendungen, die auf einfache Weise an geänderte Anforderungen angepasst werden können. Das einbetten von Skript-Engines ist eine der Kernfunktionalitäten der DLR. Sie benötigen dafür die Namespaces Microsoft.Scripting und Microsoft.Scripting.Hosting.