Slashdot Mirror


EiffelStudio 5.2 For Linux Released

sniesen writes "ISE finally released EiffelStudio 5.2 for Linux (and other UNIXes) today. There's free non-commercial editions available for both Windows and Linux. It's good to see that the best O-O language available still strives quite a bit."

43 comments

  1. VA Systems Stock Price? by egg+troll · · Score: 0, Offtopic

    Nothing quite like seeing a HUGE ad for Microsoft's Visual Studio right underneath this story.

    --

    C - A language that combines the speed of assembly with the ease of use of assembly.
  2. What the hell is it? by Anonymous Coward · · Score: 0

    I guess I'm not a true geek. I have no idea WTF this product is (Other then an IDE or somesuch), or how it differs from the dozen other IDE's... or why it's so signifigant.

    1. Re:What the hell is it? by sniesen · · Score: 3, Informative

      EiffelStudio is an implementation of an Eiffel compiler, a few class libraries and an IDE. ISE is Bertrand Meyer's company, who is the "inventor" of Eiffel.

    2. Re:What the hell is it? by MarkX · · Score: 5, Informative

      This is a development environment for creating applications in the Eiffel programming language. Eiffel was created by Dr. Bertrand Meyer.

      Eiffel is a completely OO language supporting several advanced features and particularly focused on creating safe bug free systems. It's main claim to fame is its integration of design by contract into the language with method pre and post conditions and class invariants. This allows a developer to express the possible states an object can be in, and the necessary pre and post condictions before a method can be called on an object. It also support a very safe method of expressing multiple inheritance that allows the developer to control which ancestor a method is inherited from if there is a conflict, thus allowing the developer compelte control over the inheritance of methods. It also supports garbage collection. I'm sure there are other things it supports that I'm forgetting.

      Bertrand Meyer is also the author of "Object Oriented Software Construction" which has been described as: "The definitive tome on Object-Orientation..." It is well worth a read. A review was done here in 1998. I picked up the book because of that review. I personally learned a great deal from it. I had been doing OO programming for some time at that point, but after reading OOSC I "owned" the methodology. I have had every employee I have hired to do development read significant portions of it as part of their training. I can't recommend it too highly. This from a person who has never used Eiffel. What he has to say is highly valuable regardless of what OO language you are using.

      MarkX

    3. Re:What the hell is it? by 0x0d0a · · Score: 5, Informative

      I've been looking at eiffel recently. I need to sit down and code something in it to see whether it's really what I want and read more than the basic tutorial, but I'm facinated by some of the things it does.

      It generates very fast code. Other than C/C++ and ML, it's right up there. No Java sluggishness.

      It's got *smart* assertions. I'll bet the compiler can have tons of fun with optimization. Lots of room to make it blisteringly fast.

      It's safe. No writing to random memory.

      The templating system is to *die* for. It does what I wish ML could do. Basically, from my brief skimming of the thing, leave a type out on a parameter, and when you pass in different types it creates templated functions. Cool.

      The biggest thing is pretty much the performance. You can use C/C++ (not safe languages, not all that designed around application development), ML (not great if you aren't one of those functional language wackos :-) ), or eiffel to get decent performance.

      After that, the hit starts to become uncomfortable to me. A brief stint with QuickBASIC and later MATLAB left me hating slow languages -- it always ends up with you doing 10x the work to get the one bit of the program that must run quickly to zip along.

      Uh...what else. The build system is integrated into the language, like SML. Definitely weird if you're used to GNU Make, but on the upside you don't have to use that godawful autoconf!

      There's a free (fairly good) eiffel compiler, called (IIRC) SmallEiffel if you want to play with it. The one listed in the article is commercial.

    4. Re:What the hell is it? by Anonymous Coward · · Score: 0

      MATLAB written properly is very fast - one must take advantage of vectorised/matrix operations.

      MATLAB is basically APL-with-C-like-syntax-instead-of-scary-weird-symb ols.

      Just as it's stupid to iterate 1 by 1 over an APL array, it's stupid to iterate 1 by 1 over a MATLAB array.

      I'm not accusing you personally, I've just seen lots of physicists writing "C or BASIC or FORTRAN77"-style procedural code in MATLAB, which is missing the point entirely. Then they wonder why their code is slow.

    5. Re:What the hell is it? by DJSpray · · Score: 3, Interesting

      Both implementations look very promising, but there's always a problem. I've been aware of Eiffel for at least 9 years, but have never been able to use it for a real project, and, unfortunately, it looks like I will still not be able to.

      The barriers now are the cost of the commercial IDE, which is pretty far out-of-line (but if that was the only barrier, it would not be enough to keep me from using it). My co-developer is a Microsoft user and is very pleased by the idea of being able to use his Visual Studio environment. So they've got at least one developer here interested that way.

      The more important barrier is lack of a ready-to-roll set of tools for MacOS X. Normally I'd not be averse to becoming beta testers, but we can't bet this project on the quality of a beta.

      I'll check back in another 9 years, I guess.

      It's these "minor" practical matters more than anything else which means I'm still using the living hell that is C++ for my bread-and-butter work.

      Paul R. Potts

    6. Re:What the hell is it? by C+Joe+V · · Score: 1
      It's safe. No writing to random memory.

      Does this mean they actually implemented a fix to the covariant-parameter unsafety that used to exist? I haven't paid attention to Eiffel for a few years, so I can't be surprised if they have.

      For those who don't know, earlier versions of the Eiffel language had a serious bug whereby you could write a program that would compile just fine but would end up calling a method on an object that didn't implement that method, resulting in an ungraceful crash. The problem was due to the way method parameter types are allowed to change in subclasses, and IIRC a couple of different fixes were proposed, but I had heard rumors that the Eiffel implementations did not actually use them, leaving the language unsound.

      So what's the current story on this?

      JV

    7. Re:What the hell is it? by 0x0d0a · · Score: 2

      No, I'm aware that you need to vectorize your code. The problem is that this is really a pain in the butt to do -- hence 10x the work. I suspect that a vetran MATLAB coder is pretty good at vectorizing. Better than I am at least -- for me, anything above basic operations takes a bit of thinking. Also, it makes experimenting annoying -- you find a fast way to vectorize some series of operations, and then you need to restructure your code...

      I mean, I'm quite fine with the MATLAB designers accelerating the beejezus out of matrix operations. But give the language enough pep to let them use more traditional program structure if it's more convenient.

      Also, while it's easy to vectorize most things, I remember a friend doing image recognition/generation research over the summer, and using MATLAB. He spent three days tracking down one vector operation that was far slower than he had expected (I think there was an operation that required growing an array or something). He could have trivially done this in C or another "fast" language, but ended up doing some logarithmic pre-resizing or something to keep the thing humming along at a decent clip. [shrug] I don't remember the details very well.

      I've never used APL, so I can't comment there.

    8. Re:What the hell is it? by Anonymous Coward · · Score: 0

      Well, if you're not going to vectorise, then why use matlab??? You might as well use C.

      The matlab extension-writing specs are open*, so there's also nothing stopping you writing some bits in C and some bits in matlab as appropriate. matlab is higher performance than c, at least as good as H.P.Fortran for vectorised stuff.

      * Note that matlab itself isn't - for an open clone try Octave.

    9. Re:What the hell is it? by Anonymous Coward · · Score: 0
      It's main claim to fame is its integration of design by contract into the language[...]
      It's design by contract (TM). I'm not kidding, check their site. Yuck!
    10. Re:What the hell is it? by name_already_in_use · · Score: 1

      As an Eiffel user I agree with your comments on Bertrand's OOSC book - what the actual Eiffel language represents is the real-life IMPLEMENTATION of all the concepts and design methodology as detailed in the book. Therefore, if you think the book is of much value then you are seriously missing out on the benefits it extols by not using the only language and IDE which really puts those ideas into practice. Sure, the methods and ideas are applicable to all O-O languages but the point is that these languages were not designed around these ideas and so inherently require many work-arounds to achieve the same or similar quality of systems. Naturally such 'work-arounds' tend also to break the rules of the methodology in the first place, so you can easily end up back at square one despite the best initial intentions.

      The real problem Eiffel has it that people won't give it a go. It may, or may not, be the best O-O language avaible today but that doesn't really matter if nobody will use it.

      --


      Rake Free + Mac Poker: CardCrusade
  3. Eiffel.net rocks! by Minn_Kota_Marine · · Score: 2, Informative
  4. Great by ajw1976 · · Score: 1, Interesting

    A good programming language that no one cares about or uses.

    --
    1. Bad signature
    2. ?????
    3. Profit
    1. Re:Great by Anonymous Coward · · Score: 0

      instead, of, say perl, which is a shitty programming language that too many people care aqbout and use.

    2. Re:Great by NoRefill · · Score: 5, Informative

      Just because you don't know who uses a language does not mean it is not used in some very interesting places. I know that the Chicago Board of Trade, the largest trader of options and futures, uses it to run their trading floor application for open outcry. It's a huge system that takes bids from the floor, verifies their validity, calculates changes, posts them on the boards, sends them to vendors on the ticker, etc.

      Why be so negative about something you probably don't even know anything about? Eiffel is a great language and design tool. The implementation of Eiffel has been it's biggest drawback and with things like this release of ISE Eiffel, the ideal the Eiffel represents is closer to reality.

      I'll leave my opinion open until I try it. You should try the same.

    3. Re:Great by 0x0d0a · · Score: 3, Interesting

      Yeah, I've noticed that. Seems like all the job reqs these days include Perl, from soft. dev to sysadmining to computer engineering. Now, I know Perl (well, enough of a subset to comfortably code in), but I hate to think of the masses of unmaintainable code being written.

    4. Re:Great by Anonymous Coward · · Score: 0

      The problem you mention is by no means a language-specific one.

  5. The best? by ivanandre · · Score: 1
    Who says?


    Will we begin the "mi dad beats your dad" figth?

    1. Re:The best? by Anonymous Coward · · Score: 0

      Right now. Common Lisp CLOS smokes eiffel. Particularly when you load a design-by-contract package into CLOS. Tee hee.

      Seriously, Common Lisp's MOP (think java reflection on steroids) make it easily the most powerful OO language out there, extensible to incorporate pretty much any "OO" type construct

      And (X)Emacs IS the king of IDEs (Shame it's not itself written in Common Lisp... yet.)

      [Lisp dude ducks and runs away...]

  6. Best O-O language by __past__ · · Score: 4, Funny
    It's good to see that the best O-O language available still strives quite a bit.
    Huh? Why does anyone call a CLOS IDE "EiffelStudio"?
    1. Re:Best O-O language by Anonymous Coward · · Score: 0

      You mean that you can use the Smalltalk IDE to develop CLOS too? Cool.;-)

    2. Re:Best O-O language by Anonymous Coward · · Score: 2, Funny

      Lisp is a fine language, but you are still dumb for posting this.

  7. warning about their mailing lists by Tumbleweed · · Score: 3, Informative

    Don't _ever_ give your name to these assholes - once you get on their mailinglist, they won't let you off it no matter what you do. I tried for _months_ to get off their list, to no avail. :(

    That email account is now dead.

    1. Re:warning about their mailing lists by Ztransformer · · Score: 1

      Weed, On behalf of Eiffel SW I apologize that you had a bad experience with our mailing list. We completely respect people's privacy and your email preferences, and we do regularly remove those who opt out of the list. Generally, there have been problems in the past only when people have gotten themselves on the list multiple times (multiple downloads, or different addresses), though sometimes during periods of employee turnover there might have been some list-maintenance issues as well. Hey, what can I say, we are human (contrary to how you made us sound). There have been a lot of cool changes both inside and out. I invite you to give Eiffel Software a try again sometime. Until then, regards

      --
      C.Ambarian VP S&M, Eiffel SW
    2. Re:warning about their mailing lists by Tumbleweed · · Score: 2

      Nice bit of attempted spin, but I'm not buying it. I wasn't subscribed multiple times, or with multiple email addresses. I used the instructions provided to opt out to not avail. I sent email messages to multiple addresses (postmaster, abuse, etc.) to try to get off the list, and not only did I never get OFF the mailing list, I never even got so much as a reply. I don't know what the problem is, but if you can't even automate your mailing list properly, one has to wonder about your technical competence in other areas. The period covered by all this measured over SIX MONTHS.

      Automation ... look into it.

  8. How does it compare to SmallEiffel? by avdi · · Score: 2

    Eiffel is on my list of languages to learn, and I've been wandering if the Free SmallEiffel is a complete, useful implementation; or whether the official EiffelStudio would be preferable. Anyone out there with experience in both?

    --

    --
    CPAN rules. - Guido van Rossum
  9. SmallEiffel's no more by ncuny · · Score: 3, Informative

    Since september, SmallEiffel has been renammed to 'SmartEiffel'. Official site here : http://smarteiffel.loria.fr/

    I only know SmartEiffel as its developped at my university and i've learned OO programming with it. For casual development id definitely use Java but Eiffel is certainly helpful when failproof software is needed. The libs of SmartEiffel are really limited but its enough for a quick look at the language.

    1. Re:SmallEiffel's no more by p3d0 · · Score: 4, Informative

      The Gobo libraries are a free, portable set of libraries. They're not as rich as the Java libraries---what is?---but I gather they are pretty good.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    2. Re:SmallEiffel's no more by Circuit+Breaker · · Score: 1

      Python Libraries are about as reach as the Java libraries. Except for JMS (which is not _that_ good), I know of nothing that ubiquetous that Java has and Python doesn't.

  10. Screenies.. by Anonymous Coward · · Score: 0

    Where the hell are the screenshots?

    Why does their web site look like it crawled out of a clip-art bargain bin? (pictures of suits shaking hands, etc).

    30 seconds of clicking around their web site and I still don't know what the fuck their product does or looks like. PICTURES, gentlemen, please!

    Why should I care? I don't. Next article...

    1. Re:Screenies.. by sniesen · · Score: 2, Informative

      Look more carefully next time:
      Here's a screenshot ;-)

  11. Good heavens look at the price! by LWATCDR · · Score: 3

    $4799 if you want to use it for commercial programs?
    I am sorry but that is about 10 times too much.
    If you want people to use it then it has to be cheaper.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  12. Threads, GC and philosophy... by thallgren · · Score: 2, Interesting

    I never understood why they limit objects created on one thread to that thread. It's incredibly common to have a producer thread that enqueues objects for another thread to consume.

    But in the Eiffel world, they talk about sending data over tcp/ip to solve this.

    Does anyone know the reasons? I understand that the GC may be a lot simpler to implement, but this can't surely be the actual reason, can it?

    Regards, Tommy

    1. Re:Threads, GC and philosophy... by briansmith · · Score: 1

      It is just philosophical. I believe that it is explained in OOSC2. Or search for "active class" or "active object" on the Internet.

  13. Aversion to French Software by Anonymous Coward · · Score: 0

    Is it just me or does anyone else have an aversion to software either written in or related to France?

    1. Re:Aversion to French Software by Anonymous Coward · · Score: 0

      yes, it's probably just you

  14. Get the FREE edition here! by Anonymous Coward · · Score: 0

    Here you can download the Linux, Windows and Eiffel for .NET Visual Studio plug-in (known as ENViSioN!).

  15. Bomb the French! by gatkinso · · Score: 2


    For what they did to us at Pearl Harbor!

    --
    I am very small, utmostly microscopic.
  16. Bounce Filter by Shamanin · · Score: 2

    In the future you might want to apply a filter to bounce back the message to the sender (if your email program supports this).

    That's what I did for an endless barrage of ziffdavis stuff after downloading a file off one of their sites. Same thing... opted out of all of the send notifications but was getting about 4 spams a day.

    Most likely, they will remove you from the list after receiving the bounced email thinking the account is bunk. In either case, as long as the filter is on, you will never know the difference.

    --
    come on fhqwhgads