Mais le passage au .Net 2.0 (vers octobre-novembre chépu) en nouveau standard a causé quelques changements et effectivement on sent qu'ils ne pensent pas aux autres.
C'est sûr que comme le standard évolue par l'intermédiaire de l'ECMA et que la commission contient des gens comme Novell, MS fait ce qu'il veut et ne pense pas aux autres...
.Net (ne confondons pas avec c#, on peut imaginer tous les langages en .Net) n'est qu'un clone de Java datant d'une époque où Microsoft et Sun étaient en concurrence.
Quel raccourci saisissant et faux... Le mieux je pense est l'auto-contradiction. .NET a été pensé pour faire du multi-langage, ce qui est une différence fondamentale avec la JVM de Sun. Les mécanismes d'interfaçage de bas niveau sont fondamentalement différent entre .NET et la JVM, ce qui permet à .NET de récupérer des bibliothèques existantes beaucoup plus facilement. Les opérations prévues dans la VM de .NET sont assez différentes de celles de la JVM, elles ne sont pas prévues pour être interprétables facilement, par exemple (il faut donc un compilateur JIT pour avoir de bonnes performances). .NET possède des modes de passage de paramètres beaucoup plus riche que ceux de la JVM, ce qui facilite l'implémentation de langages comme le Pascal, par exemple, etc. Ces différences sont fondamentales et dire que .NET est un clone de Java, c'est exactement comme dire que Java est un clone de C++, c'est un raccourci totatement faux. Sans compter ce qui est prévu pour les versions suivantes de .NET, avec une forte inspiration fonctionnelle dans C#.
Il y a quelques légères différences, mais les deux ont le même esprit.
Oui, c'est le même esprit : machine virtuelle + langage orienté objet avec garbage collecting. Mais les différences sont énormes quand on y prète attention et surtout les langages phares (C# et Java) évoluent dans des directions assez différentes.
Et dans cette optique Java présente beaucoup beaucoup plus de possibilités du à son ancieneté.
Mouais, ça dépend pour quoi et sur quelle plateforme.
Il fallait vraiment des soucis avec les machines virtuelles java pour qu'on tourne autant sur .Net.
La différence fondamentale, c'est que Mono est soutenu par Novell alors que Classpath est un travail de bénévoles, avec un peu de soutien de RedHat. Mais bon, vu le succès énorme de choses comme JBoss, je pense que Java n'a pas de soucis à se faire à court terme, d'autant que Classpath sera très bientôt compatible à 100% avec java 1.4 (on peut quand même faire tourner azureus et eclipse avec classpath, par exemple). Classpath couvre actuellement 98% de l'api 1.4 (cf http://www.kaffe.org/%7Estuart/japi/htmlout/h-jdk14-classpat(...) ).
J'ai beau très bien connaître le .Net (12h de .Net par semaine, ça aide),
[^] # Re: C# et le libre...
Posté par boubou . En réponse à la dépêche talweg, une migration vers Mono. Évalué à 10.
Alors dans l'ordre :
.Net est standard. Ok
C'est faux (ce n'est pas de toi, mais bon). Une petite partie de .NET est standardisée. Ce qui en plus ne veut pas dire qu'on peut l'implémenter librement (cf le mp3). Pour des détails : http://apiacoa.org/publications/vulgarisation.html#lm-java-d(...)
Mais le passage au .Net 2.0 (vers octobre-novembre chépu) en nouveau standard a causé quelques changements et effectivement on sent qu'ils ne pensent pas aux autres.
C'est sûr que comme le standard évolue par l'intermédiaire de l'ECMA et que la commission contient des gens comme Novell, MS fait ce qu'il veut et ne pense pas aux autres...
.Net (ne confondons pas avec c#, on peut imaginer tous les langages en .Net) n'est qu'un clone de Java datant d'une époque où Microsoft et Sun étaient en concurrence.
Quel raccourci saisissant et faux... Le mieux je pense est l'auto-contradiction. .NET a été pensé pour faire du multi-langage, ce qui est une différence fondamentale avec la JVM de Sun. Les mécanismes d'interfaçage de bas niveau sont fondamentalement différent entre .NET et la JVM, ce qui permet à .NET de récupérer des bibliothèques existantes beaucoup plus facilement. Les opérations prévues dans la VM de .NET sont assez différentes de celles de la JVM, elles ne sont pas prévues pour être interprétables facilement, par exemple (il faut donc un compilateur JIT pour avoir de bonnes performances). .NET possède des modes de passage de paramètres beaucoup plus riche que ceux de la JVM, ce qui facilite l'implémentation de langages comme le Pascal, par exemple, etc. Ces différences sont fondamentales et dire que .NET est un clone de Java, c'est exactement comme dire que Java est un clone de C++, c'est un raccourci totatement faux. Sans compter ce qui est prévu pour les versions suivantes de .NET, avec une forte inspiration fonctionnelle dans C#.
Il y a quelques légères différences, mais les deux ont le même esprit.
Oui, c'est le même esprit : machine virtuelle + langage orienté objet avec garbage collecting. Mais les différences sont énormes quand on y prète attention et surtout les langages phares (C# et Java) évoluent dans des directions assez différentes.
Et dans cette optique Java présente beaucoup beaucoup plus de possibilités du à son ancieneté.
Mouais, ça dépend pour quoi et sur quelle plateforme.
Il fallait vraiment des soucis avec les machines virtuelles java pour qu'on tourne autant sur .Net.
La différence fondamentale, c'est que Mono est soutenu par Novell alors que Classpath est un travail de bénévoles, avec un peu de soutien de RedHat. Mais bon, vu le succès énorme de choses comme JBoss, je pense que Java n'a pas de soucis à se faire à court terme, d'autant que Classpath sera très bientôt compatible à 100% avec java 1.4 (on peut quand même faire tourner azureus et eclipse avec classpath, par exemple). Classpath couvre actuellement 98% de l'api 1.4 (cf http://www.kaffe.org/%7Estuart/japi/htmlout/h-jdk14-classpat(...) ).
J'ai beau très bien connaître le .Net (12h de .Net par semaine, ça aide),
Encore du boulot...