Slashdot Mirror


Is Eiffel# Better than Eiffel?

hardcorebit asks: "Interactive Software Engineering has announced that a version of the Eiffel programming language, called Eiffel# is available for Microsoft's .NET initiative. The .NET framework provides a common type system and inheritance mechanism for different languages. The claim is that Eiffel# programmers can use this to seamlessly integrate code from other programming languages, across networks, and so on. The only thing is that .NET doesn't support multiple implementation inheritance, so Eiffel# currently lacks this feature. There are one or two other differences as well. I'm not an Eiffel expert, so I'd like to know whether the missing features matter and if so, how much." First C# and now Eiffel#...is Microsoft trying to wrap some of the more popular languages in it's .NET initiative? If so, how effective can it be if Microsoft is leaving out features like multiple inheritance and the ability to redefine features in descendant classes?

2 of 14 comments (clear)

  1. Why oh why??? by pleitner · · Score: 3
    I don't know... Maybe my thinking is flawed... I always thought one of the coolest feature of any OO language is the ability to NOT have to reinvent the wheel constantly. It seems to me that Microsoft is taking every opportunity to do just this. I really don't understand why. I don't claim to be an expert in C# or anything, but I really can't see the benefit in taking the approach that they are.

    Maybe they are just up to their old trick of trying to do everything their own way - we do C++ better than C++... We do Kerberos better than Kerberos <sigh>

    I don't think I will ever understand those Redmond guys...

  2. Without DbC, what's the point? by Socializing+Agent · · Score: 3
    Sorry, but this is flat-out absurd. The main advangtage of Eiffel (as I've used it in engineering projects) is Design-by-Contract, which is unenforcable in lesser languages. Real Eiffel programmers don't want the ability to link in methods from other languages, especially since Microsoft are allowing mongrel languages to target .NET, like Java and VB, which allow blasphemies like side-effects in functions with return values.

    Besides, any serious OO programmer knows that an OO language without multiple-implementation inheritance is a crippled husk of a language. Even Java has it with the addition of JAMIE and delegation. .NET is merely a platform for VenerealBasic programmers who can't do real design, and Eiffel# is an Eiffel impostor with broken arms and legs.