Depuis près de vingt ans, le
C et le C++ sont les langages les plus utilisés pour le
développement de logiciels. La raison de ce succès
est principalement due à leurs possibilités proches
de la machine et au contrôle puissant et précis que
le programmeur peut avoir sur son code. Malheureusement cette
souplesse se fait au détriment de la vitesse de
développement.du fait de la complexité et des délais
liés à ces langages.
Beaucoup de développeurs
se sont alors tournés en 1994 vers le langage Java.
Celui-ci en plus d'une très grande simplicité,
proposait des innovations majeures, notamment une extensibilité
à l'infini ("Java est écrit en Java" ) et
des programmes portables ("write once, run every where").
Il suffit en effet de compiler un source de ce langage en un
fichier appelé "byte-code" et celui-ci pourra
être lu par n'importe quel OS possédant un
interpréteur Java (ou "machine virtuelle Java"),
c'est à dire un programme capable de lire du
"byte-code".
En outre le Java est extrêmement
sécurisé : Il est ainsi impossible de compiler un
programme comportant des erreurs, d'écrire en dehors des
limites d'un tableau, et (cerise sur le gâteau), il évite
les fuites de mémoire grâce au "Garbage
Collector" (ramasseur de déchets) qui restitue la
mémoire de tous les objets dont la vie est
terminée.
Malheureusement le Java (principalement à
cause de son mode de compilation) s'avère plus lent que
d'autres langages objets comme le C++. Ses détracteurs lui
reproche de ne pas permettre l'héritage multiple, et de ne
pas avoir un accès à l'adressage mémoire.
Brian Kernighan, Bjarne Stroustrup et James
Gosling les auteurs respectifs du C, C++ et Java.
Beaucoup
de programmeurs se sont mis en quête d'un langage offrant un
meilleur équilibre entre puissance et souplesse. Une
solution idéale allierait à la rapidité du
développement du Java, sa simplicité, sa conception
objet et sa sécurité avec la puissance et le
contrôle du C et du C++. Le tout avec un accès à
toutes les fonctionnalités de la plate-forme pour laquelle
le programme est développé. Il faudrait enfin un
environnement de programmation en synchronisation totale avec les
normes Web émergeantes, permettant une intégration
aisée avec les applications existantes.
C'est là,
la définition du C# (prononcer "C Sharp") le tout
nouveau langage de Microsoft destiné au Microsoft .NET
Framework.
Avec sa conception orientée objet élégante,
C# permet le développement de composants allant des objets
de haut niveau aux applications de niveau système. De même,
grâce à quelques constructions simples, C# permet de
convertir des composants en services Web qui pourront être
appelés sur Internet à partir de n'importe quel
langage s'exécutant sur n'importe quel système
d'exploitation.
Et surtout, C# est conçu pour apporter
la rapidité de développement au programmeur C++,
sans toutefois diminuer la puissance et le contrôle qui
caractérisent depuis toujours le C et le C++. Du fait de
cet héritage, C# reste très fidèle au C et
C++ sans pour autant s'éloigner du Java. Les développeurs
habitués à ces langages peuvent rapidement devenir
productifs en C#.
|