« Programmation .NET » : différence entre les versions

Contenu supprimé Contenu ajouté
Sommaire
Ligne 1 :
{{ébauche}}
* [[{{Programmation C sharp|C# .Net]],}}
{| width="70%" border="0" cellspacing="0" cellpadding="5"
|-
| bgcolor="#E0E0F0" align="center" colspan="2" |
{| width="100%" bgcolor="#E0E0F0"
|-
| bgcolor="#E0E0F0" valign="middle" width="90%" align="center" | <font size="+1">Programmation .Net </font>
 
''Un livre appartenant à la série [[Programmation]] du [[Département informatique/Bibliothèque|Département informatique]]<br/>
.Net (point Net / ''dot Net'') est le nom de la nouvelle plateforme de développement de [[w:Microsoft|Microsoft]]. Les applications développées pour cette plateforme sont indépendantes :
et à l'[[Accueil/Informatique|étagère Informatique]] de [[Accueil|Wikilivres]]''.
*du système d'exploitation et de l'architecture matérielle sur laquelle elles sont lancées. Cependant il faut une implémentation du CLR (''Common Language Runtime'') pour cette configuration,
*du langage de programmation utilisé. En effet, quel que soit le langage de programmation utilisé, le code source de l'application est compilé en langage intermédiaire appelé MSIL (''MicroSoft Intermediate Language''), CIL (''Common Intermediate Language'') ou en abrégé IL (''Intermediate Language'').
 
|-
== Fonctionnement ==
|}
Dans la phase de développement, le code source de l'application dans un [[#Langages de programmation|langage de programmation .Net]] est compilé en instructions IL. Ce code est appelé Code géré (''Managed code'' en anglais). Ce code est associé à un manifeste contenant des informations sur l'application et ses classes. Ces deux composants constitue un ''assembly''.
|- bgcolor="lightyellow" valign="top" colspan="2"
 
| {{Sous section|nom=Programmation .Net/Sommaire|couleur=#E0E0F0|couleurbord=darkblue|couleurfond=white}}
Lors du lancement d'une application .Net, le CLR (''Common Language Runtime'') gère l'exécution de l'application :
|-
*Le chargeur charge les classes lorsque celles-ci sont référencées, et alloue l'espace nécessaire à la réprésentation mémoire de la classes et ses membres,
| colspan="2" align="center" |
*Le compilateur « juste à temps » (''Just-In-Time compiler'' en anglais, ou ''JIT compiler'') compile chaque méthode appelée en code natif, et le place dans le cache mémoire pour éviter une nouvelle compilation,
{|
*Le ''garbage collector'' gère les objets non référencés (objets qui ne sont donc plus utilisés) et libère l'espace mémoire qu'ils occupaient.
|-
 
| align="left" |
== API .Net commune ==
|-
L'API (''Application Programming Interface'') est l'ensemble des classes et fonctions disponibles aux applications pour gérer diverses fonctionnalité : gestion de fichiers, compression, interface graphique, programmation réseau, ...
|}
 
|-
Ces classes et ces fonctions sont communes à tous les langages .Net (même nom et même fonctionnalités) car celle-ci sont disponibles sous forme de librairies (.dll) compilées en langage intermédiaire.
|}
 
== Langages de programmation ==
 
Une application développée pour la plateforme .Net peut utiliser n'importe quel langage de programmation si celui-ci possède un compilateur produisant des instructions IL. Le nom d'un tel langage est souvent suivi du suffixe ".Net".
 
Microsoft fournit les compilateurs pour les langages de programmation suivants :
* [[Programmation C sharp|C# .Net]],
* [[Guide du C++ pour .NET|C++ .Net]],
* J# .Net (Java),
* VB .Net (Visual Basic),
* ASP .Net.
 
== Interopérabilité entre les langages ==
L'interopérabilité entre les langages de programmation permet de coder les différentes parties (ou librairies) d'une application en utilisant des langages de programmation différents.
 
Cette interopérabilité est assurée par :
*Une [[#API .Net commune|API commune]] à tous les langages .Net,
*Des règles de codage pour le code source dans les différents langages .Net.
 
Ces règles de codage sont codifiées par le CLS (''Common Language Specification'').
 
== Règles de codage ==
Afin de permettre l'intéropérabilité entre les langages de programmation, le code source doit suivre certaines règles afin que tout autre langage puisse utiliser la classe ou la librairie.
 
=== Exemple de règle : minuscules et majuscules ===
Le langage [[Programmation C sharp|C# .Net]] distingue les minuscules des majuscules. Par exemple, les noms <tt>nombre</tt> et <tt>NOMBRE</tt> désignent deux entités différentes.
 
Au contraire, le langage VB .Net ne fait pas cette distinction.
 
Il est donc impossible d'utiliser une classe C# contenant les membres <tt>nombre</tt> et <tt>NOMBRE</tt> dans un programme Visual Basic .Net.
 
Il est donc déconseillé d'utiliser deux identifiants ne variant que par la différence minuscule/majuscule. Cela s'applique au nom absolu, c'est à dire précédé des espaces de noms et de la classe définissant l'entité.
 
=== Exemple de règle : fonctions globales ===
Le langage VB .Net permet de créer des fonctions globales définies en dehors de toute classe. Or le langage [[Programmation C sharp|C# .Net]] est exclusivement orienté objet, et n'accepte pas les entités définies hors de toute classe.
 
Il est donc déconseillé de créer des fonctions globales.
 
{{Programmation}}