Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Frank Fischer Manager Evangelism and Marketing Microsoft Deutschland GmbH.

Ähnliche Präsentationen


Präsentation zum Thema: "Frank Fischer Manager Evangelism and Marketing Microsoft Deutschland GmbH."—  Präsentation transkript:

1 Frank Fischer Manager Evangelism and Marketing http://blogs.msdn.com/frankfi Microsoft Deutschland GmbH

2

3 Jim Hugunin

4 IronPython0.1 Python2.3 IronPython1.0 IronPython2.0alpha1 Python2.5 Python2.1

5

6 Principal Architect Microsoft Corp.

7 Eine Geschichte zum Beginn… (hatten wir gerade) Was sind dynamische Sprachen ?? Der Versuch einer Definition Warum dynamische Sprachen ?? Wo würde ich persönlich sie verwenden, wo nicht ;-) Was hat Microsoft damit zu tun??

8 Eine Geschichte zum Beginn… (hatten wir gerade) Was sind dynamische Sprachen ?? Der Versuch einer Definition Warum dynamische Sprachen ?? Wo würde ich persönlich sie verwenden, wo nicht ;-) Was hat Microsoft damit zu tun??

9 Dynamic programming language is a term used broadly in computer science to describe a class of high level programming languages that execute at runtime many common behaviors that other languages might perform during compilation, if at all. These behaviors could include extension of the program, by adding new code, by extending objects and definitions, or by modifying the type system, all during program execution. These behaviors can be emulated in nearly any language of sufficient complexity, but dynamic languages provide direct tools to make use of them.computer sciencehigh levelprogramming languagesruntimecompilationcodeobjects type system Dynamic languages and dynamic typing are not identical concepts, and a dynamic language need not be dynamically typed, though many dynamic languages are dynamically typed.dynamic typing http://en.wikipedia.org/wiki/Dynamic_programming_language

10 s = Hello + 8

11 Paradigma 1: Runtime over Compile-Time!!! Paradigma 2: Entscheidungen verzögern Entscheidungen schränken die Möglichkeiten ein Agilität == Möglichkeiten Welche Entscheidungen kann man hinauszögern? Paradigma 3: Details der Implementierung verbergen Paradigma 4: Duck Typing!! Set dbOpenRecordset = New ADODB.Recordset With dbOpenRecordset.CursorLocation = CursorLocation.Open sSQL, oConn, CursorType, LockType End With

12 Void MyFunc() { var a = Hello, world!; }

13 APL Befunge ChucK Curl dBASE (dBL) ECMAScript ActionScript DMDScript E4X Io JavaScript JScript Eiffel Erlang Forth Groovy HyperTalk Lisp Dylan Logo Scheme Lua Maude system Oberon Objective Modula-2 Objective-C Perl PHP Pliant POP-11 Poplog Pike Prolog Python REBOL Revolution Ruby Smalltalk Bistro Self Slate Squeak Snobol SuperCard SuperCollider Tcl XOTcl TeX macro language VBScript Visual Basic 9.0 Visual FoxPro Windows PowerShell xHarbour

14 inline :csharp do |compiler| compiler.reference '..\PresentationFramework.dll' compiler.compile <<-EOF public class DialogHelpers { public static bool ShowDialog(FileDialog d) { bool? result = d.ShowDialog(); return result == null || result == false ? false : true; } EOF end

15 class PostController < ApplicationControler def sendHello render :text => Hello, World! end

16 Require erb Document = %[ …

17 Eine Geschichte zum Beginn… (hatten wir gerade) Was sind dynamische Sprachen ?? Der Versuch einer Definition Warum dynamische Sprachen ?? Wo würde ich persönlich sie verwenden, wo nicht ;-) Was hat Microsoft damit zu tun??

18 Dem harten C++ Mann tut das weh… Speicher- und Laufzeitverhalten sind in dynamischen Sprachen eher eine Randbemerkung Media Credit: Jessica ScottJessica Scott Marshall sophomore Adam Jenks chews down a piece of chocolate pie during the pie eating

19 Wo würde ich dynamische Sprachen einsetzen?? Wo man es kann ;-) Schnelle Ergebnisse Vorsicht: Wartbarkeit kostet Arbeit (Test getriebene Entwicklung) Mit dynamische Sprachen kann man auch Bibliotheken bauen… wenn man ordentlich programmiert Wo bieten sich andere Sprachen an?? Wo man muss… Bibliotheken

20 Eine Geschichte zum Beginn… (hatten wir gerade) Was sind dynamische Sprachen ?? Der Versuch einer Definition Warum dynamische Sprachen ?? Wo würde ich persönlich sie verwenden, wo nicht ;-) Was hat Microsoft damit zu tun??

21 { Silverlight und PHP } http://www.php- compiler.net/doku.php?id=php-in- silverlight

22 …haben wir gefragt, welche weitere Sprache sollen wir unterstützen… select * from ProgrammingLanguages where IsDynamic = true Antwort: select * from ProgrammingLanguages where IsDynamic = true Daher: Dynamic Language Runtime als Basis Bringt den notwendigen Support für dynamische Sprachen Entwicklung soll extrem vereinfacht werden

23

24 Legend V2.0 Legend V1.0.NET for Silverlight XAML Presentation Core Networking JSON REST POX RSS Data LINQXLINQ DLR RubyPython WPF Extensible Controls BCL Generics Collections Inputs Keyboard MouseInk Media VC1 WMAMP3 Browser Host MS AJAX Library DOM Integration UI Core Images Vector Text Animation DRM Media Controls Layout Editing CLR Execution Engine Deploy Friction- Free Installer Auto- Updater Application Services SOAP

25 30_000_000.times { |e| } ~1.8X faster

26 i = 0 while i<30_000_000 i+=1 end ~3.3X faster

27 STUFF = "hello\n" i=0 while i<10 i+=1 hello = '' 400_000.times do |e| hello << STUFF end ~36% slower

28 i=0 while i<300_000 i+=1 begin raise rescue end ~5.6X slower

29 { Späßle mit IronRuby }

30 Sprachen IronRuby http://rubyforge.org/projects/ironruby http://www.iunknown.com/ http://rubyforge.org/projects/ironruby http://www.iunknown.com/ IronPython http://msdn.microsoft.com/msdnmag/issues/06/ 10/clrinsideout/default.aspx?loc=de http://www.codeplex.com/IronPython http://www.iunknown.com/ http://msdn.microsoft.com/msdnmag/issues/06/ 10/clrinsideout/default.aspx?loc=de http://www.codeplex.com/IronPython http://www.iunknown.com/ JavaScript VBX

31 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Herunterladen ppt "Frank Fischer Manager Evangelism and Marketing Microsoft Deutschland GmbH."

Ähnliche Präsentationen


Google-Anzeigen