• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
545
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • The main points are that the CLR engine is the same version (so no need to retest your apps) and that the headline feature is the language enhancements (C#3 & VB9 compilers) and LINQ.
  • The main points are that the CLR engine is the same version (so no need to retest your apps) and that the headline feature is the language enhancements (C#3 & VB9 compilers) and LINQ.
  • VB = longer history (up to 9.0)Refer to huge transition from 6.0 to .NET which implied the creation of a runtime library for bw compat: play the rules of the CLS (OO for example) and remain consistent with VB pre-.NETVB 8.0 = GenericsVB 9.0 = LINQ + XML (difference with C#)
  • Similar story as in C# 3.0 except for XML integration; emphasize that language evolutuon doesn’t mean that languages have to go hand in hand on any field.
  • Similar story as with C# 3.0 but abbrev’d.
  • Réf : http://www.dotnetguru.org/articles/dossiers/generics/CS2_Generics_FR2.htm

Transcript

  • 1. Visual Basic 9.0 – Visual Studio 2008Quoi de neuf ?
    Pascal Belaud
    Développeur Evangeliste
    Pascal.Belaud@microsoft.com
    http://blogs.msdn.com/pascal/
    Microsoft France
    Grégory RENARD
    CTO – MVP – RegionalDirector
    gregory@wygwam.com
    http://blogs.developpeur.org/redo
    Wygwam
  • 2. Agenda de la session
    Rappel
    Evolutions du .NET Fx et de son IDE
    Vue d'ensemble des innovations de VB 9.0
    Historique de Visual Basic
    Objectifs de conception de VB 9.0
    Innovations de VB 9.0
    Parcours de nouveautés du langage VB 9.0
    Rappel des nouveautés de VB 8.0
    Nouveautés de VB 9.0
  • 3.
  • 4. Rappel
    Evolutions du .NET Fx et de son IDE
  • 5. De 2002 à 2008
    Source : http://www.danielmoth.com/Blog/2007/06/visual-studio-2008-stack.html
  • 6. De 2002 à 2008
  • 7. Visual Basic 9.0
    Vue d’ensemble des innovations
  • 8. Visual Basic, son Historique !
  • 9. VB 9.0, objectifs de conception !
    Intégration forte de :
    L’objet
    Des données relationnelles
    Du XML
    … Linq, query expressions, support du xml …
    Ameliorations du langage
    Sur les tâches courantes : déclaration simplifiée d’objets, délégués non stricts, Inférence de type, …
    Ajout de nouvellesfonctionnalités
    Lambda expressions
    Méthodesd’extensions

  • 10. VB 9.0, ses Innovations !
    Query expressions
    Dim contacts =
    From c In customers
    Where c.State= "WA"
    Select New With { Name = c.Name, _ Phone = c.Phone }
    Types ValeurNullable
    Arbresd’expressions
    Types implicites
    Support de l’XML
    Expressions Lambda
    Dim contacts =
    customers _
    .Where(Function(c) c.State = "WA") _
    .Select(Function(c) New With { Name = c.Name, _ Phone = c.Phone })
    MéthodesPartielles
    Méthodesd’extension
    Types anonymes
    Initialisationd’objets
  • 11. Visual Basic 9.0
    Des nouveautés de VB 8.0 à VB 9.0…
  • 12. Rappel sur VB 8.0
    Générics
    Suppression du boxing/unboxing
    Suppression du Casting implicite
    Gestion de l’erreur lors de la compilation
    Meilleure lisibilité du code
    Meilleures performances
    Classes Partielles
    Définition d’une classe sur plusieurs fichiers
    Utilité dans la génération de code
    Exploité par les Winforms et Webforms
  • 13. Mais aussi …
    My
    Surcharge des opérateurs
    IsNot
    Using
    Types Entiers non signés
    Etat continue
  • 14. Démos
    • Inférence de Type
    • 15. Initialisation d’objets simplifiée
    • 16. Types Anonymes
    • 17. Méthodes d’Extension
    • 18. Délégués non Stricts
    • 19. Types Valeur Nullables
    • 20. Expressions Lambda
    • 21. Support XML
    • 22. Méthodes Partielles
  • Inférence de Type
    Déduction du type de sortie d'une fonction paranalyse des types fournis en entrées ainsi que des opérations effectuées sur ceux-ci
    Option Infer On (valeur par défaut)
    Dim « maVar » = « maValeur »
    Fortement Typé, directement initialisée
    http://blogs.developpeur.org/redo/archive/2008/01/27/nouveaut-s-vb-2008-vb-9-0-l-inf-rence-de-type.aspx
  • 23. Initialisation d’objets simplifiée
    Syntaxesimplifiée
    Mot clé “ With ”
    Initialisation d’objet avec un type nullable engendrera un compile time error !
    http://blogs.developpeur.org/redo/archive/2008/01/28/nouveaut-s-vb-2008-vb-9-0-initialisation-d-objets-simplifi-e.aspx
  • 24. Types Anonymes
    Création d’objets sans écrire de définition de classe pour le type de données
    le compilateur se charge de générer une classe
    Repose sur
    l’initialisation d’objets
    inférence de Types
    IntelliSense© disponible
    Exploitée dans les projections de LINQ (Select)
    http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
  • 25. Types Anonymes : « Key »
    Le mot clé Key vous permet de spécifier le comportement des propriétés des types anonymes.
    Les propriétés « Key » participent aux tests d'égalité et aux calculs de valeurs de code de hachage.
    Les valeurs des propriétés de clé ne peuvent pas être modifiées
    http://blogs.developpeur.org/redo/archive/2008/01/29/nouveaut-s-vb-2008-vb-9-0-types-anonymes.aspx
  • 26. Méthodes d’Extension
    Permettent l’ajout de fonctionnalité personnalisées aux types de données déjà définis sans créer de type dérivé
    Permet d’étendre
    Les Types du .NET Framework
    Vos propres Types
    Uniquement : Sub ou Function
    Doit être marqué de <Extension()>
    System.Runtime.CompilerServices
    http://blogs.developpeur.org/redo/archive/2008/01/30/nouveaut-s-vb-2008-vb-9-0-les-m-thodes-d-extension.aspx
  • 27. Conversion simplifiée des déléguées
    Permet d'assigner des méthodes (subs, fonctions) aux délégués ou aux gestionnaires lorsque les signatures (paramètres) ne sont pas identiques
    Encore appelé :
    Délégués Non Stricts
    RelaxedDelegates
    Vraie relaxation : les paramètres ne sont pas obligatoires, vous pouvez ne pas les utiliser !
    http://blogs.developpeur.org/redo/archive/2008/01/31/nouveaute-vb-2008-vb-9-0-conversion-simplifiee-des-delegues-non-stricts-relaxed-delegates.aspx
  • 28. Types Valeur Nullables
    Types Valeur peuvent être étendus afin d'accepter une valeur normale ou une valeur « Null »
    Syntaxe : « T? »
    Uniquement pour les Types Valeur
    HasValue / Value
    Lèveuneexception Nothing”
    http://blogs.developpeur.org/redo/archive/2008/02/01/nouveaut-s-vb-2008-vb-9-0-types-valeur-nullables.aspx
  • 29. Expressions Lambda
    Une fonction ne possédant pas de nom permettant de calculer et retourner une valeur unique.
    Lambda opérateur « Function »
    Se lit « Function(myNum As Integer) conduit à myNum + 1 »
    Utilisable chaque fois qu'un type délégué est valide.
    Simplifications les entêtes d'une méthode anonyme
    Fonction dans une expression récupérant le pointeur vers cette fonction (Possibilité de récupérer un arbre d’expression)
    http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
  • 30. Support étendu d’XML (1/3)
    Visual Basic, au travers de LINQ to XML, permet un support étendu de l'XML grâce aux Littéraux XML et aux Propriétés d’Axes XML
    Littéraux XML
    d'incorporer directement du XML à votre code VB
    Objets LINQ to XML
    Namespace : «System.Xml.Linq»
    Similaire à la syntaxe XML 1.0 mais pas identique
    Expressions Littérales XML 
    http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
  • 31. Support étendu d’XML (2/3)
    Propriétés d'Axe XML :
    permettant d'accéder aux structures LINQ to XML et les parcourir. 
    Permet d'accéder aux nœuds enfants, nœuds descendants et attributs d'un littéral XML
    Types d’Axes :
    axe enfant :  xml.<phone>
    axe d'attribut : xml.@NomAttribut
    axe descendant : xml...<NomElement>
    indexeur d'extension : xml...<NomElement>(0)
    valeur : xml...<NomElement>.Value
  • 32. Support étendu d’XML (3/3)
    Gestion des Espaces de Noms XML :
    Spécifier un "Alias" afin d'identifier un espace de noms XML
    Permet d'accéder :
    aux nœuds enfants,
    nœuds descendants,
    attributs d'un littéral XML
  • 33. Arbres d’expression (1/3)
    Représente une expression sous forme d’arbre
    AST : Abstract SyntaxTree
    ASG : Abstract Semantic Graph
    Un arbre syntaxique est la représentation en mémoire d'un ensemble d'éléments de notre langage
    res = n * (n - 1);
    Sources : http://www.dotnetguru.org/articles/dossiers/creercompilo/compilateurdnet2.htm
  • 34. Arbres d’expression (2/3)
    Traduction des expressions lambda :
    Code IL
    Abres d’expression (= code as data)
    Peut être analysé au Runtime
    Utilisé dans les LINQ query providers (LINQ to SQL)
    Dim sq As Func(Of Integer, Integer) = Function(i) i * iDim four = sq (2)Dim e As Expression(Of Func(Of Integer, Integer)) _ = Function(i) i * i
    λ
    *
    i
    i
    i
  • 35. Arbres d’expression (3/3)
    Une expression représente l’arbre d’objets qui représente l’expression passée en argument
  • 36. Autres améliorations VB v 9.0
    Friend assemblies
    Attribut “VisibleTo”
    Agilité du Runtime
    Compile sans Microsoft.VisualBasic.dll
    Origine de CF et Silverlight
    Nouveau /vbruntime switch
    Inférence de types générics améliorés
  • 37. Vos questions ?
    http://blogs.developpeur.org/redo/archive/2008/02/04/nouveaut-s-vb-2008-vb-9-0-expressions-lambda.aspx
  • 38. Resources
    Visual Basic Dev Center & Content:
    http://msdn.com/vbasic/
    VB Team Blog
    http://blogs.msdn.com/vbteam/
    Refactor! for Visual Basic & Web developers
    http://msdn2.microsoft.com/en-us/vbasic/ms789083.aspx
    Nous contacter :
    Pascal.belaud@microsoft.com
    Gregory@wygwam.com
  • 39. L’engagement Microsoft
    pour les développeurs:
    msdn.microsoft.com
    La référence technique
    pour les IT Pros :
    technet.microsoft.com
    Visual Studio 2008 +
    Abonnement MSDN Premium
    Abonnement TechNet Plus :
    Versions d’éval + 2 incidents support
    S’informer- Un portail d’informations, des événements, une newsletter bimensuelle personnalisée
    Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs
    Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique
  • 40. Votre potentiel, notre passion TM
    © 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.