Ceci dit, fo pas jeter la pierre. KK1 se mettra peut être à faire un wrapper pour .net comme y'en a pour python, ruby, etc
Ceci dit, fo pas jeter la pierre. KK1 se mettra peut être à faire un wrapper pour .net comme y'en a pour python, ruby, etc
Il faudrait peut-être recadré la situation ici
Vous ne pouvez, en aucun cas, comparer .NET à C++ pour la simple et bonne raison que, comme le souligne davcha, .NET est un framework autrement dit, un ensemble d'outils pour développer et faire tourner des applications.
S'ils respectent certains standards, tous les langages de développement qui existent peuvent tourner sur la plateforme .NET: C++, C# mais aussi Python, Ruby, Eiffel, etc..
On ne fait pas un wrapper pour .NET mais on fait des langages qui sont "CLS compliant", autrement dit des languages qui respectent les spécifications pour pouvoir tourner sur la plateforme .NET
A+
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
CLS Compliant ça pourrait aussi être JAVA Compliant si il y'avait autant de langages pour le JIT de JAVA qu'il y'en a pour le JIT de .NET
Tous les langages .NET sont indissociables de l'API .NET, du JIT, du MSIL, etc. Dépendance fondamentale car les types primitifs comme integer font partis de l'API et non du langage, ils sont gérés par l'API.
Avec un compilateur C et juste les mots clés du langage C (if, while, les pointeurs, fonctions, etc) on peut recréer un système d'exploit sur presque toutes les bécanes de la planète.
META LANGAGE?
En fait, à cause de la non séparabilité des deux LANGAGE+API il est difficile de parler de différence. De part son principe, le C est d'une richesse absolue car même en étant pas orienté objet il peut faire de l'objet, de l'héritage, des tables virtuelles. la librairie du standard du C est écrite en C....
Je pense qu'on peut dire que Le C est un framework a lui tout seul.
C++ est une évolution du C et reste à ce titre un framework aussi mais avec des possibilites objets incluses dans le language, ce qui évite de se détruire la tête à tout coder en C.
Si C/C++ ne sont pas des framework, alors il faut comparér VB.NET ou C# à C++ // Les autres comparaisons doivent se faire sur les API au niveau de la richesse et la puissance des routines.
Comme .NET est un ensemble langage+api intriqué on peut le considérer comme un language unique : le MSIL pour .NET et assembleur pour le C++ // le MSIL est un assembleur orienté objet et certainement une évolution par rapport au vrai assembleur mais il n'est pas encore integre au processeur... peut etre que ca viendra un jour.
Encore une chose...
Il y'a une bataille entre ceux qui préfèrent que les éléments du langage soient dans une api et ceux qui preferent que ce soit dans le langage lui meme, dans l'api c'est interessant car il est plus simple d'ajouter des nouveaux types qui vont s'integrer "naturellement" comme currency...
En C, on a le float et si on veut sortir des sentier battus, soit on cree le currency (avec des perfs au maximum) soit on passe par une API... Dans le 1er cas, faut être une bête en math et dans le 2eme, faut trouver une API.
En C, l'avantage c'est d'avoir le choix. Dans les autres langages, on doit attendre que l'api evolue pour que le langage evolue aussi
Qui fait évoluer l'autre? Il serait couteux de reecrire .NET en VB.NET, par exemple.
Dans l'ordre ca devrait donner
ASSEMBLEUR -> C/C++ -> MANAGED -> .NET -> VB.NET
Le langage VB.NET tout seul ne permet pas de faire ça :
VB.NET -> MANAGED -> .NET -> C#
Tu porteras un lourd fardeau : imagine VB qui a un GC obligatoire devant lui même gérer un autre GC (hypothèse de réécriture de .NET en VB.NET)
Autre cas difficile : ecrire un nouveau type plus grand que currency en vb.net avec surcharge des operateurs et ensuite faire une matrice de calcul qui consomme du temps cpu critique... je crois que cela reste faisable en vb.net sans etre sur a 100% mais le temps de travail de ces classes va etre tres long.
juste une question par rapport a ce que dit bunker36, ca fait vriament 6 ans que .net est sur le marche ????
et moi qui croyait que je faisais parti des premier a y avoir goute![]()
![]()
![]()
(2006 -2002) 4ans il me semble, est-ce que je me trompe?
et pour revenir a la multi-inheritance et bien bravo perso la multi j'avais eviter ca au max sur c++ trop dur pour moi a gerer, j'etais plutot rasssure de voir que ca avait ete supprime.
2000, ca correspond bien a la sortie de la première version de Dotnet![]()
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
2000 c'était les premières bétas, mais la première version finale c'était avec Visual Studio .NET 2002![]()
Donc plutôt 4 ans, on compte à partir de la version finale![]()
Un langage n'est pas un framework, ni une machine virtuelle.
Partager