Croix-Rouge Française Aidez.org Hit-Parade des sites francophones
Aidez.org

Le langage C# (C Sharp) a été conçu par Microsoft dans l'optique d'accompagner sa plateforme .Net. Le Framework.Net est un ensemble de bibliothèques de classes associé à un environnement d'exécution à l'instar du Java Devlopment Kit (JDK) de Sun Microsystems. D'ailleurs, C# n'est pas le seul langage capable d'exploiter l'environnement de développement .Net. A cet effet, CLS (Common Language Specification) définit des caractéristiques et des fonctionnalités communes offrant les moyens à chaque langage d'acquérir une interopérabilité avec la plateforme .Net. Ainsi, C++, Visual Basic, JScript, Python, PHP, Java, etc. sont aussi capables de tirer parti du Framework.Net.

La variété de langage supportant le développement d'application .Net démontre que ce dernier peut aussi bien permettre d'élaborer des applications logiciels qu'Internet. Visual Studio.Net demeure l'outil indispensable pour parfaitement prendre en charge le développement d'applications C#.Net. Il existe différentes versions payantes et libre de cet environnement de développment intégré (EDI). La version libre de cet EDI (Visual Studio Express) est certes limitée pour du développement amateur, mais permet d'appréhender ce langage avec le maximum d'efficacité. Pour une utilisation professionnelle, il faudra opter pour une des versions commercialisables (Source Safe, Standard, Professionnel ou Team System)

D'autres outils d'exécution et de développement existent notamment dans le monde libre. Mono parrainé par Novell et DotGNU Portable.Net constituent une alternative au Framework.Net sur des sytèmes d'exploitation Linux, NetBSD, FreeBSD, Solaris, ou encore MacOS X, et y compris d'ailleurs sur ceux de Microsoft. Les spécifications Shared Source CLI (Common Language Infrastructure) résultent d'une standardisation de la plateforme .Net par un organisme international appelé EMAC (European Computer Manufacturers Association). Cette ouverture de Microsoft a donc permis à d'autres acteurs informatiques de créer leur propre implémentation de la plateforme .Net de Microsoft, telles que celles précitées. En outre, l'EDI Eclipse peut accueillir un plug-in de Improve Technologies. Egalement, plus efficacement en ce qui concerne le développement visuel WinForm, Turbo C# éditéé par Borland en deux versions Explorer (gratuite) et Professional (payante) sont à la disposition des développeurs C#. Le site developpez.com propose une liste plus exhaustive des outils dédiés à la programmation dotnet.

Le langage de programmation C# s'inspire assez largement de la syntaxe générale C/C++ comme les expressions et les instructions, et de certaines caractéristiques du langage Java comme la gestion automatique de la mémoire (Garbage Collector). CSharp est donc un langage orienté objet bénéficiant d'innovations censées le rendre plus sûr et convivial.

La compilation du code source C#, génère un langage intermediaire (MSIL : MicroSoft Intermediate Language) tout comme Java produit son fameux byte-code. Pour l'exécution de ce langage intermédiaire un environnement d'exécution multi-langages est utilisé. Cet environnement se dénomme : CLR (Common Language Runtime). Il intègre un moteur d'exécution, un défragmenteur de mémoire, un système de sécurité, un compilateur Just-In-Time (JIT : en temps utile) et une abondante architecture de classes.