Linked by Thom Holwerda on Sat 26th Nov 2005 17:02 UTC, submitted by Megatux
Gnome "I followed the debate about a successor for the C/C++ combination as the primary language for developing the GNOME core desktop platform very closely last month. There has been discussion about a number of options. What I would like to do on this page is give an overview how a probably less well-known language might be a viable compromise as a C/C++ successor. This language is called Eiffel and exists for over a decade. Eiffel takes the principle of Object-Oriented programming to its extremes and, as a consequence, is a very easy to learn language."
Thread beginning with comment 65087
To view parent comment, click here.
To read all comments associated with this story, please click here.

Member since:

Think of Eiffel as a Java (OOP, Garbage collection, documentation) but *C* fast. Gcc fast.

Hehe. I'd bet you think java is a good language, too.

Code in Eiffel is written with Design by Contract. This is a vaccine against bugs.


And the only thing stopping it from being used are a couple of non-techical factors:

1) Disinformation
2) Prejudice
3) Lack of marketing (not Sun, not Microsoft, not IBM (read linux))
4) Because there were few Eiffel vendors, all quite content making good money to a selected clientelle. But there's SmartEiffel now.

The problem with C/C++ ???!! What ??!! Don't you know ??! Are you aware of the hundreds of exploits because of unsafety ???!!

Microsoft is moving away from C++ (in fact, Microsoft Research has hired some of the very best people from industry and academia. Already they have formal verification of device drivers). Will we not ? We want to be the community that gets listed on a daily basis on security lists because of buffer overflows ?!

My guess: the free software community will reject Eiffel on the basis of ignorance. Why ? Simply because not too many coders are willing to stop and actually /think/ about the piece of code they're writing (the "release early, release often" Got root?

Eiffel grants you no excuse for not using a language with garbage collector. There's no performance trade off. Even C++ freaks will eventually resort to garbage collector in a sufficiently large program.

For an informed view of language popularity, you should probably read this:

This is also a decent read:

I'd also like to point out that I am not a lisp fanatic. I don't particularly like it at all, but some of the ideas and coding styles based around it are interesting nonetheless.


Reply Parent Score: -1

Member since:

I know Common Lisp and Scheme. For the life of me, I just can't imagine GNOME coders getting their heads around macrology. Let alone the Common Lisp Object System, the most sophisticated object system there is. There's not a free lisp universally available for all platforms, and that includes UNIX, that meets the requirement of decent compilation (there's bytecoded Lisp, though - CLisp - but I think the garbage collector is borking on OpenBSD recently).

Eiffel is sufficiently close to the Algol-derived syntax most are accustomed to (C, C++, C#, Pascal, Delphi, Java, Python, etc). Not a problem. Unless you're retarded.

Also, the object system does not present "problematic" concepts for mainstream developers.

Python and Ruby are little languages that demonstrate poor design. Look at Smalltalk, Lisp, etc and you'll see. Plus, you don't compile.

Eiffel has been around, it's tested. Why didn't it spread like fever? Well, first Microsoft wanted they're Visual C++, then Sun their Java. That's what sets the trend for the majority of programmers. C has been around for portability, efficiency and historical reasons.
Now Microsoft moves away from C++, MacOS uses ObjectC and we're going to stick to C ?! Come on, how long will C hold ? Can you envisage a 20-year horizon of free software development *at large* without *at least* a garbage collector ?

Eiffel is currently under development. Sure, it lacks some documentation but it's better now then it was then. People took up GNOME and Mono when there was poor documentation. Why can't the same be done for SmartEiffel ?

It's safe (garbage collected). Supports discipline (DBC) and methodology for large projects.

It compiles, and it compiles fast.

Java, for those who like Java, needs a VM that is proprietary. That excludes free UNIXes, for instance.

People ought to stop reinventing the wheel and just take what's there. SmartEiffeil is also from the free software community, you know ?

And besides, C and C++ are a proven failure in terms of code safety. When people say "the problem is not the language" they just show they don't understanding software engineering at large, they show they've *no* idea of the requirements of a large project.

All in all, I think Eiffel was an excellent proposal because it fits right in the current mainstream thinking (at least, that's how I see it. OCaml and Clean, although both approach C performance, would not - they're functional languages).

Reply Parent Score: 1

Member since:

I know Common Lisp and Scheme. For the life of me, I just can't imagine GNOME coders getting their heads around macrology.

I've researched the use of common lisp macros in lisp quite a bit, and the one conclusion I came up with was this: the use of macros to create domain-specific minilanguages looks strikingly similiar to data-driven programming, which is obvious if you realize that data is much higher level than any kind of code can ever be.


Reply Parent Score: 0