Présentation
En anglaisRÉSUMÉ
Le langage C# ou C sharp est le dernier né des langages de programmation orienté objet. Étroitement lié à la plate-forme .NET, il envahit peu à peu le milieu industriel. Ce langage moderne introduit quelques nouveautés parmi de nombreux langages orientés objets existant. Conçu par Anders Heljsberg, de Microsoft, C# est un langage de programmation à objets, qui combine des éléments provenant essentiellement de C/C++ et de Java.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
The C# language or C sharp is the last born of object-oriented programing languages. Closely lined to the .NET platform it gradually pervades the industrial environment. This modern language introduces a few novelties among the numerous existing object-oriented languages. Conceived by Anders Heljsberg from Microsoft, C# is an object programming language that combines elements from essentially C/C and Java.
Auteur(s)
-
Michel RIVEILL : Professeur à l’Université de Nice – Sophia Antipolis
-
Samuel WEIBEL : Ingénieur informatique chez Ascom SA (Suisse)
INTRODUCTION
Le langage C# (ou C sharp) est le dernier né des langages de programmation orienté objet. Étroitement lié à la plate-forme .NET, il envahit peu à peu le milieu industriel. Dans ce fascicule, nous abordons quelques-unes des principales facettes de ce langage moderne qui introduit quelques nouveautés parmi de nombreux langages orientés objets existant.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Nouveautés de la version 2.0
En octobre 2005, Microsoft a sorti la version 2.0 du .NET Framework. Cette version contient de nouveaux concepts qui facilitent le développement rapide d’applications et réduisent le nombre de lignes de code. Ainsi le code devient plus lisible.
La version 2.0 de C# a été publié en même temps que le .NET Framework 2.0 pour que le langage puisse utiliser plus aisément ces nouveaux concepts.
3.1 Généricité
En C++, les patrons génériques sont extrêmement utilisés et le fait qu’ils n’aient pas été implémentés sous C# a été un des reproches majeurs à sa sortie. Il est donc logique que la plus importante innovation dans C# 2.0 soit sûrement la généricité. Pour contourner l’absence de généricité, les programmeurs C# utilisaient des collections d’objets non typés et sollicitaient massivement l’usage coûteux du boxing/unboxing et du cast. L’introduction de la généricité devrait augmenter le typage statique et l’efficacité des programmes écrits.
La généricité peut par exemple être utilisée pour simplifier l’écriture des classes de collections afin qu’elles soient énumérables pour être intégrées dans une boucle « foreach ». Voici un exemple simple qui illustre les simplifications apportées. Écrivons par exemple une liste d’objets du type « Enfant » sans généricité à l’aide du type « ArrayList » :
ArrayList enfants = new ArrayList(2);
Enfant jean = new Enfant("Jean", 10);
Enfant corinne = new Enfant("Corinne", 8);
enfants.Add(jean);
enfants.Add(corinne);
Enfant premier = (Enfant) enfants[0];
Console.WriteLine("Le nom de mon premier enfant est {0}", premier.nom);
Dans l’avant dernière ligne, le premier élément de « enfants » est converti explicitement en Enfant à l’aide d’un cast qui nécessite à l’exécution une vérification de type. Avec les types génériques, le développeur peut éviter cette conversion s’il est sûr que dans la variable « enfants » il ne peut y avoir que des objets du type Enfant. Voici le même exemple avec les types génériques :
List<Enfant> enfants = new List<Enfant>(2);
Enfant...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Nouveautés de la version 2.0
BIBLIOGRAPHIE
-
(1) - PERROT (J.-F.) - Langages à objets - , Langages à objets. Techniques de l’Ingénieur (1995).
-
(2) - SERRANO (M.) - Langage C++ - , Langage C++. Techniques de l’Ingénieur (2003).
-
(3) - BELLOT (P.), MATIACHOFF (C.) - Langage Java - , Langage Java]. Techniques de l’Ingénieur (1998).
-
(4) - EMSELLEM (D.), RIVEILL (M.) - Plate-forme.NET - , Plate-forme .NET. Techniques de l’Ingénieur (2006).
-
(5) - SCEPPA (D.) - Manuel de référence ADO.NET - . Microsoft Press, ISBN 2.10.006523.8 (2002).
-
(6) - REILLY (D. J.) - Manuel de référence ASP.NET - . Microsoft Press, ISBN 2.10.006472.X (2002).
-
...
ANNEXES
ISO/IEC 23270:2006 Technologies de l’information. Langages de programmation C# (disponible en anglais seulement).
ISO/IEC 23271:2006 Technologies de l’information. Infrastructure commune de langage (ICL). Partitions I à VI (disponible en anglais seulement).
HAUT DE PAGE
http://www.w3c.org (service web, WSDL, SOAP, XML, HTTP)
SOAP : http://www.w3.org/TR/soap/
XML : http://www.w3.org/TR/xml
HTTP : http://www.w3.org/Protocols
HAUT DE PAGE2.1 Chez l’éditeur (Microscoft)
...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive