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!"
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
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.
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
Also, this interesting tidbit from the comp.lang.eiffel FAQ:
(http://omicron.felk.cvut.cz/FAQ/articles/a511.htWhen 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.
- 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.
In the past 25 years I have programmed in Assembler (for about 2 dozen different architectures), Fortran, Algol, Pascal, Bliss, Ada, Lisp, C, C++, Java, Perl, Python, SmallTalk, and probably some others that I can't think of at the moment. During that time I have always wanted something better. While Eiffel is not perfect, I can say that it comes the closest to my ideal language of any I have ever used.
I have found that Eiffel programs are very easy to debug (because of the "Design by Contract" the problem usually pops right out). Sometimes I have even had non-trivial programs work correctly the FIRST time!
When I have been working on C++ programs, it sometimes takes days or even weeks to find some of the problems. Most of the time in Eiffel I can find the problem in seconds or minutes. Rarely have I had bugs that took longer than an hour or two to find.
If I had to pick one programming language to use from now on it would be Eiffel.
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.
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.
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.
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