Présentation
Cette spécification est basée sur une soumission de Hewlett-Packard, Intel et Microsoft, qui a décrit un langage appelé C#, qui a été développé au sein de Microsoft. Les principaux inventeurs de cette langue étaient Anders Hejlsberg, Scott Wiltamuth et Peter Golde. La première implémentation largement distribuée de C# a été publiée par Microsoft en juillet 2000, dans le cadre de son initiative .NET Framework.
Le Comité technique Ecma 39 (TC39) [plus tard renommé tc49] groupe de tâches 2 (TG2) a été formé en septembre 2000 pour produire une norme pour C#. Un autre groupe de tâches, TG3, a également été formé à ce moment-là pour produire une norme pour un environnement de bibliothèque et d’exécution appelé Common Language Infrastructure (CLI). (L’interface CLI est basée sur un sous-ensemble du .NET Framework.) Bien que l’implémentation de Microsoft en C# s’appuie sur l’interface CLI pour la prise en charge de la bibliothèque et de l’exécution, d’autres implémentations de C# n’ont pas besoin, à condition qu’elles prennent en charge les fonctionnalités et l’API requises par cette norme C# (voir l’annexe C).
À mesure que la définition de C# a évolué, les objectifs utilisés dans sa conception étaient les suivants :
- C# est destiné à être un langage de programmation simple, moderne, universel et orienté objet.
- Le langage et les implémentations de celui-ci doivent prendre en charge les principes d’ingénierie logicielle tels que la vérification de type forte, la vérification des limites de tableau, la détection des tentatives d’utilisation de variables non initialisées et le garbage collection automatique. La robustesse logicielle, la durabilité et la productivité du programmeur sont importantes.
- Le langage est destiné à être utilisé dans le développement de composants logiciels adaptés au déploiement dans des environnements distribués.
- La portabilité du code source est très importante, car il s’agit de la portabilité du programmeur, en particulier pour les programmeurs déjà familiarisés avec C et C++.
- Le soutien à l’internationalisation est très important.
- C# est destiné à être adapté à l’écriture d’applications pour les systèmes hébergés et incorporés, allant du très grand qui utilise des systèmes d’exploitation sophistiqués, jusqu’à la très petite ayant des fonctions dédiées.
- Bien que les applications C# soient destinées à être économiques en ce qui concerne les exigences de puissance de mémoire et de traitement, le langage n’a pas été destiné à concurrencer directement les performances et la taille avec le langage C ou assembly.
Le nom C# est prononcé « C Sharp ».
Le nom C# est écrit en tant que LETTRE MAJUSCULE LATINE C (U+0043) suivi du NOMBRE SIGNE # (U+0023).
ECMA C# draft specification