Monday, June 12, 2006

 

EiffelStudio improves .NET integration

Raphael Simon has summarized recent improvements to interoperability between EiffelStudio and other .NET languages. In particular, the mapping between Eiffel and .NET properties is now much tighter:
In addition, EiffelStudio's .NET metadata consumer has a popup baloon which shows more information and whose content can be customized using an environment variable.

It's now also possible to inherit from an Eiffel class which itself inherits from a .NET class.

Comments:
I care about this.

Who also cares about this?

Debug.Assert in C# is great, DbC in Eiffel would be a tad more useful :).

Now, do you still have to work around the inter-.NET-language DLL referencing crap that is already documented in the Yahoo group?
 
Hey Grant, what's this "inter- .NET-language DLL referencing" problem you mention? I've generally found it pretty straightforward to reference Eiffel assemblies from C#, and vice versa.

Referencing Eiffel assemblies from other Eiffel assemblies can be a pain, but that's not "inter-language".
 
Isn't it ironic that component-oriented programming is easier when the components are written in a language other than Eiffel, even if we're calling them from Eiffel?

Reading "between the lines" of EiffelStudio's new .ecf format (which is replacing .ace), I see that much care is being taken to organise and specify dependencies between libraries.

I think improved Eiffel component-oriented programming is finally on the way...
 
Roger, I wouldn't say that .NET "component-oriented programming is easier when the components are written in a language other than Eiffel".

Calling Eiffel from C# is easy.

What's tricky in .NET is calling Eiffel from Eiffel: now that's ironic! The same problem occurs calling Delphi from Delphi. It arises from the fact that Delphi and Eiffel each has language features not directly supported by .NET, so in order to take advantage of those language features, extra metadata has to be stored in the assembly. In Delphi, instead of building your assembly as a normal .NET library, you have to build it as a Delphi "package" library if you want other Delphi assemblies to be able to call it. In Eiffel, instead of building your assembly as a normal .NET library, you have to build it as an Eiffel "precompiled" library if you want other Eiffel assemblies to be able to call it. But, in both cases, calling from another language doesn't care which way you built it.
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?