J'ai été un admirateur de Juval Lowy de l'enseignement et de l'orientation dans les .NET développement pour un certain nombre d'années. Il a également écrit un de mes livres préférés: la Programmation .NET des Composants.
Cependant, lors d'une récente DotNet Roches podcast (Jan 2010) dans la discussion de la WCF/COM et .NET, il a fait quelques commentaires qui a grandement surpris moi:
Juval Löwy: ..... dans .NET, lo et voici, tous les cours ici, c'est un COM objet. Nous le savons. En fait, bien plus que de la COM, parce que nous avons eu le git de la compilation, nous avons de collecte des ordures, nous avons la Sécurité de la Pile....
Carl Franklin: eh Bien, vous devriez préciser que cependant. Je veux dire, tous les l'objet n'est pas un objet COM. Chaque objet possède les capacités d'un COM l'objet n', mais le .NET Framework n'est pas une bibliothèque COM.
Juval Löwy: non, Non. Tout d'abord .NET est en fait construit sur top de COM. C'est tout COM-dessous.
Puis, après Carl Franklin demande des éclaircissements sur ce commentaire:
Carl Franklin: Ouais, je le conçois. Mon la question était est .NET construit sur la COM?
Juval Löwy: bien sûr, tout COM en-dessous.
Carl Franklin: Aucun. Je sais que c'est étroitement liés et il est nécessaire, mais lorsque vous nouveaux un .NET de l'objet que vous êtes ne pas créer un objet COM.
Juval Löwy: Vous êtes à la création d'un .NET de l'objet, mais tous les Je suis en train de dire que .NET est construit en-dessous. C'est tout le C++, et COM.
Carl Franklin: C'est le C++, mais vous n'êtes pas l'enregistrement d'un objet COM à travers le L'interface COM. Ce n'est pas ce genre de trucs sauf si vous faites cela.
Juval Löwy: Mais c'est quelque chose de l'aide COM en dessous, mais c'est à côté de la point. Oublier comment il est fait.
Comment avez-vous lu ces commentaires?
Même si je comprends (et l'ont confirmé) que certains ensembles sont écrits en C++, est-il également valable pour dire qu'ils sont "tous COM en dessous"?
J'étais sous l'hypothèse qu'il est parfaitement possible d'écrire .NET compatible CLI C++ assemblées qui n'ont absolument rien à voir avec COM / ATL / ActiveX?
Voici le PDF de la transcription pour le podcast en question. Voir Page 7.