Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Elldrich Genter Geändert vor über 10 Jahren
1
Frank Fischer Manager Evangelism and Marketing http://blogs.msdn.com/frankfi Microsoft Deutschland GmbH
3
Jim Hugunin
4
IronPython0.1 Python2.3 IronPython1.0 IronPython2.0alpha1 Python2.5 Python2.1
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
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.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.