Les Langages > C#
Description du langage
Le C# est un langage de programmation orienté objet à typage fort, créé par la société Microsoft, et notamment un de ses employés, Anders Hejlsberg, le créateur du langage Delphi.
Il a été créé afin que la plate-forme Microsoft .NET soit dotée d’un langage permettant d’utiliser toutes ses capacités. Il est très proche du Java dont il reprend la syntaxe générale ainsi que les concepts (la syntaxe reste cependant relativement semblable à celles de langages tels que le C++ et le C). Un ajout notable à Java est la possibilité de surcharge des opérateurs, inspirée du C++. Toutefois, l’implémentation de la redéfinition est plus proche de celle du Pascal Objet.
Tout comme pour les programmes écrits en Java, ce langage dépend d’une plate-forme d’exécution :
- La plate-forme Microsoft .NET (possibilité de mixage avec des modules d’autres langages)
- Des implémentations libres de ce langage et de sa plate-forme d’exécution sont en cours de finalisation, comme le projet Mono maintenu par Novell, ou dotGNU maintenu par la Free Software Foundation. L’idée fondatrice de ces projets est qu’une application en C# puisse s’exécuter sans modification sur une plate-forme propriétaire comme Windows ou libre comme Linux.
Les bibliothèques concernées
Conclusion
Nous pouvons retenir de cette section que nous avons ici un langage émergent qui vient en concurrence directe face au Java puisqu’au travers du projet Mono, il semblerait que les exécutables générés soient utilisables de façon similaire quelque soit la plate-forme. Cependant, il faut tout de même se méfier étant donné que ce langage est défini par Microsoft pour le développement de logiciel pour Windows uniquement et par conséquent, un programme exploitant des fonctionnalités trop récentes est tout à fait susceptible de ne pas fonctionner sur d’autres environnements. Par ailleurs, contrairement au Java, la gestion des interfaces graphiques est nettement moins homogène tout simplement parce que cet environnement a été prévu à la base pour simplifier la programmation d’interfaces sous Windows.