22/08/00
C#
de Microsoft supplantera-t-il Java dans le coeur des développeurs
?
Dans
la lignée de sa stratégie .Net, l'éditeur
de Redmond a présenté récemment sa
nouvelle interface de développement intégrée
destinée à faciliter le développement
d'applications sur plate-formes Windows et dans différents
environnements. L'objectif de cette nouvelle mouture de Visual
Studio, rebaptisée Visual Studio.Net, est de fournir
un kit d'outils de développement permettant de déployer
rapidement des services Web au sein d'applications e-business
(par exemple un service de conversion de devises pour des
applications de banque en ligne ou de commerce). Parmi les
innovations majeures de cette refonte, le
nouveau langage C# ( prononcer si-sharp) est porté
sur le devant de la scène.
Selon la société, cette nouvelle syntaxe se
veut une solution dérivée du langage C ou C++
"combinant flexibilité et puissance d'accès à
la totalité des fonctions de la plate-forme de base."
C# est un langage orienté objet permettant de construire une
gamme de composants, depuis les objets métiers aux applications
système. Celui-ci repose sur un ensemble de services applicatifs
et de bibliothèques de fonctions prêtes à
l'emploi. Baptisé Common Language Runtime (CLR), ce
set simplifiera "toute l'artillerie" nécessaire
aux interactions avec un système d'exploitation. En
environnement Windows 2000, ce système évite
de coder le comptage des références ou les inscriptions
dans la base de registres. Lors de la compilation, C# génère
du pseudo-code étroitement dépendant de ces
bibliothèques de fonctions. Il est ensuite chargé
et associé aux bibliothèques par le CLR. Le
CLR dispose de compilateurs à la volée adaptés
au processeur. Mécanisme qui permettrait d'optimiser
la vitesse d'exécution des applications C#.
Le langage qui se veut universel pourrait le devenir grâce
à l'adaptation du CLR aux spécificités
des systèmes d'exploitation ou aux processeurs. Néanmoins,
pour le moment il est livré avec un CLR adapté
à l'API de Windows 2000, Win32. Une mise en oeuvre
pour Windows CE 3 devrait suivre.
Par ailleurs, le langage se base sur XML pour tous les appels
de fonction. Le CLR est donc capable d'interpréter
et de décrypter les documents appropriés. XML
est aussi utilisé pour les développements d'applications
distribuées (C# utilise SOAP: Simple Object Access
Protocol, le protocole qui fait communiquer différents
modèles de programmation, dont Corba et COM, capable
de véhiculer des fichiers XML sur http ou https).
Ainsi les différentes caractéristiques de ce
langage multiplates-formes rappellent celle de Java, notamment
par la syntaxe, l'aspect modulaire, et l'absence de pointeur
explicite. Pourtant, si le langage a le mérite de pallier
les défauts de Visual Basic, qui n'accédait
pas aux couches basses de Windows 2000, on ne sait pas à
quel point le CLR peut atteindre les couches basses de la
machine sur laquelle il s'exécute. Et donc dans quelle
mesure celui-ci dispose de toutes les fonctions de sécurité
propres à Java.
Par ailleurs imposer un nouveau langage de programmation à
l'heure où Java opère une pénétration
croissante dans les entreprises, semble une opération
difficile. La première étape consiste à
s'arroger le soutien de partenaires pour le développement
du CLR pour des plates-formes et des OS très divers
(informatique embarquée, Linux...). Dans cette optique,
l'éditeur s'engage dans une procédure de standardisation
de C# devant l'ECMA
(European Computer Manufacturers Association). La normalisation
portera sur le langage lui-même et sur le CLR. [Alexandra
Bissé, JD Net]
|