Closure!
Written by Fneuch on 24.8.06Je parlais dernièrement à quelqu'un de la rivalité entre le monde .Net et le monde Java. On discutait sur le fait que du coté de .Net la communauté semble plutôt fermé et que la situation est l'inverse du coté Java. Ce que je lui disait par contre, c'est que maintenant les deux communautés ont besoins de l'autre.
En effet, depuis que C# est arrivé, plusieurs améliorations sont arrivé dans le language Java. Ce ne sont pas toujours des choix faciles qui arrivent sans contreverse, mais il est sein de voir une évolution dans le language. Et l'inverse est aussi vrai! Java a emprunté des concepts à C# et C# ont emprunté certains concept de Java. Évidemment, à chaque fois qu'un concept est emprunté, il est amélioré, optimisé, corriger!
C'est encore une fois le cas avec la proposition d'ajouter des "Closure" et des "Functions" dans le language Java. C'est ce que nous explique (en quelque sorte) Rémi Forax dans son billet.
Closure and performance
5 commentaires: Responses to “ Closure! ”
By Anonyme on 22:07
On discutait sur le fait que du coté de .Net la communauté semble plutôt fermé...
Hein? Comment peut ont dire que la communauté .Net semble fermé alors que la première fois ou j'ai entendu parler de Mono (.Net sous Linux) c'est sur un Webcast présenté par Microsoft ? Channel9 est aussi une belle démonstration d'ouverture.
Une communauté trop ouverte n'est pas beaucoup mieux. Par exemple, les STL/C++ ont mis un temps incroyable pour être accepté comme standard parce qu'il y avait trop de joueurs qui ont mis un temps fou à s'entendre sur l'implémentation final.
C'est peut-être pourquoi Sun ne voulait pas rendre Java open source ?
By Fneuch on 08:31
Holà! Cro c'est senti attaqué...;)
J'ai pas dit que .Net est fermé! J'ai dit que la communauté semble fermé.
Si tu regardes la quantité de language que Micosoft ont fournis qui fonctionne sur la machine virtuelle, il y en a plus que ce que Sun à fournis. Par contre, c'est Microsoft qui les a fournis. Si tu compare au language fonctionnant sur la machine virtuelle Java, il ne proviennent pas de chez Sun. Ce sont des "Nobody" qui les ont fait.
Toujours d'un point de vu externe, les gens qui font du .Net ne semblent pas faire autres choses que du .Net. Est-ce que ça vient du fait que Microsoft est payant, que la majorité des produits qui sont fait sur la technologie .Net ne rend pas disponible son code source? Est-ce que d'un point de vue de visibilité, le fait que .Net est enseigné dans plusieurs écoles, qui fournissent la certification, et qu'en Java, tu as plus de chances d'apprendre les rudiments en fouillant sur le net (de moins en moins vrai par contre) ne nuirait pas à l'image d'une communauté ouverte?
Où est-ce simplement par le fait qu'a l'inverse de Microsoft, en Java les modifications dans le language, dans la machine virtuelle ne dépendent plus de Sun mais bel et bien d'une communauté qui votent, qui choisissent les orientations, qui en proposent de nouvelle, et qui sont même obliger d'évaluer c'elle de compagnie concurente. Un exemple c'est qu'IBM a été obligé d'étudier une proposition d'Oracle pour une couche de transaction BD.
Je ne dit pas dans mon billet que Microsoft ne veut pas ouvrir son language, je dit simplement, que pour quelqu'un qui ne connait l'informatique qu'en cotoyant des informaticiens (une personne de ressource humaine, un directeur de qqe chose, etc) la communauté .Net (les gens qui l'utilisent, pas ceux qui le développent) semble plus fermé que celle de Java...
Et en finissant, Sun voulait garder Java fermé pour ne pas qu'ils se produisent ce qui c'est passé avec Microsoft.... Des machines virtuelles qui utilisent le nom Java, mais quand tu le met dans une autre machine virtuelle, ça ne marche plus car tu as utilisé des classes qui ont été modifié dans le kernel même de java pour pouvoir dire que tu avais une implémentation meilleur que les autres...
By Anonyme on 22:28
Comme je ne connais pratiquement pas Java, c'est difficile pour moi de comparer. Par contre une chose est bien certaine, c'est qu'il y en a beaucoup de "nobody" qui ont fait leurs langages sous .Net ;)
http://www.dotnetlanguages.net/DNL/Resources.aspx
By Fneuch on 09:31
Merci pour le lien, je n'avais jamais vu la quantité de langage porté sur .Net.
Et j'insiste sur le mot "porté"! Parce que la grande quantité de langage que j'y ai vu existe indépendamment de .Net. Les langages tel que PHP, perl, SML, cobol, Ruby, Smalltalk, fortran existent aussi pour la JVM.
J'avoue que j'avais en tête des languages du style Groovy qui ont été conçu spécifiquement pour fonctionner sur la JVM.
Mais ton point est valide, la liste de langages sur .Net démontre que Microsoft n'est pas le plus grand fournisseur de langage pour leur plate-forme.
Avec une recherche rapide sur le net, voici l'équivalent pour Java:
Languages for the Java VM
By Anonyme on 11:02
Preuve que je ne connais pas Java, je ne savais même pas qu'il y avait d'autres langages que Java pour la JVM.
Je ne me suis pas senti attaqué, juste que je ne comprenais pas votre point de vue.
Quelqu'un m'a répondu ça récemment alors que je posais une question sur les MFC :
"I'm saying that there shouldn't be any more versions of that awful framework."
Ouch ! Alors j'ai le dos large hehehe.