Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

EiffelStudio O-O Programming Suite for Mac OS X

pudge posted more than 10 years ago | from the objects-here-and-everywhere dept.

Programming 42

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."

cancel ×

42 comments

Sorry! There are no comments related to the filter you selected.

Advantages? (2, Insightful)

Llywelyn (531070) | more than 10 years ago | (#8073518)

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

Re:Advantages? (4, Funny)

DAldredge (2353) | more than 10 years ago | (#8073587)

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!

Re:Advantages? (1)

FredFnord (635797) | more than 10 years ago | (#8076234)

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

Sheesh.

-fred

Re:Advantages? (1)

DAldredge (2353) | more than 10 years ago | (#8076863)

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.

Re:Advantages? (5, Informative)

mean pun (717227) | more than 10 years ago | (#8074571)

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.

Re:Advantages? (4, Informative)

ajagci (737734) | more than 10 years ago | (#8075342)

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.

Re:Advantages? (0)

Anonymous Coward | more than 10 years ago | (#8094920)

>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.

Re:Advantages? (3, Informative)

Blitter (15795) | more than 10 years ago | (#8076847)

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 [loria.fr] , a pretty good GPL'ed implementation of the language.

Re:Advantages? (0)

Anonymous Coward | more than 10 years ago | (#8094605)

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

Re:Advantages? (4, Funny)

danigiri (310827) | more than 10 years ago | (#8074612)

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. =)

Re:Advantages? (3, Insightful)

AK47 (47846) | more than 10 years ago | (#8075188)

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.

Re:Advantages? (0)

Anonymous Coward | more than 10 years ago | (#8077984)

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++.

Spend your time getting Lazarus working instead! (5, Insightful)

akejay (173331) | more than 10 years ago | (#8073575)

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.

Re:Spend your time getting Lazarus working instead (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8073702)

And then you figure in the SCO fees for the Mac, Linux, and Unix versions...

Re:Spend your time getting Lazarus working instead (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8073731)

Well that assumes you know three cock-smoking teabaggers.

Re:Spend your time getting Lazarus working instead (-1)

users.pl (689022) | more than 10 years ago | (#8073810)

Cock-smoking teabaggers... what are they all about? Are they good or are they whack?

Re:Spend your time getting Lazarus working instead (-1)

users.pl (689022) | more than 10 years ago | (#8073830)

I, for one, welcome our new whack overlords.

Eiffel is not bad, but... (4, Interesting)

coolmacdude (640605) | more than 10 years ago | (#8073648)

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.

Re:Eiffel is not bad, but... (4, Informative)

nacturation (646836) | more than 10 years ago | (#8073736)

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.

Re:Eiffel is not bad, but... (3, Informative)

am 2k (217885) | more than 10 years ago | (#8074665)

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

Re:Eiffel is not bad, but... (1)

SJS (1851) | more than 10 years ago | (#8203916)

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.

Re:Eiffel is not bad, but... (1)

coolmacdude (640605) | more than 10 years ago | (#8073772)

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.

Re:Eiffel is not bad, but... (2, Informative)

ajagci (737734) | more than 10 years ago | (#8075272)

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.

Re:Eiffel is not bad, but... (1)

jhunsake (81920) | more than 10 years ago | (#8076831)

Good thing there are open source versions such as SmartEiffel [loria.fr] and Fine [sourceforge.net] !

Safari. (4, Funny)

Daleks (226923) | more than 10 years ago | (#8073907)

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.

Re:Safari. (1, Informative)

Anonymous Coward | more than 10 years ago | (#8074011)

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.

Re:Safari. (3, Interesting)

roskakori (447739) | more than 10 years ago | (#8074233)

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.

Re:Safari. (2, Insightful)

RevAaron (125240) | more than 10 years ago | (#8075461)

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.

Re:Safari. (1)

CTalkobt (81900) | more than 10 years ago | (#8082077)

>>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 ).

Re:Safari. (2, Informative)

Lagos (67371) | more than 10 years ago | (#8074751)

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.

Safari and Mac IE (1)

kaan (88626) | more than 10 years ago | (#8075610)

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.

direct download links (5, Informative)

roskakori (447739) | more than 10 years ago | (#8074073)

Re:direct download links (-1, Redundant)

Anonymous Coward | more than 10 years ago | (#8074116)

muchos gracias

Re:direct download links (1)

name_already_in_use (604991) | more than 10 years ago | (#8089980)

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.

It looks like Slashdot got spammed too. (1, Informative)

Anonymous Coward | more than 10 years ago | (#8075101)

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

I guess Slashdot got spammed as well.

Unique Features? (1)

beelsebob (529313) | more than 10 years ago | (#8075379)

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

Re:Unique Features? (2, Insightful)

__past__ (542467) | more than 10 years ago | (#8076858)

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?

Re:Unique Features? (1)

ajagci (737734) | more than 10 years ago | (#8078024)

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.

Re:Unique Features? (1)

arkanes (521690) | more than 10 years ago | (#8088366)

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)

I thought it was dead... (0)

Anonymous Coward | more than 10 years ago | (#8079178)

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.

Re:I thought it was dead... (0)

Anonymous Coward | more than 10 years ago | (#8080122)

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

If you want pure objects though... (3, Informative)

Lord of the Fries (132154) | more than 10 years ago | (#8085847)

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.
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>