


EiffelStudio 5.3 for Linux 50
Admiral Akbar writes "It seems today is the release date of the best damn free IDE available today for Linux,EiffelStudio version 5.3, they have both a free and Enterprise version available. Why Eiffel's not classed as a mainstream language is beyond me, goodies include full concurrent engineering, amazing debugging, browsing and documentation facilities that even your dog would find easy use, plus a Mac OS X version is in the works with a beta available for download soon. Design by Contract here I come!"
Steep pricetag (Score:1, Insightful)
Re:Steep pricetag (Score:1)
And that price is for the commercial version, which means you can sell what you've created. The license on the free version says that you can't sell anything you've created. Also the GUI builder with the free version is simply a demo.
~Steve
non-free (Score:2, Insightful)
There already is a free [gnu.org] compiler for Eiffel, you can download it here [gnu.org].
Re:non-free (Score:2)
While it's certainly not anything I'm responsible for, a good friend of mine is the project lead/one of the project admins for EDT [sourceforge.net], which is going to be an eiffel plugin for Eclipse. You might want to check that out - there should be a release RSN.
Some other guy at our university [yorku.ca] is working on a BON plugin for Eclipse, but I don't really know anything about its status.
Re:non-free (Score:3, Insightful)
If it's like every other Eclipse plugin project, its status is and will remain what the RUP [rational.com] guys like to call "the inception phase".
Re:non-free (Score:2)
Re:non-free (Score:1)
Yeah, too bad people has to eat some way. Those greedy bastards!
browsing and documentation (Score:4, Funny)
Not my dog -- he's still using Windows, even though it smells.
DBC using assert() (Score:1)
But what makes DBC in Eiffel better than DBC in C/C++, where we have assert() (or exceptions, if you like)?
Re:DBC using assert() (Score:2)
int x=2;
assert( x=1 );
if( x==1 ) printf("x is 1\n");
else printf("x is not 1\n");
With debugging turned on it would write "x is 1" and with debugging turned off it would write "x is not 1". Yes, it's a very stupid example, but it proves that the code can behave differently in debugging/non-debugging modes. Not good.
Real DBC could b
Re:DBC using assert() (Score:2)
I'd like to see 'fuzz testing' that generates random inputs to a function and checks it fulfils its contract for each. This would be easiest to implement in a purel
Re:DBC using assert() (Score:1)
Re:DBC using assert() (Score:1)
Problems could still occur as the function could introduce other side effects. I think you can specify a pure function using __attribute__ ((pure)) (in gcc), which cannot have side effects.
Re:DBC using assert() (Score:3, Informative)
Re:DBC using assert() (Score:2)
Re:DBC using assert() (Score:3, Insightful)
Re:DBC using assert() (Score:1)
Re:DBC using assert() (Score:1)
Re:DBC using assert() (Score:2, Informative)
Second, DBC in Eiffel integrates with inheritance. Contracts are inherited along with their routines, and there are rules for how they can be modified.
Also, when contracting is turned on in Eiffel, the calls only go one level deep. That is, when a routine is called, it's contract is tested. If the contract contains a routin
Mainstream languages (Score:3, Insightful)
Not only that, it's mainly down to the attitudes of the language users, not the wider community.
Eiffel is always billed as "this far-out groovy different and better type thing" by its own users.
Fortran is clearly a mainstream computer language, if you're a mechanical engineer. But engineers regard it as one more tool. They don't care if it's mainstream or not, it's what they've always used, what they are trained in, and what they have to continue with to use their numerical codes that have been continuously refined for decades now.
COBOL is clearly a mainstream computer language, if you're a financial services provider. They don't care if it's mainstream or not, it's what they've always used, and what they have to continue using unless they want to bear the hideous cost of ripping out their 99.999%+ availability systems that have been performing adequately and continuously refined... yadda yadda
VB is clearly a mainstream computer language, if you're sitting in the mid-size company or SOHO space. It seems to matter to VB-weenies and Microsoft that they are considered "the mainstream". By repeating this often enough, they kinda make it true. Propaganda 101.
Lisp is clearly a mainstream computer language (ANSI-standardised even!), if you're an actual computer scientist as opposed to J. Random Developer. But Lispers' attitude is more like "Mainstream? Who wants that? We are better than that! We have been here since the dawn of time, never growing old! You mere mortals cannot comprehend the heraclitean fire that is the eternal truth of the infinite mutability of Lisp, the language of languages! Mwahahhahaha".
Eiffel features (Score:2)
* It's fairly high level
* For such a high level language, SmallEiffel produces very fast output -- not like Java or C# compilers.
* It does what I thought ML did -- each function acts like a templated function, and when you use a function, it instantiates a new appropriate template automatically. Very, very cool.
* It's heavily object-oriented, much like Java.
Re:Eiffel features (Score:1)
I think ML is more 'templated' than Eiffel in the sense that all functions in ML are generic as possible, whereas in Eiffel, like in C++, you have to explicitly specify which parameters are generic.
Re:Eiffel features (Score:2)
Re:Eiffel features (Score:3, Insightful)
Hence they deserveto be called generic.
Re:Eiffel features (Score:1)
Re:Eiffel features (Score:2)
Actually that sounds exactly like the behavior you describe. The whole "mytype" business -- erm, perhaps that was LOOM -- same idea anyways.
Re:Eiffel features (Score:2)
So no, Eiffel compilers still aren't statically typesafe. From practice, I can testi
Re:Eiffel features (Score:2, Insightful)
* I don't see the syntactic overhead comment. It seems pretty reasonable to me.
* It's better than Java on the OO front. Much cleaner, without the C/C++ baggage.
Re:Eiffel features (Score:1)
Eiffel is no more verbose than it needs to be to express the concepts at work. Additionally, it does several things to cut down on syntax.
1. Semi-colons aren't required.
2. Parentheses don't ha
Re:Eiffel features (Score:2)
Two Problems (Score:2)
Second, the ability to, and habit of, multiply inheriting from the same type demonstrates a fundamental confusion about what types are for.
I went to a talk by Bertie Meyer back in '86 at what was then Oregon Graduate Center. I drove for 45 minutes to his one-hour talk. He spent 15 minutes on Eiffel, and then 45 minutes hyping his "Cepage" editor. Then I drove 45 minutes home. That 15 minutes turned out to be
Re:Two Problems (Score:1)
Yes, this could be done in lots of other languages by not using generics and simply ensuring that the key must be of type HASHABLE. Yet, how then do you ensure that every object bound to that key variable is of the same type? You can't.
So you must have con
Re:Two Problems (Score:2)
You can do this in C++ too, via creative use of templates. Basically, you take advantage of the fact that you can convert Base to Derived pointers. Off the top of my head, I think something like this should work (where you inherit from AssertDerivedBase<H
Re:Two Problems (Score:1)
In C# 2.0 (Score:1)
Re:In C# 2.0 (Score:1)