• [^] # Re: Nécessité de Java?

    Posté par (site web personnel) . En réponse à la dépêche Accord entre la FSF et les développeurs OpenOffice au sujet de l'utilisation de Java. Évalué à 3.

    Ton exemple n'est d'aucune utilité en pratique. J'ai sous les yeux un programme de 67000 lignes en Java et aucune des listes ne contient de types primitfs mais seulement des objets évolués.
    Euh, que ce soit dans la doc de MS ou de Sun, c'est clairement indiquer qu'il ne faut pas abuser de l'autoboxing, notamment dans le cas de parcours de collection. S'ils le disent c'est qu'on rencontre souvent la situation (prend des programmes qui font un minimum de calcul mathématique). Evidemment que mon exemple est pas super utile, j'avais la flemme d'écrire un vrai truc.
    M'enfin le coup du "oué mais si j'ai un problème j'utilise une lib dédiée" voilà quoi. Le débutant il y pense ? Ben non. Alors que pourtant ils auraient pu résoudre le problème dès le début. Enfin si tu te résigne à utiliser une lib spécifique tu es bien d'accord qu'il y a un problème de perf.

    En revanvhe, le "struct"du c#
    C'est pas vraiment le sujet mais bon, abordons le puisque tu insistes ;)
    D'abord le débutant n'utilisera jamais les structures car il ne sait pas ce que c'est. Le débutant il codera comme en Java, et parfois mettra des int dans une list ;)
    Il faut bien voir que le "struct" et présent au même titre que les pointeurs pour laisser le choix aux programmeurs expérimenter d'optimiser leur code. C'est également un moyen très élégant de mapper une structure C en C#, pour utiliser des libs natives.

    Bref je suis persuadé que l'on verra bcp plus de problèmes de ce type dans un programme en c# que de listes de type primitifs.
    Ben voyons. Un débutant il se dira : "tiens un mot clé que je ne connais pas utilisons le !" Par contre mettre des entiers ou des flottants dans une liste ca, non jamais, c'est vraiement un truc qu'on fait jamais. Surtout quand on débute à la fac avec des exemples qui font typiquement du calcul. Faut arrêter de dire des conneries.

    Dans tous les cas C# ne t'oblige pas à utiliser les structs ou les pointeurs, alors que Java ne te propose pas d'alternative pour contourner le problème non documenté des types primitifs et des generics. Ah si utiliser JNI ou une lib qui le fait. YaHoo.