Peter Bucher - Mein Experiment, meine Spielereien, meine Welt...   ·   Stefan Falz   ·   Jürgen Gutsch   ·   Golo Roden   ·   ASP.NET Zone   ·   Microsoft ASP.NET
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

Dynamic Language Runtime - .NET, quo vadis?

Golo Roden und ich haben am 13. Oktober angekündigt, jeweils zum ersten eines Monats jeweils ein Beitrag zu einem vorher festgelegten Thema zu veröffentlichen.
Die Überraschung bei diesen Veröffentlichungen ist beidseitig, da die Themen den Lesern zum Vornherein nicht bekannt sind und Golo sowie ich auch nicht wissen, was wir jeweils dazu geschrieben haben.

Heute ist es soweit und das Thema heisst: "Dynamic Language Runtime - .NET, quo vadis?"
Das Gegenstück zu diesem Beitrag findet sich auf dem Blog von Golo.

Die Laufzeitumgebung von .NET, CLR (Common Language Runtime) sollte jeder .NET-Entwickler zumindest mal gehört haben.
Unter anderem stellt die CLR für die auf ihr aufbauenden Sprachen gemeinsame Dienste bereit (Garbage Collection, JIT-Kompilierung, Sandbox-Sicherheitsmodell, ...).

Dies ergibt zwei wesentliche Vorteile:

  • Neue Sprachen lassen sich aufgrund von gegebenen Gemeinsamkeiten in der Basis (CLR) leichter implementieren
    Sprachen die auf der CLR aufbauen können jeweils auf anderen Sprachen aufbauen bzw. mit ihnen zusammenarbeiten (Bibliotheken in einer anderen Sprache wiederverwenden)
  • Es gibt inzwischen dutzende von von Sprachen für .NET, eine Liste davon: http://dotnetpowered.com/languages.aspx, dabei sind nicht nur strukturierte, sondern auch funktionale Sprachen vorhanden.

Microsoft arbeitet schon länger an IronPhyton (http://www.codeplex.com/IronPython).
Im Rahmen dieses Projekts haben die Arbeiten an einer Dynamic Language Runtime begonnen, die jetzt als eigenständiges Projekt auf Codeplex verfügbar ist.

Die DLR stellt gemeinsame Services für alle Sprachen zur Verfügung, unter anderem ein dynamisches Typsystem und Services zur dynamischen Ausführung und Generierung von Code.

Die DLR wurde aufbauend zur CLR entwickelt, nutzt also dessen Implementation und wird dazu benutzt dynamische Programmiersprachen zu implementieren.

Ein grosser Unterschied stellt das dynamische Typsystem vs. dem statischen Typsystem (Bspw. C# / VB.NET) dar:

Dynamisches Typsystem (Typüberprüfung und Zuweisung zur Laufzeit)

  • Langsamere Ausführung / dagegen schnellere Kompilierung, d.h. unter anderem das sich die Zeit des Bearbeiten / Testen / Debugging-Zyklus verringert
  • Typen werden zur Laufzeit bei ihrer Benutzung überpprüft
  • Absicherung gegen Fehler zur Entwicklungszeit mit der Nutzung von Unit Tests

Statisches Typsystem (Typüberprüfung und Zuweisung zur Kompilezeit)

  • Schneller da die Typen zur Kompilezeit getestet werden
  • Absicherung gegen Fehler zur Kompilezeit (Optional Unit Tests) und Laufzeitüberprüfung (Debugging)

Die Nutzung von dynamischen Programmiersprachen wird vielerorts im Bereich von Scripting und Plug- / AddIn-Systemen erläutert.
Auch stellt das Austauschen von Daten in Formaten die sich schnell ändern können (Bspw. XML-Formate) ein Nachteil für die statisch typisierten Sprachen dar und wiederum ein Vorteil für die dynamisch typisierten Sprachen (Parsen vs. dynamische Interpretierung bzw. Ausführung).

Bisher habe ich dieses Thema immer mit ein wenig Abstand beobachtet und ich konnte mir keinen richtigen Reim daraus machen. Im Laufe meiner Nachforschungen ist mir aber klar geworden, dass dieser Entwicklung Beachtung geschenkt werden muss.
Über kurz oder lang muss sich jeder wohl damit ein wenig auseinandersetzen, jedoch stellt die Entwicklung eine Erweiterung der Möglichkeiten dar und nicht die Verdrängung alter Möglichkeiten.

Für Interessierte, ein paar Links um sich weiter damit auseinanderzusetzen:

Veröffentlicht Montag, 1. Dezember 2008 09:37 von Peter Bucher

Kommentare

# Dynamic Language Runtime: .NET, quo vadis?

Dynamic Language Runtime: .NET, quo vadis?

Montag, 1. Dezember 2008 10:12 by goloroden.de

# re: Dynamic Language Runtime - .NET, quo vadis?

Sally Peter,

tolle Einführung in die DLR :-)

Dienstag, 2. Dezember 2008 11:11 by Jürgen Gutsch

# re: Dynamic Language Runtime - .NET, quo vadis?

Sally Jürgen

Danke :-)

Dienstag, 2. Dezember 2008 14:20 by Peter Bucher

# SOA vs WOA

Golo und ich haben uns vor ca. einem Monat vorgenommen jeweils am ersten eines Monats ein Streitgespräch

Donnerstag, 1. Januar 2009 12:46 by Peter Bucher

# Die Forderung nach Softwarequalität

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Roden? Ja, Bucher! angekündigt,

Sonntag, 1. Februar 2009 23:05 by Peter Bucher

# Sinn und Zweck von AOP

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Montag, 2. März 2009 22:45 by Peter Bucher

# Sinn und Zweck von AOP

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Montag, 2. März 2009 22:56 by Peter Bucher

# Interfaces vs abstrakte Klassen

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Dienstag, 14. April 2009 22:50 by Peter Bucher

# Woran erkennt man einen guten Entwickler?

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Freitag, 1. Mai 2009 14:10 by Peter Bucher

# Primärschlüssel: GUID vs Identity

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Donnerstag, 2. Juli 2009 22:38 by Peter Bucher

# C# oder VB: Welche Sprache soll ich lernen?

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Montag, 3. August 2009 19:04 by Peter Bucher

# Alles var – oder nicht?

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Dienstag, 1. September 2009 09:48 by Peter Bucher

# Heisst die Zukunft RIA?

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Roden? Ja, Bucher! angekündigt,

Donnerstag, 15. Oktober 2009 18:33 by Peter Bucher

# Wieviel Sinn machen Unittests?

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Golo? Ja, Bucher! angekündigt,

Montag, 2. November 2009 09:43 by Peter Bucher

# Reflection – Fluch oder Segen?

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Roden? Ja, Bucher! angekündigt,

Dienstag, 1. Dezember 2009 21:03 by Peter Bucher

# this oder kein this

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Roden? Ja, Bucher! angekündigt,

Dienstag, 16. Februar 2010 21:30 by Peter Bucher

# Felder vs Eigenschaften

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Roden? Ja, Bucher! angekündigt,

Sonntag, 14. März 2010 16:53 by Peter Bucher

# Abstraktion

Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Roden? Ja, Bucher! angekündigt,

Freitag, 9. April 2010 13:22 by Peter Bucher
Anonyme Kommentare sind nicht zugelassen