Le C sharp révolutionnaire ??

cs_lemu Messages postés 5 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 7 juillet 2002 - 25 juin 2002 à 18:44
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015 - 21 août 2005 à 19:15
J'ai lu partout que le c# était le langage "ultime". C'est vrai que pour le programmeur, c'est excellent. Mais j'ai un probleme : une application de base avec simplement une fenetre, et rien d'autre occupe deja environ 10 Mo de mémoire sous Windows XP.
Est-ce normal ?
Merci de vos réponses

5 réponses

pornik Messages postés 37 Date d'inscription mardi 11 décembre 2001 Statut Membre Dernière intervention 31 décembre 2002 2
25 juin 2002 à 19:54
Le langage ultime... Personellement je trouve effectivement que c'est un langage génial, le meilleur. M'enfin tout programmeur Java te dira exactement le contraire et aura beaucoup d'arguments contre, à toi d'aller dans des forums pour voir les débats c'est assez marrant ;) D'ailleurs le C# est surnommé J-- par les pro-JAVA, ce qui signifie pour eux "mauvaise copie du JAVA" car effectivement ça y ressemble beaucoup mais que cela en soit une mauvaise copie, non, je dis non. De toute façon apprendre le C# n'est pas une perte de temps puisque une fois connu, il te faudra une heure pour passer au JAVA ;O)
Pour la question de mémoire vive, vas voir sur les newsgroup de MS. Ya déjà eu plein de fois cette question (mais ya déjà quelques mois de ça) :
http://communities.microsoft.com/newsgroups/default.asp?icp=france_msdn&slcid=fr-fr

Vala bonne chance ;)
0
cs_lemu Messages postés 5 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 7 juillet 2002
3 juil. 2002 à 01:08
Merci pour cette réponse. J'ai regardé sur le forum, mais ils parlent plutot d'une lenteur au démarrage que de l'occupation mémoire. Je regarderais plus précisement un de ces jours. Personnellement, j'ai commencé par le Java, et je préfere le C# parce que Visual.NET, c'est quand meme bien mieux pour faire les interfaces, et puis ça a l'air beaucoup moins lent que le java. Vous avez tout à fait raison... les programmeur java me répondraient qu'il existe d'excellents environnement de développement pour le java que je ne connais pas... et que si c'est lent, c'est parce que je ne sais pas coder!
Et puis de toute facon, c'est un probleme objet... qui hérite de la guerre SUN/Microsoft :big)
0
pornik Messages postés 37 Date d'inscription mardi 11 décembre 2001 Statut Membre Dernière intervention 31 décembre 2002 2
3 juil. 2002 à 14:55
Je vois que tu as très bien compris le problème SUM/crosoft, c'est exactement ça. Et pour les problèmes d'occupation de la mémoire tu as effectivement raison j'ai l'impression que les posts sont trop vieux et ne sont plus sur le newsgroup... Je veux pas dire de conneries mais si je me souviens bien voilà qqes trucs :
- vérifie que tous les programmes .NET exécutés en même temps prennent la même place en mémoire vive (peut-être qu'il n'y en a que un qui charge le framework)
- le framework fonctionnerait comme ça parrait-il : tant que ya de la place, on la prend, et si on est en manque, on libère. Donc si t'as beaucoup de mémoire vive il va pas se gêner pour en prendre un max.
- Le framework ne libère pas tout de suite la mémoire quand tu ferme une applic, il la garde allouée dans le cas ou tu relancerais le programme (comme ça pas besoin de réallouer). En manque de place, il va evidemment libérer...
- .. Il y avait pas mal de trucs comme ça mais j'ai la mémoire courte faudrait que tu reposte sur le newsgroup que je t'ai filé.

Vala ;)

C# PoWaAa RoXxxXoR
0
cs_lemu Messages postés 5 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 7 juillet 2002
7 juil. 2002 à 23:55
En effet, la premiere instance du programme prend en gros deux méga de plus...
Les trucs que tu me dis sur la gestion de la mémoire par le frameworks sont plutot rassurants.
Et bien, plus qu'à coder ;-)
Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
21 août 2005 à 19:15
Salut,
Pour l'occupation mémoire, c'est assez simple : une instance du framework doit être chargée pour faire fonctionner ton programme. Celle-ci prend effectivement une dizaine de Mo. Qui sont par ailleurs de très loin inférieurs au chargement de la VM Java (entre 20 et 35Mo par programme exécuté).
Cette instance est un service qui est chargé normallement 1 fois... sauf dans le cas où tu utilise une application qui embarque son propre framework (internet explorer ou sql server 2005).
Ceci dit, chaque bibliothèque chargée augmente la taille mémoire utilisée par l'application.
Pour la libération de la mémoire, elle est prise en charge par le "garbage collector" (notion entièrement pompée au java) dont le rôle est d'enlever de la mémoire tous les objets qui ne sont plus référencés par aucun pointeur, mais quand il prend le temps ou qu'il en a besoin ou qu'on lui demande gentillement.

A la question Java est-il mieux que C#, programmant dans les deux langages je n'aurai qu'une chose à dire :
C# a été prévu dès le départ pour faire des programmes avec. Je rigole en disant ça, mais j'ai été un des premiers à programmer en java, la première version ne savais même pas accéder à une base de données.
La sécurité a été integré de base dans le framework. Par exemple, je peux interdire à une procédure d'écrire sur le disque. Si qqun arrive à détourner mon programme par l'intermédiaire de ma procédure, il ne pourra pas écrire sur le disque.
Je peux en rajouter des grandes tartines, mais le .NET c'et mieux.
0
Rejoignez-nous