.NET c'est une infrastructure de développement + une machine virtuelle. En théorie, c'est indépendant du langage, mais en pratique la machine virtuelle est fortement optimisée pour exécuter de C# (voire du java). En revanche les pour les autres lanages c'est pas toujours cela (cf. ocaml, eiffel...). D'autre part les librairies .NET ne sont pas libre et non standardisée.
.NET a été conçu pour le langages intégrant la notion d'objet : c'est effectivement une restriction, mais tous les langages modernes semble intégrer cette notion.
Pour ce qui est de l'implémentation des autres langages, wait&see... tu as testé pour juger de la qualité des compilateur et du code généré ?
D'autre part les librairies .NET ne sont pas libre et non standardisée.
Si les parties indépendantes de l'OS. Les parties "hautes", surtout les WinForms ne sont pas standardisées. Est-ce un problème sous Linux où l'on veut plutôt utiliser GTK ou Qt ? Pourquoi? J'utilise tous les jours les librairies Apache, et ma foi c'est pas pire qu'ailleurs.
Ah tu l'utilises dans n'importe quel langage ? Ou alors t'as triché et tu fais tourner du bytecode Java au dessus de Mono ;)
Pour accéder à des librairies en C depuis Java tu peux soit utiliser le JNI, c'est effectivement un peu lourd mais cela oblige à faire du code (au niveau java) peu près portable. Soit utiliser des interface spécifiques (type CNI pour gcj), c'est plus rapide, plus léger, mais c'est lié à ta machine virtuelle commen c#.
et c'est où le problème ?
Le plus impressionnant c'est C++, tu peux mixer du code .NET et du code C++ traditionnel, ça marche (me demande pas comment) très bien. Si .NET peut être un point de rassemblement pour les API ca me paraît déjà pas mal...
Le but c'est justement de s'en passer. Sinon on utlie du C ou du C++ et c'est tres bien.
Non le but c'est de laisser le langage décider. Tu utilises un langage qui ne gère pas les pointeurs si tu veux. Mais faut laisser le choix. Notamment pour utiliser du code C c'est bien pratique, mais aussi pour des algo bas-niveau.
Pour ton info, plus de langages ont été porté en bytecode Java qu'en MSIL.
Pour ton info ces langages portés ne respectent pas de conventions dans les type, de conventions dans les appels, n'implémentent pas les generics correctement, ne peuvent utiliser les pointeurs 'celà limite tous les langages bas-niveau)... TOut ça pour dire que celà n'apporte pas beaucoup d'intérêt à l'objectif d'interopérabilité... qui est quand même le but si on écoute MDI.
C'est faux. Va regarder le site halcyon
J'ai regarder. J'ai pas trouvé d'exemple concret.
Et la marmotte... si tu regardes de plus près, Java n'est même pas foutu de pouvoir implémenter les generics correctement sur sa propre VM... Nan, que ça marche sur certains morceau de code je veux bien, mais sur des scénario plus compliquer j'y crois pas... Eclipse tourne sur .NET, trouve moi une appli comme celle là en .NET qui tourne sur une machine Java et là peut être que j'y croirait... Mais franchement y'a des parties du code IL .NET qu'on peut pas transposer en Java...
Et d'un point de vue pratique ?
Ben d'un point de vue pratique, Sun a déjà fait valloir ses droits sur ces brevets, pas Microsoft.
Et tu crois que cela empéchera Microsoft de les modifier selon son bon vouloir. Rien ne les oblige. Faut pas être naif :-)).
Désolé mais Microsoft ne peut pas ne pas respecter la norme ISO sinon bonjour la réputation... De plus ce n'est pas du tout dans leur intérêt de casser la compatiblité avec l'existant...
[^] # Re: Havoc Pennington se pose des questions sur les langages du libre
Posté par TImaniac (site web personnel) . En réponse à la dépêche Havoc Pennington se pose des questions sur les langages du libre. Évalué à 2.
.NET a été conçu pour le langages intégrant la notion d'objet : c'est effectivement une restriction, mais tous les langages modernes semble intégrer cette notion.
Pour ce qui est de l'implémentation des autres langages, wait&see... tu as testé pour juger de la qualité des compilateur et du code généré ?
D'autre part les librairies .NET ne sont pas libre et non standardisée.
Si les parties indépendantes de l'OS. Les parties "hautes", surtout les WinForms ne sont pas standardisées. Est-ce un problème sous Linux où l'on veut plutôt utiliser GTK ou Qt ?
Pourquoi? J'utilise tous les jours les librairies Apache, et ma foi c'est pas pire qu'ailleurs.
Ah tu l'utilises dans n'importe quel langage ? Ou alors t'as triché et tu fais tourner du bytecode Java au dessus de Mono ;)
Pour accéder à des librairies en C depuis Java tu peux soit utiliser le JNI, c'est effectivement un peu lourd mais cela oblige à faire du code (au niveau java) peu près portable. Soit utiliser des interface spécifiques (type CNI pour gcj), c'est plus rapide, plus léger, mais c'est lié à ta machine virtuelle commen c#.
et c'est où le problème ?
Le plus impressionnant c'est C++, tu peux mixer du code .NET et du code C++ traditionnel, ça marche (me demande pas comment) très bien. Si .NET peut être un point de rassemblement pour les API ca me paraît déjà pas mal...
Le but c'est justement de s'en passer. Sinon on utlie du C ou du C++ et c'est tres bien.
Non le but c'est de laisser le langage décider. Tu utilises un langage qui ne gère pas les pointeurs si tu veux. Mais faut laisser le choix. Notamment pour utiliser du code C c'est bien pratique, mais aussi pour des algo bas-niveau.
Pour ton info, plus de langages ont été porté en bytecode Java qu'en MSIL.
Pour ton info ces langages portés ne respectent pas de conventions dans les type, de conventions dans les appels, n'implémentent pas les generics correctement, ne peuvent utiliser les pointeurs 'celà limite tous les langages bas-niveau)... TOut ça pour dire que celà n'apporte pas beaucoup d'intérêt à l'objectif d'interopérabilité... qui est quand même le but si on écoute MDI.
C'est faux. Va regarder le site halcyon
J'ai regarder. J'ai pas trouvé d'exemple concret.
Et la marmotte... si tu regardes de plus près, Java n'est même pas foutu de pouvoir implémenter les generics correctement sur sa propre VM... Nan, que ça marche sur certains morceau de code je veux bien, mais sur des scénario plus compliquer j'y crois pas... Eclipse tourne sur .NET, trouve moi une appli comme celle là en .NET qui tourne sur une machine Java et là peut être que j'y croirait... Mais franchement y'a des parties du code IL .NET qu'on peut pas transposer en Java...
Et d'un point de vue pratique ?
Ben d'un point de vue pratique, Sun a déjà fait valloir ses droits sur ces brevets, pas Microsoft.
Et tu crois que cela empéchera Microsoft de les modifier selon son bon vouloir. Rien ne les oblige. Faut pas être naif :-)).
Désolé mais Microsoft ne peut pas ne pas respecter la norme ISO sinon bonjour la réputation... De plus ce n'est pas du tout dans leur intérêt de casser la compatiblité avec l'existant...