01net Pro Entreprise informatique
01net. web avec Google
Actualités gestion et logiciel informatique professionnel
Offre et recherche Emploi informatique internet
Salon conférences inofrmatique IT ebusiness 01
Informatique et TIC pour les PME TPE
Vidéos reportage entreprise acteur informatique
Retrouvez tous les services 01Net dédiés aux professionnels !
Télécharger logiciels Pro et progiciels
Livres blancs e-commerce informatique et nouvelles technologies
Retrouvez l'ensemble des dossiers de la rédaction 01net Entreprise
Les synthèses des bonnes pratiques sur les sujets IT du moment
Agenda
Applications web et logiciels
Développement
FAI-Télécoms
Marché
Matériel
Sécurité
SSII
Système d'exploitation
[ DÉVELOPPEMENT ]
Linq, l'esperanto de la programmation selon Microsoft
L'éditeur proposera un pont entre les langages de développement tels que C# et Visual Basic et les langages de requête comme SQL.

Frédéric Bordage , 01 Informatique (n° 1829), le 30/09/2005 à 10h00

« Les développeurs rêvent tous d'un seul langage de programmation, intégrant les dimensions objet, relationnel et XML au sein d'une API et d'une syntaxe homogène. Nous l'avons réalisé avec Linq (Language Integrated Query) », explique Anders Hejlsberg, à l'origine de ce projet chez Microsoft.

« Aujourd'hui, les développeurs sont des plombiers » , poursuit celui qui est considéré comme le père de .Net. En plus de leur langage de programmation habituel - Visual Basic, C#, PHP, Java... -, ils doivent utiliser le langage SQL pour interroger une base de données, XPath pour manipuler un document XML, etc. Aucun développeur ne maîtrisant parfaitement SQL et XPath avant des années de pratique, cette multiplication de syntaxes se traduit par une perte de productivité et des problèmes de performance, voire de stabilité des applications.

Linq revêt la forme d'une bibliothèque de fonctions, qui étend l'API du framework .Net pour que les développeurs manipulent les objets .Net, les données SQL et XML avec un seul jeu d'instructions unifiées. Plus besoin de jongler entre C#, SQL et XPath. Pour l'instant, seuls C# et Visual Basic sont supportés. Mais, à terme, les 23 langages de .Net le seront.

Trois API spécialisés

Microsoft a créé trois API différentes utilisant Linq : Standard Query Operators (SQO), DLinq, et XLinq. « SQO comporte toutes les fonctions, opérateurs et types de base pour manipuler les objets .Net en mémoire » , résume Paul Vick, responsable de Visual Basic .Net chez Microsoft, et qui travaille en collaboration avec Anders Hejlsberg.

L'interrogation des bases de données relationnelles est assurée par le sous-ensemble DLinq. Il se charge du mapping relationnel-objet et remplace le projet Objectspaces, abandonné.

« Objectspaces était un outil de mapping objet-relationnel traditionnel fortement intégré à ADO.Net. DLinq propose, lui, une démarche très novatrice, qui touche à la structure même des langages. DLinq offrira une productivité supérieure » , précise Alain Le Hégarat, responsable marketing plate-forme chez Microsoft France. L'intégration transparente au langage, la réduction des API, de même qu'un mapping largement simplifié sont des améliorations significatives.

Pour sa part, XLinq s'appuie sur les travaux menés par Microsoft Research, et connus sous les noms de code Cw (C Omega) et X#. « C'est le remplaçant de l'implémentation actuelle du DOM XML (modèle objet du format XML). Mais c'est également l'élément d'intégration du langage Linq dans ce modèle objet représenté par le namespace System.Xml », souligne Sébastien Ros, le directeur technique d'Evaluant, un éditeur français spécialisé dans les outils de mapping objet-relationnel.

Microsoft n'a pas encore annoncé officiellement de date de sortie pour cette technologie. Mais « Linq sera disponible sur les futures versions de Visual Studio, C# 3.0, et Visual Basic 9.0 » , indique Alain le Hégarat.

Ce qu'ils en pensent
Sami Jaber, architecte chez Valtech et fondateur de la communauté Dotnetguru.org

« Une technologie ouverte. L'intégration d'un moteur de requête objet au coeur d'un langage de programmation est une grande nouveauté d'un point de vue technique. Même si Linq est un énième langage de requête propriétaire. Comme Microsoft a bien séparé le concept de moteur de requête de son implémentation, il laisse la voie ouverte à des implémentations tierces.

N'importe quel éditeur - d'outils de mapping objet-relationnel, notamment - peut proposer sa propre implémentation ou des outils complémentaires. Nous allons donc voir apparaître des centaines de projets concurrents et complémentaires de XLinq et DLinq. »

Sébastien Ros, directeur technique de l'éditeur d'outil de mapping objet-relationnel Evaluant

« La requête est vérifiée à la compilation. C'est là le principal atout de Linq. Auparavant, les requêtes étaient exprimées à l'aide de simples chaînes de caractères. Les erreurs n'étaient détectées que lorsque l'application était exécutée. Désormais, c'est lors de la compilation que les erreurs sont repérées. Ce qui augmente grandement la productivité des développeurs et la qualité des applications. Un bémol, toutefois : DLinq, le remplaçant d'Objectspaces, est, pour l'instant, très limité. Cette technologie ne supporte que SQL Server 2005, elle n'intègre pas de gestion de cache et ne gère pas les relations "many to many". »



BOOSTEZ VOTRE PC !
Scan gratuit pour détecter les fichiers corrompus qui ralentissent votre PC

SUIVEZ 01net ENTREPRISES

articles les plus lus
Office Mac Famille et Petite Entreprise 2011
Retrouvez la suite bureautique Microsoft sur Mac.

Espace Emploi

Recherche express

Service 01net
Newsletters 01net
abonnez vous gratuitement !
01net Entreprises
Voir le dernier numéro
01netEntreprises.Emploi
Voir le dernier numéro