RE: [GD-General] Eiffel
Brought to you by:
vexxed72
From: Brian H. <bri...@py...> - 2001-12-19 23:31:46
|
> Thanks for the link. I haven't finished it yet, but what I've > read so far is interesting, intelligent and well-reasoned > (unlike most rants about C++ or other languages). I can also highly recommend Joyner's book "Objects Unencapsulated". > So the question revolves around choosing a language that can > meet your needs for a particular project. I sort of disagree -- you need a languager AND an environment. Objective-C is a fine language, but what really puts it over the top is Cocoa and Interface Builder (and the other libraries like Core Foundation and AppKit). Interface Builder is such a seamless integration into the development process (unlike AppWizard) that it pretty much has to be considered part of the language. The best language in the world is worthless (to me) if it doesn't have supporting tools and environments that really target the language's strengths. For example, the notion of a "generic environment" a la Emacs (or Visual Studio) is slowly going to become an arcane notion because separating the language from the build and analysis process will become less tenable. > C++ is by no means the perfect language. But it supports large-scale > programming, high-end data abstractions, and high-end code > abstractions (the STL is sheer brilliance, IMO, and while > it's a bit more cumbersome than I'd like, I don't want a > language that doesn't support that kind of programming). I'll just have to disagree. C++ is fine if you're an expert C++ programmer, and but there are so few TRUE expert C++ programmers out there that this is meaningless. The vast majority of C++ programmers are average, and as such don't understand all the odd rules and workarounds for the language's deficiencies. I'll defer to Joyner's treatise on the subject, but from my point of view C++ is attempting is an answer to a question only Bjarne asked =) > I've used Java for a lot of things recently, and there's a > lot to like about it. But it doesn't support the higher-level > abstractions. Java is clearly superior to C++ as a language, but it really was just an evolutionary step. It removed a lot of the baggage that C++ had due to its near religious belief in "no new keywords" and "maintain C compatibility". But, by the same token, it still wanted > But Eiffel seems a bit too much like a religion -- it's > Pascal and Modula-3 taken to the next step, and I have always > found that school of language design to be a bit too > cumbersome. Well, one reason I'm asking here about Eiffel is because I haven't made the commitment to learn it. On paper, it sounds fantastic. I can't see any glaring holes in it. > It's also single-source, isn't it? I wouldn't > mind being proven wrong -- but paying $2000-3000 to find out > seems a bit steep. Are there multiple implementations of Eiffel? There are at least four major implementations of Eiffel that I'm aware of: ISE's Eiffel Studio (the "official" one from Meyer's company); Object Tools' "Visual Eiffel"; Halstenbach's ISS; and the GNU SmallEiffel implementation which is free. I've yet to see a thorough comparison of the above, but they all offer some type of free/trial/lite version, and the home editions are in the $100-200 range which isn't much. And I don't mind paying $1500 for a development tool (hell, VStudio + MSDN Library is that much almost) if it makes me even 20% more productive. I'm probably going to read Meyer's book before making a decision on the plunge, but after having witnessed the radical productivity gains you can make by changing environments, tools and language, I'm a lot more open minded than I used to be. Brian |