SmartEiffel 1.0 Released
Per Wigren writes "Today SmartEiffel, the GNU Eiffel-compiler finally reached 1.0! Eiffel is a very underrated language in the free software community for some strange reason.. Hopefully this will help to gain some interest in this extremely powerful, fast, easy-to-read, easy-to-learn, almost self-debugging language!"
Eiffel is a functional language!
an implementatation of the towers of hanoi in eiffel? is it free (as in liberty?)
as perl started out great for scripting stuff and has grown, java started out with the promise of write once, run anywhere, what is eiffel's main strength according to it's developers (any users out here?)
I learned OO programming in Eiffel. It's nice and structured. Never made anything useful with it though, compiling was cumbersome (Eiffel > C > binary) and it was impossible to do any GUI stuff with the tools I had back then (95 or so).
beauty is only a light switch away
Maybe I am the only one here..and being that I haven't done any programming in a while might be the cause of this. But i have never heard of Eiffel, and I would honestly like to know a bit more about it...could any /. ers who've used it give me some input?
Or I could just go with the flow "this sucks! use C!"
home of the original cupholder
God, don't you feel dirty after saying something so sheeplike? Is sheeplike a word, people? Because I think it should be.
And so on...
What's the amazing thing about this code and what are its faults? I can't find much info on their website. Some sample code to look at would be really nice just to get a feel for it. Is there a feature list somewhere? A comparison to C/C++/Java?
-N
I've nothing to say here...
Eifel is simply the best language I ever saw on paper, and I looked at quite a few languages for my study.
I never imagined I could ever download a free compiler to actually compile the programs I jotted down during exams.
PERL, what-is-it good-for?
Absolutely-nu-thin'
Ba ba-du-da
*chorus* Say it again... *chorus*
"easy-to-read, easy-to-learn" ... and you think people who prefer perl obviscated code would really buy into something with these sorts of (negative) attributes?
come on fhqwhgads
Maybe Eiffel's underratedness has something to do with it following the functional programming paradigm? Most programmers are still used to more conventional coding. I'm not saying this is a rational argument against the language itself, but when you want to get things done, you use the tools you know best.
Why is everyone gung ho on creating new programming languages. What the hell is point of all these languages. I'm still learning cobol in college right now. I'm off to Java next, and will barely learn C++. So it's no wonder no one uses these "great" languages, no one teaches them. Let's work on the languages we have instead of making new ones. This is like gnome and kde, and for everyone who's gung ho about replying "these are what gives us choice ", free is free people the only thing different between kde and gnome is the developers, they're all just trying to be another mac os/windows clone.
Ignore the "p2p is theft" trolls, they're just uninformed
Any computer program can be expressed in C... why bother with crap...
Yeah, right.. while we're going down that slope at all, any computer program can be expressed as machine code, so why bother with assembly, C, VB, or any of that? Why bother with Photoshop when you can just do stuff pixel by pixel? I think you get the point..
slashdot!=valid HTML
Also, this interesting tidbit from the comp.lang.eiffel FAQ:
(http://omicron.felk.cvut.cz/FAQ/articles/a511.htEiffel is a fine example of a great paradigm which is living in shadow because of programmers' mental inertia. Logical programming could solve many maintenance issues of current software, yet Eiffel is simply ignored.
...Eiffel releases YOU!
I don't know Eiffel, but I've heard of it... here's some useful links that I've found:
Why Eiffel: http://www.elj.com/eiffel/why-eiffel/
Other lins (including tutorials): http://www.cetus-links.org/oo_eiffel.html
I wonder what is meant by all of this "Design by Contract" stuff... I'm not sure yet if this is something useful, or just more buzz-buzz.
There are 10 types of people in this world, those who can count in binary and those who can't.
"functional programming paradigm" ?
Unless things have changed substantially in the last few (um) time-units-of-your-choice, Eiffel is Object Oriented, not Functional.
I've not codes much (only a few KLOC) in Eiffel, but it is a very nice language with lots of help for producing programs that run. My biggest problem with it was that it tended to be a bit on the verbose side.
I am almost pissing my pants in laughter! Not.
Hi there, are we back in 1992 again? Did I just hear a joke that ended in 'Not' a la Wayne's World? Please. Do us all a favor and kill yourself. K thx bye.
When I was at Auckland university we used to dread when the guys doing the stage 3 OO programming course got an assignment.
;)
I once saw 12 of them running the eiffel compiler each instance of which was absorbing over 100M of virtual memory on, as I recall, old DEC unix boxes...
This was back in 1993 so as you can imagine (with relatively limited amounts of RAM and VM in those days and in a relatively small and underbudgeted department) the whole system came to a grinding halt for everyone else. Heck, I couldn't even read usenet news and opening a smallish text file to edit in emacs took around 10 minutes. Which, for vi devotees, *is* unusually long even for emacs
I think they went home for the weekend to leave their compile processes running, meaning that the rest of the comp.sci facility could barely use the unix servers for the duration.
Eventually, as I recall en-masse eiffel compiler processes were *banned* and they were told to spread out their compilation processes over a few days (ie not all 12 students at once).
Since the assignments were weekly this caused problems. I believe they turned to an alternative OO language. I wasn't doing the paper so I don't know which one.
In the free world the media isn't government run; the government is media run.
anger does things, from the berg's-eye-view-dept
Wired News 10:00 PM Dec 02, 2002 PT
http://www.wired.com/news/goatse/0,3883,1309,
Goatse 'It' Guy Breaks Silence, Wind
First he turned down Jon Katz. Then he said no to Harry Knowles.
For years, Goatse Man, the mysterious Net celebrity who is featured at a popular website frequently featured on Slashdot, refused all interview requests, including those from the two titans of internet media.
But Goatse Man, whose fame continues to grow even as he eschews the media spotlight, has finally granted his first sitdown with a reporter, albeit from an unlikely publication.
The interview with the New York Times (free reg), the old gray lady of printed media, will be published Friday.
In that article, Goatse Man reveals he was, as many of his "fans" had guessed, under the influence of drugs during the famous set of photographs lifted from Stile, but exactly what he took, editors at the New York Times aren't saying; all is revealed in the interview. The best guess is amyl nitrate, according to online scuttlebutt.
"It sure as hell wasn't aspirin," said Gerald Boyd, the managing editor who conducted the interview.
Goatse Man became an Internet celebrity after being featured in a set of forty ass-stretching pics taken by his wife for USENET. After the pictures debuted in 1998, Goatse Man quickly shot to Net celebrity, largely because the url is passed around to unsuspecting surfers.
Very little is known about Goatse Man, Phil to his friends, except he's married, lives a stable life and has an MCSE; Goatse.cx isn't revealing any details. The New York Times claims the interview is his first.
The interview contains a number of interesting tidbits, including details on how Hollywood came calling as Goatse Man's online celebrity grew.
Besides inquiries from Letterman and Leno, MTV talked about doing a pilot show. The Farrelly brothers, directors of hit comedies There's Something About Mary and Shallow Hal, were thinking of offering him a role, but got cold feet when they found out the pictures weren't photoshopped.
According to Boyd, Phil turned down Letterman and Leno because he's cognizant that his fame relies on an air of mystique. He is different things to different people. Too much exposure would cause his star to quickly fade.
"He's pretty level-headed about all this," said Boyd. "He's very funny and is a good sport about it all."
But, of course, in true Hollywood style, he now has an agent, Boyd added.
Goatse Man is amused that people have t-shirts and coffee mugs decorated with his ass, but avoids Slashdot and Kuro5hin "because he's heard from friends there's some very weird stuff there," Boyd said.
Phil also reveals how the pictures were taken in the first place. He's a friend of Robert Malda, the editor in chief of Slashdot. The pair went to watch some hardcore gay porn being taped one day, and a couple of spots happened to be open. Both he and Malda were photographed but only Goatse Man's wife caught the magic of the moment. Malda's pictures ended up at a small but increasingly popular website called lemonparty.org.
The Goatse interview is being heavily promoted by the New York Times, which has plastered New York City with Goatse posters.
"We've been hyping this pretty big," Boyd said. "There's certainly been some buzz. I'm excited about it. I think people will get a kick out of it."
The paper scored the interview because someone on staff was an old classmate of Phil's. Goatse.cx has cautioned him not to speak to the press, but Goatse Man figured a newspaper that requires free registration would turn off every privacy nut that reloads slashdot every five minutes at their despairing and menial help desk jobs.
"Goatse.cx is not incredibly psyched about the amyl nitrate rumors," Boyd said.
Boyd said Phil is not a resident of San Francisco's Tenderloin district nor would he reveal any more about this rising star except that Goatse Man didn't need any help fitting a fire hydrant inside himself.
The revelation that he wasn't taking amyl nitrate doesn't trouble his straight fans, who simply don't believe him.
"I don't care what they say," said Rev. Samuel, who sells a line of Goatse-themed 'Stretch Different' T-shirts. "Duuude. Look at him. Just look at him. Oh sweet Jesus, my eyes."
Eiffel is a language with an minimal instruction set (sometimes refered to as RISC language), which is used mostly in environments that emphasize reliability and dependability. It's small instruction set (e.g. there is only one type of loop) make it easy to learn and understand but is taking away some of the fun of coding. Most of the work you put into an eiffel project is to find the right approache, because you don't have too many ways to implement stuff. Here in Europe it's used in mostly academic environments that like the grace of its simplistic approace and its 100% object oriented design.
Tradeoffs of this language are its high compilation time, as Eiffel source gets translated to C and then into a native form, the scarcity of available system libraries and the lack of dynamic features as shared objects and stuff.
If your going to invest some time in this language, a look at those open source projects might be worthwhile:
eposix - POSIX bindings for eiffel
gobo - a collection of tools and libraries to unify the development of applications on diffrent Eiffel compilers
mico/e - a CORBA ORB in Eiffel (DISCLAIMER: I am involved in the development of this project)
To learn more about Eiffel, read this and this and this and if you still have time, this.
Also, check #eiffel on freenode (irc)
Eiffel is the best,
DM
There is a point to creating new languages, but only if you don't expect them to be used by everyone.
There is no language that could possiably be used by everyone, it's just too broad a topic. But given enough ways to do the same thing, everyone will find their own preference. Like in PERL, where there is a million ways to do something, but usually the simplest is best. C is not the end all language, neither is C++, Java or COBOL.
New language research is necessary for the advancement of computers, as as computers become more complex and powerful, the languages we use to tell them what to do must become more expressive.
Besides, effiel is not a new language, it's been around for awhile. Just no free compiler has been developed before (AFAIK). There still isn't a modern Java ( > 1.1 ) implementation that is free ( as in speech ).
Listen, you ignorant child: you weren't even born in 1992 so do us all a favour and SHUT THE FUCK UP. Or I'll rape your mother.
All hail uber-programming god Bertrand Meyer for creating Eiffel! Although, ISE doesn't create a GPL version of Eiffel to my knowledge, they just make EBench, which you have to pay for. Actually, I really hated the language when I first learned it in my second year comp sci class last year, but now I must say, that its grown on me... ahh the joys of being forced into coding by way of OOP... instead of C++ which is rather pseudo-OOP.
Please see the subject line, douche.
- Why is everyone gung ho on creating new programming languages.
Eiffel is not a "new programming language". It's nearly twenty years old, invented in 1985 by Betrand Meyer, and a damn well-respected language at that.Historically Eiffel has probably had more success in influencing other languages and in teaching software construction principles, than actually being used for commercial software projects, although it has seen some popularity in the finance sector. Lately, like certain other niche languages, it has seen its popularity further eroded through the emergence of Java.
Of course it is! It's French. It surrenders at the first sign of trouble and bails out!
...Eiffel is, 1.0 is the,...
... fuck ... um
... my, erhm
...program the is debug this 1 release is class safe broken...
Java and C# are particularly interesting in this regard because they not only support dynamic class/code loading, they also support it safely and with full reflection. That's really the future.
SmartEiffel, on the other hand, takes a static, global program analysis approach to compilation and optimization. It provides almost no reflection or dynamic loading (if you compile to JVM, you may be able to rig something up). I think ultimately, that makes it a fairly unattractive choice for many applications. Even the commercial Eiffel systems only had those features retrofitted over the last few years, which probably accounts in part for the very limited success of Eiffel as a language.
SmartEiffel is a really great concept, and for some niche applications, it is very useful (I have used it for some prototyping). I would very much like to see a safe, batch-compiled language catch on for Linux system programming as an alternative to C/C++. But I just don't think SmartEiffel is it, at least not yet.
Hi, who the fuck cares? Quit your filthy karma whoring.
Sather started as a free subset of Eiffel but then transmuted itself into a related but very different language.
Sather had great support for procedural pre and post conditions (not the aftermarket cheezy afterthought kind of thing that some languages seem to want to adopt), class invariants that could be automatically checked on call and return of a "public" method, class based iterators (not cursor classes, but built into the class itself), constrained genericity, simple (and relatively restricted) overloading ("a + b" became a.plus(b)), unboxed objects and so on....
Without formally measuring it, I'd guess that writing three more or less equivalent programs in Java, C++ and Sather would result in Sather having the lowest LOC count and the fastest development time. Though the tradeoffs were sometimes odd, good pre/post conditions saved me huge amounts of debugging and testing time, but required quite a bit more up front thought on what those conditions were - this resulted in much better code, but sometimes required interesting amounts of redesign.
Sadly, Sather, while still available here is GNU Sather is no longer being developed or supported AFAIK. Were I more of a compiler maven I'd work on it, but I doubt my efforts as a compiler writer would improve things much.
The newer versions of eiffel support a new syntax for the creation of objects. Instead of saying !!io now you say create io So HELLO_WORLD should look like this: creation make feature make is local io:BASIC_IO do create io io.put_string("%N Hello World!!!!") end --make end -- class HELLO_WORLD
whoops!
The newer versions of eiffel support a new syntax for the creation of objects. Instead of saying
!!io
now you say
create io
So HELLO_WORLD should look like this:
creation make
feature
make is
local io:BASIC_IO
do
create io
io.put_string("%N Hello World!!!!")
end --make
end -- class HELLO_WORLD
Damn, people, can the collective computer geeks of the world *please* pick some sort of "standard" language (or at least a very small set of languages, like perhaps C++ for most things, Perl for scripts, and Tcl/Tk for GUIs)?
I personally like C. I consider myself fairly good at it. But honestly, I don't care if we decide "Everyone must code in Forth". Just *some* sort of standard. I'll learn it, and feel happy to "waste" a year mastering it, just to never have to learn another "fad" language.
I see people asking why Eiffel doesn't have more popularity - Why? I can answer that *really* simply. Because we already have too-damn-many languages to choose from!
Yes, a *FEW* choices make sense, because not every language has the same strengths and weaknesses. But really, how many people research all 250+ "major" existing languages to determine the best for each and every program they write? No one. People pick a language that has a lot of general-purpose power and flexibility, and *ONLY* deviate when their first choice literally cannot accomplish the task at hand.
Put out efforts toward making a few projects truly great, not having a huge number of mediocre projects.
Eifel also has plug in and compiler support for Microsoft's .NET initiative. It's pretty cool, actually, because although .NET does not have support for genericity in V1.0 (though it's planned for v2.0), Eifel.NET has overcome this limitation and allows for multiple inheritance and other cool stuff. Take a look here.
There's also an MSDN article.
-jerdenn
Yes there is an example in the distribution. Just go to the example directory and compile.
Nice graphical representation of the slashdot effect.
actually, I was a TA in a class that used Eiffel.
Being an experienced Java programmer also,
I would say that:
You pick your set, I'll pick mine. C++ is hopefully getting ready to die. It's just not pleasant to use. I'm also waiting for the day when the world wakes up and realizes the cruel joke Larry Wall played on it with perl. While some of my most crucial application code is written in C, I've spent more time on it, and trust it far less than stuff I've thrown together in Eiffel.
At home, I've got code I rely on written in Java, Eiffel, C, Objective C, python, bourne shell, smalltalk (although the smalltalk code that I actually use the most I didn't write), tcl, scheme, etc... I've got some perl stuff, too, but I don't maintain it anymore (it asked me not to). This is just the stuff I use day-to-day, and much of it is server code I've written that just runs on its own (Java, C, python, eiffel).
So, that's my set. Anyone who disagrees, make up your own set, continue to research and find better ways to do things, and help us continue to improve computer science in general. Every time I learn a new programming language, I learn a little more about programming, and apply that knowledge to everything I do.
-- The world is watching America, and America is watching TV.
I think Eiffel's lack of success has to do with some serious problems and limitations in the early design of the language, which have only been addressed in the last few years in the main commercial Eiffel compiler. And SmartEiffel does not even implement the full, commercial Eiffel system.
I'd like to buy that book, but $80 is kinda steep. Is it really that good?
the compiter can't create/support dynamically-linked library, which means that it's almost impossible to create large programs...
I found it really good. It's about what an ideal OO programming should look like. It asks and answers lots of questions. Well written.
If I had a sig, I would put it here.
"About a little guy that lives in a blue world
.NET! Any guesses what song rights they will buy, when they launch their new standard development language?
And all day and all night and everything he sees
Is just blue
Like him inside and outside
Blue his house with a blue little window
And a blue Corvette
And everything is blue for him
And himself and everybody around
Cause he ain't got nobody to listen
I'm Blue da ba dee da ba daa
I'm Blue da ba dee da ba daa"
Well, Microsoft DOES have an Eiffel plugin for
...
According to the main Eiffel website, a major aspect of Eiffel is EiffelStudio, their "more than just an IDE" that really makes everything go. They imply that this product is necessary to reap the major benefits of developing in Eiffel, but unfortunately it is quite pricey (not to mention proprietary): the Windows or Linux version will run you $4799. That price, and hitching your wagon to a proprietary star, are major barriers to wider acceptance.
If anyone strongly believes that learning Eiffel is worth the trouble even without a good free (as in speech) IDE, please let me know.
I think you are thinking about Generics; this has to do with providing some type checking when an object is added to a Collection and then not needing a cast when an object is returned by a Collection method. As for boxing, I think primitives are and will be primitives and they have parallel classes without overloaded operations. That's java's story and it's sticking to it.
All you losers philosophising about what the best language is, give it up and start writing decent SOFTWARE in it. I'm sick of finding more languages than useful applications to download. Be like the rest of us developers and put your code where your mouth is.
There is actually a book that compares Eiffel, C++, and Java: Objects Unencapsulated: Java, Eiffel, and C++ by Ian Joyner.
alright,
;-]
we're out there... and quite elusive. Life supposedly gets better. Sometimes I can only fantasize about meeting my replicant. You sort of remind me of myself, which is refreshing. And if it's one thing I totally hate in others is immaturity -- that which comes in many different formats.
Have a nice evening
I agree with you, but most HR goons do not. *They* want some clown with 5 years experience (no more, no less) in VB version N.0 (whatever version came out last month), or some other exact, small, skill set.
I'll not hide behind A/C status to say so, though.
Yow! I'm supposed to have a plan?
He derives all the properties of Eiffel from first principles, convincing you that everything has to be this way or it would be a big mess. But then, you find out that Eiffel has this problem of CATcalls, ie changing availability of typos or something, and thus Eiffel also has serious skeletons in the closet down where it smells bad. Is he the Goedel of software? You be the judge.
The wxEiffel GUI library provides a comprehensive interface to the wxWindows GUI. Database interfaces to Firebird, sqlite, berkeley db, mysql, postgres.
There are even libraries for Regular Expressions and for those who like the perl way of doing things - see Perlish.
The 0.5 release announcement in comp.os.linux.announce gives more details. The ELJ project is undertaking the necessary work to move from SmallEiffel to SmartEiffel.
There are many other open source Eiffel projects:
Eiffel has come a long way over the years. Misconceptions still abound. You can now develop multiplatform applications using open source Eiffel tools and libraries. There are small hurdles to jump as there are with anything. Give it a try and become involved if there is something about Eiffel which you find appealing.
Eiffel has been around for about 17 years, so a lot of people who used it a long time ago and haven't used it since moan about old problems with the language THAT SIMPLY DON'T APPLY MORE. Here is an up to date list of cool things about Eiffel:
.NET language. Eiffel Software have made a Visual Studio plug-in, and EiffelStudio (previously EiffelBench, or EBench) can also be used to make .NET or non-.NET applications.
.NET implementation of Eiffel adds some programming mechanisms that are NOT available in Java, C#, C++. Namely these are multiple inheritance of classes, genericity (true generics), design by contract (pre- and post- conditions/assertation to improve software reliabilty and greatly ease the debugging process).
.NET plug-in) from there web site.
- Compilation is not so slow anymore.
- It a full
- EiffelStudio is the IDE for creating Eiffel applications was COMPLETELY REWRITTEN a couple of years ago, so previous uses of EiffelBench won't recognise it anymore. The new studio is better in every respect and has the best class browsing facilities you will find in any IDE ANYWHERE (I'm not kidding).
- EiffelStudio was written using Eiffel Software's Vision2 library - a 100% platform independent library meaning it is identical on Windows and *nix platforms. You can use Vision2 to make your own cross-platform interfaces with real ease.
- The
- Eiffel Software provide a FREE version of EiffelStudio and Envision! (the
There's loads more to this language, but aint got time to talk about it, so just check it out yourself.
Rake Free + Mac Poker: CardCrusade
SmartEIFFEL releases you!
You're learning COBOL right now?
Don't forget to brush up on your PL/I, APL, RPG, and ALGOL.
> Some features of Eiffel are debatable, one of which is covariance for parameters: This means that if you override a method in
It's good that you mention it, but I wouldn't say this "feature" is debatable, it's just wrong. The only way they can recover static safety with this bug is to do whole-program analysis! If they really want to take a structured and pure OO approach to programming, I think it's important to have a consistent theory, not to just provide features that "seem" to be intuitively useful. (But have some serious consequences...)
FWIW, Java makes a similar mistake in treating [] as a covariant type constructor. This means that in general they have to do dynamic class checks on every array access! Eiffel is mostly a better-designed language than Java, in my opinion.
So does Ada, APL, C++, J++, Java, Perl, PL/I, Set-L, and Simula (used them all & Basic, C, COBOL, JCL [I know, that doesn't realy count] & RPG,) and a whole bunch of language I have only seen the EBNFs for. (Okay Occam was & is in a class by itself. It must get lonely)
Now Smalltalk ain't perfect. It has a few major blind spots (specially concerning object relationships and instatiation in context,) but it has everythig else beat.
Try Squeak ( http://www.squeak.org ) and once you , uh, "get it," come back to anything else... You'll go YUCK!
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
You young punk programmers with your cheap RAM have no clue how to write good code. Bigger ain't better, it's just sloppy and the height of laziness. If you were a *real* programmer, you'd be able to do it with a small program. There was a time when accounting modules fit in 16K, now you're hard-pressed to fit "Hello World" in 16M. And this is progress?
No joke, Mr. "AC". Evildoers is about right, and I'm using a real username to say so (where do YOU work, eh?).
I can't find the link for it but frankly I think Eiffel# has sold out and made some very disturbing concessions that cripple the language. From the looks of things, any # version is going to be a one-off of C# (the only truly native # language), and it's pretty much a one-way path to migrate users of language X to C# itself (especially as they will have to use C# libraries to do much useful work, and calls form most other languages are going to be more awkward). When I read of Bertrand Meyer's support of Eiffel# months ago, my first thought was "that's a shame, I rather liked Eiffel. Too bad it has to die this way".
Calling a spade a spade does not make one bratty, to borrow your acidic parlance.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It's less about Eiffel, and more about the attitude of a one-size-fits-all tool, or why use something high level when you can do it lower level. C, Java, Perl, Fortran, C++, VB, Assembly, ObjC, etc all have their place, and can fill different (overlapping needs). But it's silly to claim one language will be the best solution for all possible situations. Sure, you can do pretty much everything in C.. but it might be more time consuming, expensive, harder, or it might be faster, cheaper, easier.. depending on what you're trying to do. There are a lot of right tools for a job.. but there is no one right tool for every job, which is what the AC was claiming.
slashdot!=valid HTML
If you're going to code in SmartEiffel, you should try using TinyCC instead of GCC while developing! TinyCC is an extremly fast and memoryefficient ANSI-C compiler that is 100% compatible with SmartEiffel! TCC generates code which is about as fast as "gcc -O2", but compiles almost 1000 times faster than "gcc -O2"!! I know these figures look unbelievable, but they are authentic! Just try it yourself if you don't believe it!
oggy gexace # time gcc -O2 -o gexace-gcc gexace.c
real 10m12.746s
user 9m33.227s
sys 0m4.897s
oggy gexace # time tcc -o gexace-tcc gexace.c
real 0m1.353s
user 0m0.472s
sys 0m0.061s
oggy gexace # ls -l gexace-*
-rwxr-xr-x 1 root root 1216938 Nov 29 18:27 gexace-gcc
-rwxr-xr-x 1 root root 994200 Nov 29 18:27 gexace-tcc
The gexace.c examplefile is from GOBO, generated by SmartEiffel and is about 2MB...
When your program is ready to be distributed you can compile it using "gcc -O3 -mcpu=i686 -fomit-frame-pointer -ffast-math" or similar to make it run ~10% faster, but compilation may take hours instead of seconds...
My other account has a 3-digit UID.
limited generics in a way that C++ can't even try to approach.
Can't believe a five-digit user number is trolling, so could you expand on this point, por favor?
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
I don't want to compile something in to C and then into object code. Why not an eiffel front end for GCC?
This may be of interest to you.. html
http://www.info.uni-karlsruhe.de/~sather/dl
I can't say how much development is being done on this as my German is very basic but it doesn't seem to be a dead project.
Pain is merely failure leaving the body
It's about learning a new point of view, it's about expanding your horizon.
I don't use Eiffel, but learning it taught me some concepts I didn't know before.
And that's why we need even more new languages. Life (and work) is about learning. If you stop trying to learn you might as well drop dead.
I'm a paid member of AdultFriendFinder too. I didn't like the idea of pying at first (hey, i don't pay for an OS, why should i pay for a piece of ass?!), but if you think about it, you can get a 3 month membership for less than the cost of a decent meal, and the odds of getting your dick wet are much better.
I've met cock-sluts, bored housewives, wives wanting revenge on heir husbands/boyfriends for cheating, etc, girls looking for a date, and girls with "nice personalities" (Read: on the slim-slow program).
Well, gotta go, I'm meeting Kathleen tonight. She's engaged but her fiance isn't a real man or something.
The free version of Eiffel Studio for linux is available here.
This is an example of an extremely well written Gtk application and provides gtk bindings as well as multi-platform libraries that allow applications to run on, if forced to, Windows with absolutely no change of code yet retaining full platform look and feel. Very cool stuff indeed
-- You see what happens when you have fun with a stranger in the Alps?
more french bashing by (i assume) an american poster which is moderated up on a site which has a largely american readership
why is this constant painting of the french as cowards so supported by americans? is it perhaps because france is one of the few countries that doesn't kow-tow to american imperialism?
i try to seperate the actions of the american government from the general american ppl, believing that they are as much victims of the corrupt machinations of the said government as the rest of the world, however constant puerile slandering of non-americans such as this causes me difficulty in maintaining my discrimination
in case you were wondering : i am australian of anglo-saxon cultural background
While trying to, in any way to be a prick... Why is Eiffel cool? Where would it be an alternative to Java/C++? Serious replies (if any) please...
Damn that's a lot of typing!
You like C, but not C++? Bwaaa haaha ahhaa ahaaa.
For a nice IDE for Eiffel you should get the Eiffel extension for the SNiFF+ environment
http://www.willamowius.de/eiffel.html
There are free versions of SNiFF+ for projects up to 200 (?) classes which should be ok for starters.
Correct me if I'm wrong ...
:)
C++ has templates, which implement generics. In C++ templates are limited only by what they use (so if a template function calls the foo method of its parameter, then the parameter has to be of a class that implements foo). This is more like Haskell or ML do when inferring typing (you can not restrict types either).
Now, how is what you mention in Eiffel different to not using templates and just declaring a normal parameter of class shape ?
Or even (this should work now in C++, but maybe the syntax is wrong
typedef shape_array array;
You like C, but not C++? Bwaaa haaha ahhaa ahaaa.
I don't like C, but I occasionally write apps in it. I don't mind objective C. I don't understand why someone must like C++ just to like C, though.
-- The world is watching America, and America is watching TV.
If you write large scale programs in C, you'll eventually find yourself inventing ways to handle things that the C++ language does for you. C++ does them better and makes it easier on the programmer.
If you're just writing small things in C, you can always do the same thing in C++ (almost a superset, and all), but even there, C++ provides some features that can make some small programs much easier to do.
XML causes global warming.
Last time I checked (years ago), the Eiffel's garbage collector didn't handle objects shared between different threads.
Does anyone know whether this was fixed and/or how what SmartEiffel's garbage collector is like?
Rocky J. Squirrel
The TinyCC example program libtcc_test.c which dynamically compiles C code from a string and executes it does not work due to an small bug in TinyCC.
Here is the patch to correct it:
--- tcc.c.orig Sat Dec 7 02:09:04 2002
+++ tcc.c Sat Dec 7 02:09:37 2002
@@ -8152,6 +8152,7 @@
buf = tcc_malloc(len + 1);
if (!buf)
return -1;
+ strcpy(buf, str);
buf[len] = CH_EOB;
bf->buf_ptr = buf;
bf->buf_end = buf + len;
I'm too lazy to send it to the TinyCC mailing list.
For a "modern", safe language, SmartEiffel produces very fast code. I don't know of any other imperative language other than C and C++ that beats it.
May we never see th
This is very true.
If we went by the "hello world metric", Perl would probably be consider the best of all programming languages.
From what I've heard, the majority of eiffel developers do very large software applications.
May we never see th
I've seen this type of comment ("why use C, assembly can do it") every time there is a thread about a programming language.
Consider that the jump from assembly to C boosts productivity a great deal, but the jump from C to EIFEL or something else doesn't boost productivity that much.
A good analogy is the CPU speed jump from 33 MHz to 66 MHz and the jump from 1000 to 1033 MHz: the jump from 33 MHz to 66 MHz gives an 100% speed boost, whereas the jump from 1000 to 1033 MHz gives a small boost in speed.
It is the same with programming languages: the jump from assembly to C gives a big boost in productivity, whereas the jump from C to Java/Eiffel/whatever does not give such a big increase.
When it comes to C, it's all about the libraries. Unfortunately, the standard C libraries are inadequate, because they where written over 30 years ago. There is no standard GUI library, no standard graphics library, no standard sound library, etc...Java, for example, wins over C at the GUI level.
The only real difference of Eiffel to Java or C/C++ is the programming-by-contract methodology. But this is easy to do in other languages: just check everything you need to check before the actual code of each function. In other words, pre-conditions can be checked manually. If that foo* pointer is NULL, you should have checked it.
It's nice though that Eiffel forces the programmer to thing about pre-conditions. Just like ADA, where each new type has a specific range of values and the programmer is forced to provide these ranges.
Personally, I am so efficient with C++ and Qt, I don't need anything else. It covers my needs 100%.
Now there's a language that needs a .net binding. But even so there are others that need integration with .net first. Primary among these (of course) must be INTERCAL especially the revised version with the "COME FROM" statement.
What about Ruby?
Actually, you can judge a language from it's "Hello World." The books How to Think like a Computer Scientist comment on this as well, not that I endorse those books.
;; lisp
A "Hello World" program demonstrates very clearly how "simple" a language is. How much syntax and how much structure you have to use to get even the simplest of things accomplished. It also usually demonstrates the difference between an optionally interpreted language and a purely compiled one, as compiled languages, on average, tend to require use of more syntax to get up and running.
As an example, Java.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
It's hello world program involves both a class definition and a method definition. Neither of these things are relavent to the goal of printing a string, but Java makes you go through the motions anyway. Java forces you to use OO for even the simplest of problems, and this much is evident from looking at it's solution to the simplest of problems, printing a string.
Perl, Python and other optionally-interpreted languages tend to be far simpler to bootstrap, allowing for things such as:
print "Hello World!"
However, this syntax makes you use a function to print the string, evidence of an imperative language rather than a functional one in this case. Although, to be fair, Python is very 'functional' and actually can do without the print statement. In a functional language in which you deal with expressions rather than statements, all values are self-evaluating and allow for "code" like the following in most functional languages:
"Hello World."
This string, being a value, evaluates to itself in most functional languages including, Python, Lisp and others, and results in the value being displayed back to you. If you want to be pragmatic about it, as this code won't do anything if compiled in a functional language (most of 'em anyway), you can change it to something like:
(princ "Hello World")
or
print 'Hello World' # python
This throws back to the notion of function calls, which are evidence of compilation in the case or most functional languages.
You can learn a lot about a language from looking at it's Hello World. Mainly it simplicity, or lack there-of in the case of languages like Java or, yes, Eiffel.
Eiffel makes you digest concepts like class creation and features (methods in this case), along with a whole lot of syntax, to accomplish the simple goal of printing a string.
The main problem with any syntax being forced on you, aside from making it more difficult to parse, is that it limits the languages flexibility in a practical rather than theoretical sense. You could practically never write a macro system as astoundingly powerful as the one found in most Lisp dialects in a language like Java or Eiffel. Too much syntax. Not enough closure.
While having a lot of required syntax won't prevent a language from being good at real-world tasks, in fact quite the contrary for reasons I won't go into here, it does limit it's simplicity and, in my mind, beauty.
Justin Dubs
Why should we use it? ..dare I say.. mainstream? There are plenty of languages out there with plenty of advantages and applications but what does this bring to the table? Do any of you think this will be the next c/perl/php/?
Im not trying to be a smartass by any means, or discredit the "ease-of-use" etc etc. I program in c (Windows and Linux) because it is widely used, and widely supported. Will this become
I have acorns.
One possible reason might be (correct me if I'm wrong) that for a long time, Eiffel was supported by a single vendor with a closed-source, commercial, proprietary compiler. Who is going to commit to a brand new programming language with a single vendor?
From this point of view, an open-source compiler is ideal. Perl and Python are effectively single-vendor (i.e. single development team) but at no risk.
Aside: at the time (commercial) Eiffel first appeared, we were working on a Standard ML language and compiler (in fact there were several different development teams building compilers, since the language had a formal semantics and definition). The New Jersey compiler was open-source from the start (around, oh, 1987?), and was self-compiling, generating native code for 680x0, Alpha, Vax and Mips architectures.
This was around the time that OO programming was getting trendy, and SML, despite being very-high-level, strongly-typed, memory-managed, having a superb modules system etc., wasn't really OO and so fell out of fashion. It's still around, though, and still being developed (see the link above).
Should be:
template <shape T>
class ShapeArray
{
};
--
Two witches watched two watches.
Which witch watched which watch?
WTF!?
If YOU can't eat, drink beer or eat pork, why is it america's fault?
If you can't vote [well the Iraqi's did, for all the good it gave them] why is it america's fault?
How'd you get on the internet? Doesn't your government restrict that stuff -- think China. I guess that's America's fault too?
One problem with a niche programming language is finding good documentation for it. Is there a good resource that tell you everthing you want to know about the language? Preferably online & free (beer), since there's almost zero chance of ever using it on a job.
Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
Sure the Eiffel coders did better. But that's a self selecting sample right?
;).
It's likely that the average befunge programmer would do better than the average programmer on many tasks, but that doesn't make befunge a good language
Yeah Eiffel sounds good. Design by Contract sounds good - independent ways of constraining what a program can do = higher chance of it doing what it's supposed to do and only that.
Its always sad and annoying to see jokes that werent even half funny fifty years ago still proliferated by a generation that
1. should know better, and
2. does not actually relate to the pun of the joke at all.
it also is sad to read all these constant efforts to compare cultures here on slashdot. Especially if the rating of cultures is done by europeans who really should be aware of the fact that (imho) there is no way and no use in actually comparing or rating cultures, especially not without even looking at the historical reasons for cultural developments.
Put these jokes to rest, for chrissake!
Eiffel is one of those languages you are taught in school to round you out. 99.999% of people will never see or use it again. You'll forget it's syntax a week after final exams. You will most likely never see or use it again. The real world uses C and all of it's derivatives.
Any programmer that does not know the machine language of their computer is not a real programmer! End of story. All code should be in assembler. All other languages are just a convenient way to express in machine language.
You don't even need a compiler. Just use a hex editor or DOS debug.
Call me a troll if you like but it's the god-damn truth if it ain't C or assembler it's shite.
It doesn't mean Eiffel is shite. I'll explain just wait. I'll let COBOL slide too. COBOL was the mainframe. Kinda like Visual Basic is on Windows. You use them. Not real languages. But you make a living doing it. *Any language you get paid to program in is good for you*. But if ain't C or assembler it's still shite!