Un truc que j'ai du mal à comprendre sur .net

Bonjour,

je suis en train d’essayer de comprendre comment fonctionne la plateforme .net. J’en suis qu’au début, hein, vous moquez pas

Voilà donc le truc que je pige pas:

D’aprés ce que j’ai compris, quand on compile un truc en C# sur .Net, le code compilé n’est pas du langage machine, mais du code CIL (pour Common Intermediate Language).

A l’execution du programme, le code CIL est compilé à la volée par le JITer (ou JIT) en assembleur.

Mais diantre pourquoi le compilateur C# ne compile pas direct en assembleur, ça boufferait nettement moins de perfs à l’execution, non?

Ma question est surement trés con hein mais bon, n’hesitez pas à me savatter la tronche en répondant

Ce message a été édité par RedFromage le 04/03/2004

Alors, plusieurs choses:
1 - Ce n’est pas compilé en assembleur, mais en langage machine (pas la même chose).
2 - Le code CIL n’est PAS recompilé à chaques exécutions, mais uniquement à la première.

Question, pourquoi ? La plateforme .net produit du code managé (c-a-d que le code s’exécute dans un evironnement qui va prendre en charge un tas de choses: interception de certaines erreurs, allocation et surtout désallocation de la mémoire). Et surtout, un environnement qui comprends une API très fournie et très riche (winforms et autre).
Maintenant les avantages liés à cette compilation just in time par .net appore son lot de bénéfices:
1 - les applis distribuées sont bien plus légères qu’avant (même en faisant une appli qui comprends une dizaine de webform, une classe d’accès aux données et une classe d’interprétation des expressions régulières, j’en suis à 296 Ko. La même chose avec delphi ou en C++ non .net m’aurait suûrement pris plus d’un Mo).
2- compte tenu que les applis sont recompilées sur chaques machines cliente, le code en est optimisé (par exemple, mais il s’agit là pus d’une “supputation” de ma part; ton code va pouvoir utiliser des instructions propres au PIV si tu en possède un).

Oui mais y a quand même un truc chiant : pour executer ton programme, il faudra que l’utilisateur ait le framework installé sur son sytème. Ce sera sans doute le cas dans las prochaines versions de windows mais c’est pour le moment, à part windows server 2003 (sur lequel le framework 1.1 est déjà installé je crois)…

ouais mais bon, en meme temps, tout le monde a pas directX 9a et dernier driver sur ca machine, et ca nous empeches pas de vendre des jeux

[quote]Oui mais y a quand même un truc chiant : pour executer ton programme, il faudra que l’utilisateur ait le framework installé sur son sytème. Ce sera sans doute le cas dans las prochaines versions de windows mais c’est pour le moment, à part windows server 2003 (sur lequel le framework 1.1 est déjà installé je crois)…[/quote]Bha, c’est un peu comme directx pour les jeux…
Il faut que les gens aient une version compatible de celui-ci pour faire fonctionner leurs jeux…
Lorsque les premières applis pro seront distribuées sur cd-rom, il y a fort a parier qu’ils mettront sur le support le framework. Il est aussi compliquer d’insaller le framework que directcx
Ce message a été édité par aristidi le 04/03/2004

Oui dans un sens c’est bien vrai. En tout cas les windows forms et le C# sous visual studio .net, c’est génial.

J’ai l’impression d’être dans Flash en plus simple : on glisse le composant dans la fenetre de conception, on regle les parametres et hop c’est réglé, pas besoin de pleurer en faisant les initialiseComponents() à la main. j’adore.

[quote]Oui mais y a quand même un truc chiant : pour executer ton programme, il faudra que l’utilisateur ait le framework installé sur son sytème. Ce sera sans doute le cas dans las prochaines versions de windows mais c’est pour le moment, à part windows server 2003 (sur lequel le framework 1.1 est déjà installé je crois)…[/quote]Tu sais, pour utiliser des programmes Java t’es bien obligé de l’installer (le Java)…
Pourtant personne ne se plaint…
On est tellement habitué à ce que tout soit intégré dans Windows…
(et puis y en a qui se plaingnent que tout soit intégré, quel bordel…)
Ce message a été édité par Xas le 04/03/2004

[quote][quote]Oui mais y a quand même un truc chiant : pour executer ton programme, il faudra que l’utilisateur ait le framework installé sur son sytème. Ce sera sans doute le cas dans las prochaines versions de windows mais c’est pour le moment, à part windows server 2003 (sur lequel le framework 1.1 est déjà installé je crois)…[/quote]Tu sais, pour utiliser des programmes Java t’es bien obligé de l’installer (le Java)…
Pourtant personne ne se plaint…
On est tellement habitué à ce que tout soit intégré dans Windows…
(et puis y en a qui se plaingnent que tout soit intégré, quel bordel…)
Ce message a été édité par Xas le 04/03/2004[/quote]Sauf que maintenant, a ma plus grande joie, c’est plus intégré .
Sinon, oui, le framework sera intégré aux prochaines versions de windows, ca en sera même un des composants principaux. Y’a même de fortes chances que le framework en question fasse partie du SP2.

Tain, y’en a que pour GloP. Les WinForms par ci, les WinForms par là.
Et les WebForms, ça pue le gaz?

Jvous mets d’accord tout les deux : Indigo, ca va roxxer

[quote][quote]Oui dans un sens c’est bien vrai. En tout cas les windows forms et le C# sous visual studio .net, c’est génial.[/quote]Merci /smile.gif’ >