Le langage C# créé par Microsoft dans le but d'interagir avec sa plateforme .Net et par la même occasion de concurrencer Java et son kit de dévloppement, est devenu un standard approuvé par les spécifications ECMA-334 (CLS) et ECMA-335 (CLI) de l'association européenne ECMA (European Computer Manufacturer's Association) en décembre 2001.

Le langage C# permet de développer des applications Windows et Web en se basant sur l'architecture .NET.

Ce langage a été conçu dans le but d'être indépendant de la plate-forme et de l'environnement d'exécution. Normalement, le compilateur C# devrait pouvoir fonctionner partout où les types et fonctionnalités spécifiés dans l'ECMA-334 sont correctement prises en charge par l'environnement d'exécution.

Actuellement, l'environnement d'exécution du langage commun (CLR : Common Language Runtime) de la technologie .NET est évidemment, le domaine de prédilection du langage C#.

Le mécanisme de traitement du code source écrit en C# par la plateforme Microsoft.NET, produit lors de la phase de compilation, un code binaire particulier dénommé MSIL (MicroSoft Intermediate Language), lequel sera interprété ensuite par le CLR chargé de la transformation en instructions exécutable par la machine.

La technologie .NET met également à la disposition du programmeur de nombreuses classes du .NET Framework, comprenant une pléthore de méthodes et propriétés exploitables dans des programmes C#.

Le langage C# est une savante combinaison des langages C, C++ et Java en expurgeant la plupart des sources d'erreurs et en améliorant certaines fonctionnalités.

La gestion de la mémoire par l'utilisation des pointeurs a été maintenue tout en veillant à y intégrer un dispositif d'appel explicite par l'utilisation de mot-clés spécifiques.

Le concept d'héritage multiple dans la programmation orientée objet a été abandonné au profit de l'utilisation d'interfaces.

Le langage C# permet une programmation orientée objet simple et moderne. Dérivé des langages de programmation C et C++, C# semblera familier aux habitués du développement en C, C++ et Java et ne devrait être sans aucun doute, pas plus diffcile à apprendre pour les autres.

Effectivement, le langage C# ne comporte que 77 mots-clés. De plus, la programmation en C# se révèle intuitive, familière et moins verbeuse produisant du code se démarquant par sa lisibilité et sa concision.