Введение в DLR UNETA 16 апреля, 2010 Иван Колодяжный, Software Developer Teamdev Ltd.

Slides:



Advertisements
Similar presentations
Ofir Aspis 1/2010 VS 2010 Targets High Level - IDE New Features VS 2010 As Editor and Platform Demo Editor features Extending.
Advertisements

Dynamic internals. Introductions  Alexandru Ghiondea  C# Compiler QA  
.NET add-in /SP1 Host Process 3.0 add-in 3.5 add-in 1.1 add-in.NET 1.1 CLR 2.0 – CLR 1.1.
 Anders Hejlsberg Technical Fellow Microsoft Corporation TL16.
Inheritance. Many objects have a hierarchical relationship –Examples: zoo, car/vehicle, card game, airline reservation system Inheritance allows software.
Ken Casada Developer Evangelist Microsoft Switzerland
Bart J.F. De Smet Software Development Engineer Microsoft Corporation Session Code: DTL304.
What?!? C# Could Do That?? Shay Friedman CodeValue |
Introduction to C# Tom Roeder CS fa. Goals of the course Introduce C# language ECMA standard originally developed by MSR not just Java + C++ many.
C#.NET C# language. C# A modern, general-purpose object-oriented language Part of the.NET family of languages ECMA standard Based on C and C++
Principles of Object-Oriented Software Development The language Java.
C#.NET C# language. C# A modern, general-purpose object-oriented language Part of the.NET family of languages ECMA standard Based on C and C++
What’s New in C# 4.0? Pavel Yosifovich SELA Group
IronPython IronRuby
Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages
demo video demo Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent.
Louis de Klerk Consultant Inobits Consulting DTL308.
Computer Science and Software Engineering University of Wisconsin - Platteville 7. Inheritance and Polymorphism Yan Shi CS/SE 2630 Lecture Notes.
Differences between C# and C++ Dr. Catherine Stringfellow Dr. Stewart Carpenter.
C# Tutorial From C++ to C#. Some useful links Msdn C# us/library/kx37x362.aspxhttp://msdn.microsoft.com/en- us/library/kx37x362.aspx.
It’s always better live. MSDN Events INTRODUCTION TO SILVERLIGHT prepared by Joe Nov INTRODUCTION TO SILVERLIGHT prepared by Joe Nov
Static and Dynamic Behavior CMPS Power of OOP Derives from the ability of objects to change their behavior dynamically at run time. Static – refers.
Dynamic Languages & The.Net Framework Shay Friedman ActionBase
Dynamic Languages and the Web Jimmy Schementi Microsoft
The Procedure Abstraction, Part VI: Inheritance in OOLs Comp 412 Copyright 2010, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled.
Alex Turner C# Compiler PM Session Code: DEV402 On the Dynamic menu today… The Dynamic Language Runtime How does it relate to the CLR? Dynamic in C#
 Jim Hugunin Partner Architect Microsoft Corporation TL10.
Mads Torgersen, Microsoft.  Language INtegrated Query  An open multi-language query facility  Uses cool language stuff  Points into the future.
Silverlight 2 CoreCLR Andrew Pardoe Program Manager CLR Execution Engine
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
Hoang Anh Viet Hà Nội University of Technology Chapter 1. Introduction to C# Programming.
Introduction to Computer Programming CS 126 Lecture 2 Zeke Maier.
Lisa Feigenbaum Microsoft Program Manager Session Code: DEV314.
Mike Taulty Developer & Platform Group Microsoft Ltd
IronRuby for the.NET Developer Cory Foy - Cory Foy, LLC + + =
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
Jesus Rodriguez Chief Architect, Tellago, Inc Microsoft Architect Advisor Microsoft MVP Oracle SOA ACE SESSION CODE: DEV406.
Wel come To Seminar On C#.
A comparison of C-Sharp and Java Zunaid Jogee Supervisor: T. Stakemire.
Jonathan Aneja Program Manager Microsoft Corporation Session Code: DTL336 Anders Hejlsberg Technical Fellow Microsoft Corporation.
Polymorphism Encapsulation Inheritance
Lap Around the.NET Framework 4 NameTitleCompany. A Look Back….NET 1.0.NET 1.1.NET NET CTP CLR 1.0 CLR 1.1 CLR 2.0 CLR.
Overview CNS 3260 C#.NET Software Development. 2.NET Framework Began in 2000 Developed in three years (2000 to 2003) Operating System Hardware.NET Framework.
Features of.net Language independent Object oriented program Multi threading Exception handling Drag and drop Linq
Dynamic Languages Initiative Silverlight ASP.NET Web Services Summary.
M ICROSOFT.NET Kyle Adamski 10/15/2012. Road Map What is.NET? Common Language Runtime (CLR) Language Integrate Queries (LINQ).NET Pros.NET Cons Sources.
Luke Hoban Senior Program Manager Microsoft Session Code: DTL310.
© Copyright SELA software & Education Labs Ltd Baruch Hirsch St.Bnei Brak Israel 1 בס " ד.
Intro to Programming STARS College of Communication and Information Florida State University Written by: Hannah Brock Alissa Ovalle Nicolaus Lopez Martin.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Modern Programming Tools And Techniques-I
Konstantinos pantos Software solutions architect Techaholics
Introduction to .NET Framework
/* LIFE RUNS ON CODE*/ Konstantinos Pantos Microsoft MVP ASP.NET
using System; namespace Demo01 { class Program
Interface.
Clojure: Why is it interesting?
C# and the .NET Framework
Using Dynamic Languages to Build Scriptable Apps
C# in the Big World Mads Torgersen Program Manager
Visual Studio 2010 and .NET Framework 4 Training Workshop
Introduction to C# AKEEL AHMED.
Programming in C# CHAPTER 1
Tech·Ed North America /18/2018 5:14 PM
Pumping Iron on the web IronRuby IronPython by Jimmy Schementi
Catching up on Rich Clients (round 2)
Polymorphism Polymorphism
Python Print “Hello, World!”.
class PrintOnetoTen { public static void main(String args[]) {
Presentation transcript:

Введение в DLR UNETA 16 апреля, 2010 Иван Колодяжный, Software Developer Teamdev Ltd.

Contents Что такое DLR? o Expression Trees o Call Site Caching o Dynamic Object Interop Как я могу это использовать? o COM o Plugins o Dynamic languages

Что такое DLR: история и релизы Анонсирована на MIX'07 Релизы: o Ноябрь beta o Декабрь stable o Май stable o Октябрь stable o Апрель NET 4.0 release Последний коммит на codeplex - апрель 2010 Начиная с версии поддерживается Mono

Что такое DLR?

+/- DLR + поддержки динамических языков + легко создавать макросы и плагины + Runtime binding +/-производительность - нет intellisense

Expression trees Abstract syntax tree (AST)Поддержка динамических яхыковКодогенерация для CLR runtime

Call Site Caching Информация о вызовах динамических методовИстория вызовор методов для быстрого выполнения

Dynamic Object Interoperability Набор классов для создания динамических объектовКлассы могут быть использованы DLR и CLR

DynamicObject class System.Dynamic.DynamicObject - Provides a base class for specifying dynamic behavior at run time. This class must be inherited from; you cannot instantiate it directly. (MSDN)

Класс DynamicObject public class DynamicObject : IDynamicMetaObjectProvider { public virtual bool TryGetMember(GetMemberBinder binder, out object result); public virtual bool TryInvoke(InvokeBinder binder, object[] args, out object result); public virtual bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result); public virtual bool TrySetMember(SetMemberBinder binder, object value);... }

COM Interop До: using Word = Microsoft.Office.Interop.Word; namespace COMInterop { class Program { static void Main(string[] args) { Word.Application wordApplication = new Word.Application() { Visible = true }; object miss = System.Reflection.Missing.Value; object ro = true; object fileName wordApplication.Documents.Open(ref fileName, ref miss, ref ro, ref miss, ref miss, ref miss, ref miss, ref, miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref mis,ref miss); }

COM Interop После: using Word = Microsoft.Office.Interop.Word; namespace COMInterop { class Program { static void Main(string[] args) { Word.Application wordApplication = new Word.Application() {Visible = true}; ReadOnly: true); }

Работа с JSON Более легкая коммуникация между клиентским и серверным кодом Более простая работа с JSON Работа с DOM-элементами, как с.NET классами

Диначические языки IronPython IronRuby IronLisp IronJS … Вы можете создать свой "The DLR is the Language of Languages" (c) Kevin Hazzard

Iron Python Разрабатывается Microsoft Community постоянно растет Open source Не полная поддержка Cpython Некоторые популярные проекты уже портированы на IronPython (Django, Trac)

Ссылки NETre4pt0.aspxcodeproject.com/K 67.aspx

Вопросы