Slashdot Mirror


EiffelStudio O-O Programming Suite for Mac OS X

name_already_in_use writes "Eiffel Software released their object-oriented programming environment for Mac OS X. It is a powerful language offering all the usual O-O wonders as well as few unique features of it's own (Design by Contract, generics). All compiled code can be run on multiple platforms including Windows, Linux, Solaris, and of course now Mac OS X, so there's no need to re-write code for different architectures."

42 comments

  1. Advantages? by Llywelyn · · Score: 2, Insightful

    What are the advantages/disadvantages of Eiffle compared to languages such as Ruby or Python?

    --
    Integrate Keynote and LaTeX
    1. Re:Advantages? by DAldredge · · Score: 4, Funny

      It doesn't take over your higher brain functions and make you ask questions about it in every forum you can like Python and Ruby.

      That is a plus!

    2. Re:Advantages? by mean+pun · · Score: 5, Informative
      What are the advantages/disadvantages of Eiffle compared to languages such as Ruby or Python?

      Eiffel is designed for large-scale programming. For that purpose it has strong typing, generics (roughly: C++ templates done right), a good module system, design by contract (rougly: assertions on class members). All in all it is a well-designed language with two big flaws: it has a quirky syntax (sometimes different for the sake of it), and it is not popular; the price of the official compiler doesn't help.

      Python is in its own way also a well-designed language, but you don't want to write large programs in it, i.e. software that requires a team to implement. I don't know Ruby, but I suspect the same applies.

      Eiffel is also interesting in that the designer has never released a really free version of the compiler. Usually that is deadly for an obscure language. After all who would be mad enough to pay for a compiler without knowing the language? Somehow Mr. Meyer has earned his living all these years selling Eiffel compilers. I don't know any other language designers that have managed this.

    3. Re:Advantages? by danigiri · · Score: 4, Funny

      Just one: it sucks.

      No, really.

      Well, just kidding, actually. I happened to have to develop a 25000+ lines of code project for college. In three months (along with other subjects of course). In Eiffel. It helped a little that there were three of us to complete it.

      The professor was the worst I have ever had in my long career. He basically told us: "you must complete this project with this zillion features to pass, it will be coded in a language called Eiffel, it is great, go get some documentation on how to code in it".

      It was a coding nightmare, coding 12h *everyday* for the last month. There is simply no other way to code a 25000+ lines project in an unfamiliar lang in so short a time. The bastards gave us a 'C'.

      Eiffel might be great and all, but please understand whenever I stand up and deface it.

      There, I had to say it, now I feel better. =)

    4. Re:Advantages? by AK47 · · Score: 3, Insightful

      Eiffel is a great language, and Meyer's book is wonderful. However, we live in a C++-centric world when it comes to OOP. Much of this has to do with good marketing by AT&T and bad marketing by Meyers. From my personal experience, I can tell you this--you will live in a world of pain, if you learn Eiffel and then develop in C++. You will learn OOP right--and then see it done wrong. And every day, the hurt will continue. Spare yourself, and succumb to the popular methodologies.

    5. Re:Advantages? by ajagci · · Score: 4, Informative

      Eiffel is designed for large-scale programming.

      It may have been intended for that, but a language that for years didn't even support type-safe separate compilation clearly wasn't designed for large-scale programming.

      All in all it is a well-designed language

      No, it is not a well-designed language and it never was. It is a language that sounds appealing to a software engineer because it seems to embody good software engineering practices (whether it does or does not is a separate debate). But in order to be a well-designed language, it first needs to get the basics right: the type system, separate compilation, a reasonable set of language constructs, etc., and Eiffel fell short there for years.

    6. Re:Advantages? by FredFnord · · Score: 1

      Come on. +5 funny? Maybe. +5 Interesting?

      Sheesh.

      -fred

      --
      Sign #11 of Slashdot overdose: You see the phrase 'moderate Republican' and you wonder if that would be a +1 or a -1.
    7. Re:Advantages? by Blitter · · Score: 3, Informative
      Eiffel is also interesting in that the designer has never released a really free version of the compiler

      well, i think there was/is a "personal" version for windows and linux that's free but limits the number of classes you can have in a program.

      if you want a "free speech" compiler, don't overlook SmartEiffel, a pretty good GPL'ed implementation of the language.

      --
      I am Jack's writable stack pointer.
    8. Re:Advantages? by DAldredge · · Score: 1

      Don't ask me! I have been banned for moderating, since I started griping about the stupidity of buying a /. sub I haven't been able to mod.

      As a matter of fact it started when some AC bought me a /. sub.

    9. Re:Advantages? by Anonymous Coward · · Score: 0

      Much of this has to do with good marketing by AT&T and bad marketing by Meyers.

      No, it has to do with C++ putting utility ahead of dogma, while Eiffel put dogma ahead of utility.

      From my personal experience, I can tell you this--you will live in a world of pain, if you learn Eiffel and then develop in C++. You will learn OOP right--and then see it done wrong. And every day, the hurt will continue.

      If you want to "learn OOP right", learn Smalltalk. Eiffel is as oddball an OOL as C++, only it's oddball in different ways. And, as you observe, Eiffel warps people's minds so that they are then useless as real-world programmers.

      Spare yourself, and succumb to the popular methodologies.

      Yeah, succumb to using practical languages that actually get the job done. If you want easy-to-use languages, use C#, Java, or Python. If you want true OOP, use Smalltalk. If you need performance and control, use C++.

    10. Re:Advantages? by Anonymous Coward · · Score: 0

      Well, if your looking for a free Eiffel compiler, you can go to http://SmartEiffel.loria.fr

    11. Re:Advantages? by Anonymous Coward · · Score: 0

      >it first needs to get the basics right: the type system, separate compilation, a reasonable set of language constructs, etc., and Eiffel fell short there for years.

      No language get everything right for everybody, but Eiffel gets a few things right.

      Simple syntax - unlike C++
      Multiple Inheritance - and it handles the duplicate ancestor problem
      Design by Contract - Its much easier when the language handles it. Plus is easy to turn it off in production code.
      Garbage collection
      Its compiled and runs fast - unlike Java
      Generics - unlike Java (yet) and cleaner than C++
      Static Typed

      The reason I use it is because you can't get multiple inheritance, design by contract and garbage collection in any other language.

  2. Spend your time getting Lazarus working instead! by akejay · · Score: 5, Insightful

    quoting from various places on the website:
    "The Free Edition license is for non-commercial use only. Pricing for the Windows, Linux, and Mac versions of EiffelStudio is US$ 4,799.00. Pricing for the Unix version of EiffelStudio is US$ 7,999.00."

    Almost thirteen grand for a "cross-platform" setup. Nuts to that.

    --
    one, two, one two like a duck
  3. Eiffel is not bad, but... by coolmacdude · · Score: 4, Interesting

    They shot themselves in the foot with licensing. The Eiffel model and syntax is actually much more logical (and some would say better) than C and Java. But they made their compiler and dev kit obscenely expensive, while the others were free. I just don't see them ever recovering from that. C/Java type syntax has become the standard and switching to something completely different would be difficult.

    --

    -You may license this sig for only $6.99.
    1. Re:Eiffel is not bad, but... by nacturation · · Score: 4, Informative

      They shot themselves in the foot with licensing.

      ... and also from the fact that their site doesn't work in Safari. Their "contact us" link doesn't even work (it appears to attempt to open a dhtml panel). I don't think they'll be getting too many Mac orders just yet.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    2. Re:Eiffel is not bad, but... by coolmacdude · · Score: 1

      LOL! I phrased my post in the past tense because I was under the impression their licensing model was now more reasonable. From the post above mine I can see I was badly mistaken. That is just ludicrous.

      --

      -You may license this sig for only $6.99.
    3. Re:Eiffel is not bad, but... by am+2k · · Score: 3, Informative

      "Contact Us" doesn't work in Camino either. Great work!

    4. Re:Eiffel is not bad, but... by ajagci · · Score: 2, Informative

      The Eiffel model and syntax is actually much more logical (and some would say better) than C and Java.

      Not really. During its adoption phase, Eiffel was a complete mess: it lacked important features (e.g., method pointers), it lacked type-safe separate compilation, and the language definition had other serious bugs. The language failed because it was poorly designed.

      The only reason people talked about Eiffel at all was because Meyer was also an advocate of what was considered sound software engineering principles--a vendor of silver bullets--and people thought they'd get a bit of that automatically if they used Eiffel. Without that gimmick, Eiffel wouldn't even be used to the limited extent that it is used today.

    5. Re:Eiffel is not bad, but... by jhunsake · · Score: 1

      Good thing there are open source versions such as SmartEiffel and Fine!

    6. Re:Eiffel is not bad, but... by SJS · · Score: 1
      The site doesn't work (for me) with OmniWeb either.

      I've run across a couple of Eiffel proponents who evangelized the wonders of all things Eiffel, but I've never seriously looked at the language. And if they can't make their site work for a target audience, they're not likely to get me to look at it either.

      --
      Pick One: http://www-rohan.sdsu.edu/~stremler/sigs/sigs.html (Note - disable Javascript first!)
  4. Safari. by Daleks · · Score: 4, Funny

    Anyone notice you can't download it with Safari? The website keeps griping about not having cookies enabled, even though they are. If they didn't even test their website with the most common Mac browser, then I wonder how well QA-ed their Mac port is.

    They also want your address for the free edition. Right. I wish companies would just let us download their software and have fun with it, hassle free. I could barely download RealOne player the other day because accounts for jkl@jkl.com, asdf@asdf.com, etc. were all taken. Meh.

    1. Re:Safari. by Anonymous Coward · · Score: 1, Informative

      Had to change the javascript to get passed the cookie check. Here's the mail I got with the links.

      --

      Thank you for your interest in EiffelStudio's Free Edition for Macintosh.

      To ensure your success with your new Eiffel software, we highly recommend that
      you read Dr. Bertrand Meyer's acclaimed classic, "Object Oriented Software
      Construction, 2nd Edition," often referred to as the "bible of object-oriented
      programming". Reading this book will DRAMATICALLY accelerate your learning
      curve and satisfaction with Eiffel. If you don't have it, you can purchase
      it from Eiffel Software now (http://www.informit.com/promo/eiffel), or from
      Amazon.com (http://www.amazon.com). This book is a sound investment in your
      productivity.

      Also, if you are part of a team of developers considering or choosing Eiffel,
      we invite you to consider in-house training as the absolute best way to get
      yourself or your team up to speed with Eiffel. Give us a call at 1-805-685-4395
      (Pacific Time), or send us an inquiry at sales@eiffel.com, we will be happy to help.

      The download file can be found at:

      FTP:
      (US) ftp://ftp.cs.rit.edu/pub/mirrors/ise/download/maco sx/54/Eiffel54.dmg
      (US) ftp://ftp.gmu.edu/eiffel/ftp.eiffel.com/pub/downlo ad/macosx/54/Eiffel54.dmg
      (Europe) ftp://ftp.inf.ethz.ch/pub/mirror/eiffel/macosx/54/ Eiffel54.dmg
      (Europe) ftp://ftp.um.es/mirror/ftp.eiffel.com/macosx/54/Ei ffel54.dmg
      (Europe) ftp://apollon.cs.abo.fi/eiffel/ftp.eiffel.com/pub/ download/macosx/54/Eiffel54.dmg
      (Europe) ftp://ftp.di.fct.unl.pt/pub/languages/eiffel/macos x/54/Eiffel54.dmg
      (Europe) ftp://ftp.gd.tuwien.ac.at/languages/eiffel/downloa d/macosx/54/Eiffel54.dmg
      (South America) ftp://ftp.pucpr.br/eiffel/macosx/54/Eiffel54.dmg
      (US) ftp://ftp.eiffel.com/pub/download/macosx/54/Eiffel 54.dmg

      HTTP:
      (Europe) http://www.cs.abo.fi/eiffel/ftp.eiffel.com/pub/dow nload/macosx/54/Eiffel54.dmg
      (Europe) http://ftp.di.fct.unl.pt/pub/languages/eiffel/maco sx/54/Eiffel54.dmg
      (Europe) http://gd.tuwien.ac.at/languages/eiffel/download/m acosx/54/Eiffel54.dmg
      (Europe) http://www.um.es/ftp/mirror/ftp.eiffel.com/macosx/ 54/Eiffel54.dmg
      (US) http://ftp.eiffel.com/pub/download/macosx/54/Eiffe l54.dmg

      This file will be available for the next 24 hours. For installation follow
      the instructions included on the disk image.

    2. Re:Safari. by roskakori · · Score: 3, Interesting

      If they didn't even test their website with the most common Mac browser, then I wonder how well QA-ed their Mac port is.

      eiffel uses "design by contract", which is a very powerful concept to avoid bugs or at least find them quickly at runtime. my impression always has been that because of this, eiffel developers hardly perform any additional quality assurance measures.

      one of the stories that destroyed eiffel's reputation for years (decades?) was how very early compilers treated hello world: it compiled for minutes, produced an executable that was 2MB of size and crahsed when executed. now, this has long been fixed, but people keep telling it over and over.

      it almost reminds me of those computer science lectures where one proves that a program is correct, and then walks home without ever implementing and executing it.
    3. Re:Safari. by Lagos · · Score: 2, Informative

      There is a bug in the following Javascript on the page:

      function validate(aForm)
      {
      if (cookies_enabled() == true)
      {
      checkForSelection (aForm);
      }
      else
      {
      alert ("You must have cookies enabled to proceed.");
      }
      }

      Apparently, cookies_enabled() is unreliable under both Safari and OmniWeb. To fix this, either change the condition to true or use one of the direct download links someone has been kind enough to post below.

    4. Re:Safari. by RevAaron · · Score: 2, Insightful

      compilers may improve in generating more efficient binary code from eiffel. computers may get faster, making that hello world file take less than minutes on end.

      but the one thing that really won't change is the language. it still takes 20 lines to make a hello world in Eiffel.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    5. Re:Safari. by CTalkobt · · Score: 1

      >>it almost reminds me of those computer science lectures where one proves that a program is correct, and then walks home without ever implementing and executing it.

      This reminds me of a class that I had in which the teacher passed out a printed copy of a program and asked if it would work. I stated "No", while everyone else said "Yes."

      The teacher stated that it had worked when he typed it in. I insisted that it shouldn't have. It turned out I was right. The VAX pascal compiler wasn't checking for array underflows correctly ( eg: declard 1...4 and element 0 was accessed ).

      --
      There's a gorilla from Manilla whose a fella that stinks of vanilla and has salmonella.
  5. direct download links by roskakori · · Score: 5, Informative
    1. Re:direct download links by name_already_in_use · · Score: 1

      It's funny because the links you sent are regular ftp links and refer to files available for download. Click on the link in IE or Netscape and you can download the file. Click on it in Safari and you get a screen full of crap - what kind of shitty browser can't even deal with a ftp url? Seriously, is it any wonder nothing works in Safari, on account of it being so lame? That's what just annoys me about Macs sometimes, too much incompatibility with other software.

      --


      Rake Free + Mac Poker: CardCrusade
  6. It looks like Slashdot got spammed too. by Anonymous Coward · · Score: 1, Informative

    These guys have been spamming the Mac forums. Posts everywhere about this (and nobody cares).

    I guess Slashdot got spammed as well.

  7. Unique Features? by beelsebob · · Score: 1
    Since when are design by contract and generics unique to eiffel? Ada has generics, plenty of languages go farther and have full polymorphism... Design by contract is easy enough to do in any language.

    Bob

    1. Re:Unique Features? by __past__ · · Score: 2, Insightful

      As far as I know, Design By Contract is only easy to do if a) the language has explicit support for it built in, like Eiffel or Sather, b) the language is flexible enough to change important aspects of the object system in plain user code, like Common Lisp, or c) you consider ugly hacks with nonstandard preprocessors easy, like with the packages that turn magic Java comments into checked assertions. I don't much like the c approach, but I don't see another way to do DBC in Java (or C++, or whatever other language). Did I overlook something?

    2. Re:Unique Features? by ajagci · · Score: 1

      You could use AOP tools (e.g., aspectj.org), which generally let you implement design-by-contract as a special case of more general mechanisms.

      In any case, between unit tests and the regular use of assertions, you pretty much get all the benefits of design-by-contract in just about any language. Explicit language support for design-by-contract is not needed, and design-by-contract is really just selling old ideas under a new name.

    3. Re:Unique Features? by arkanes · · Score: 1
      Design by contract is really only interesting (or, imo, worth using) when it's implemented as a language feature (or at least a compiler one). The whole point is that pre- and post-conditions are checked for you automatically, if you have to do it yourself you may as well do it with assert macros everywhere. It's an old idea, of course, the whole point of it being "design by contract" instead of "use lots of asserts to ensure validity" is that you define the conditions and the checks are handled automatically. It's kinda like how you can implement virtual functions manually in C if you want, but the whole point of them in C++ is that the compiler handles it for you.

      As an aside, the Digital Mars C++ compiler apparently has design by contract support (I'm not sure if it's the same standard as aspectC++ or not, though)

  8. Safari and Mac IE by kaan · · Score: 1

    Neither of them work for me, both complain about cookies not being enabled (they are). Whatever. Since I could not follow their legitimate download process, I used the direct download link from another post.

    As for the email address thing, that's one of the niceties about owning your own domain - you get an infinite number of b.s. address ("blahblah@yourdomain.com, whatever@yourdomain.com, etc.). Then you can specify one rule on the server that routes them all into a junk folder.

  9. I thought it was dead... by Anonymous Coward · · Score: 0

    At least I hoped it was. All these lame-ass wimp ideas for weak-minded people. If they couldn't come here and tout their ideas, they'd have nothing. If they couldn't get uni and government grants to continue their academic masturbation, they'd have nothing.

    1. Re:I thought it was dead... by Anonymous Coward · · Score: 0

      That's right. If they didn't have ideas, and the skills to implement them, then they'd have nothing - just like you.

  10. If you want pure objects though... by Lord+of+the+Fries · · Score: 3, Informative

    May I suggest you look at Smalltalk too, which has been running on MacOSX for, well, pretty much since it came out, and didn't seem to warrant an anouncement on slashdot.

    Both VisualWorks Smalltalk and Squeak have wicked cool environments, lots of neat stuff, public code repositories with lots of stuff, good friendly communities, run quickly, are objects thru-n-thru and of course do the xplatform thing at the binary level.

    That language, Objective-C, which makes much of the cool stuff that is OSX possible, was after all inspired by Smalltalk.

    --
    One man's pink plane is another man's blue plane.