Présentation
EnglishRÉ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’articleAuteur(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
(240 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
6. Quelques éléments de performances
L’évaluation d’un langage est quelque chose de complexe d’autant plus que les performances dépendent beaucoup plus des bibliothèques utilisées et de la machine virtuelle que du langage lui-même. Ce court paragraphe ne se donne pas comme ambition d’évaluer toutes les caractéristiques, mais de donner quelques éléments de référence. Une étude publiée dans www.gotdotnet.com à propos de l’application PetStore qui servait d’exemple à la plate-forme J2EE titrait : « .NET, 10 fois plus rapide que J2EE ». N’ayant pas les capacités pour reproduire sur une autre application significative cette étude nous avons dans un premier temps mesuré le coût des appels de méthodes.
La figure 6 donne quelques valeurs comparatives entre un appel de méthode local en Java et en .NET, puis entre un appel distant entre Java RMI et .NET Remoting, la taille des paquets d’appels évoluant.
Attention, il s’agit d’une échelle logarithmique (cf. figure 6). Nous n’arrivons pas à expliquer les différentes discontinuités présentes dans les mesures .NET en local.
Voici un autre élément complémentaire. L’ensemble des résultats, y compris avec les principaux fichiers sources, est disponible à l’adresse : http://www.dotnetguru.org/articles/Comparatifs/benchJ2EEDotNET/J2EEvsNETBench.html.
L’application utilisée pour ce test est simpliste par ses fonctionnalités, mais permet de mesurer le temps de démarrage d’initialisation de la partie graphique d’un client lourd. Elle consiste à charger un formulaire permettant d’enregistrer un utilisateur, photos comprises, dans une base. Sans équivoque, la version C# avec Winforms sous Windows a été nettement plus rapide que la version Java avec Swing et la JVM de Sun sous Windows (figure 7).
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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
Quelques éléments de performances
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
(240 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