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 65228
To read all comments associated with this story, please click here.
Wow
by on Sun 27th Nov 2005 04:39 UTC

Member since:

I thought the idea of software development was to create products that actually work with a minimum of errors. For that task, there is few languages a good as Eiffel. It removes the "programmer as god" mentality from software development and provides a structure that deters bugs. In fact, the only bug-free software I've ever heard of was developed in Eiffel. The entire syntax of the language can be learned in two weeks... I don't know anyone who knows the entirety of the C++ syntax.

An argument has been made here that "rigid" development languages like Eiffel "shackle" the creative impulses of developers. That seems kind of dumb to me. It's tough to be creative when you are constantly returning to fix broken code. It to Be, Inc. ten years to build the BeOS into a workable system working with C++ when they could have done that in a third of the time with Eiffel and have had a far more modular and stable system. I'd rather have a simple, rigid language that takes care of the crap that I don't want to so I can focus on solving problems. I'm not trying to be an "artist" with a language, I just want to get stuff done.

That being said, if the open source community switched to Eiffel, it would practically eliminate most security vulnerabilites and bugs and have a tremendous advantage over closed-source projects, especially Microsoft. I recently read an article that talked about the new procedures Microsoft has implemented to improve its code quality and they sounded a lot like what is featured in Eiffel. Eiffel would be especially valuable in open source because QA would be built directly into the language, freely developers to explore new ground. Frankly, I don't know why Eiffel hasn't already been used for a major open source project. The language itself is simple, robust, and has an excellent reputation for producing fast, stable code. The only detractors I've ever encountered are "code artists" or people who haven't actually used it. If the Open Source community wants to get serious about competing with companies like Microsoft, it's going to have to stop following and start leading. That means finding any advantages it can to compete. It'd take a while for the community to get the ball rolling but, once everyone was up to speed, Eiffel would be a tremedous competitive advantage.

I expect the Open Source community to hang on to its sacred cows and ignore this advice because, as far as I'm concerned, it's just the flip-side of Microsoft. If anyone in the community has any real sense, they'll at least try Eiffel for a small project. They're doing it for free anyway so what difference does it make? But I won't hold my breath

Reply Score: 2

RE: Wow
by ma_d on Sun 27th Nov 2005 05:15 in reply to "Wow"
ma_d Member since:
2005-06-29

The only way to produce bug free software is to write a formal (not necessarily by syntax, but by structure and provability) proof for your code.
This is not reasonable for very many people to do, and so very few people do this. Not because we're not all smart enough, but because some of the proofs would take us a lifetime to write.
The general rule is that when someone claims they have a bug free program, and they don't have a proof (and it's not a joke), you avoid it because you know they're either an egomaniac, deluded, or lying.

"I don't know anyone who knows the entirety of the C++ syntax."
There are a lot of languages which provide the features of c++ without the mess that c++ is. Eiffel is not the only one. It might be one of the oldest though.

"It to Be, Inc. ten years to build the BeOS into a workable system working with C++ when they could have done that in a third of the time with Eiffel and have had a far more modular and stable system."
Do you know how I know that statements wrong? You claimed tripled efficiency simply by changing to a different language. C++ is only that detrimental if you don't know how to use it, and I imagine the folks at Be knew it, or they'd not have chosen it.

"That being said, if the open source community switched to Eiffel, it would practically eliminate most security vulnerabilites and bugs and have a tremendous advantage over closed-source projects, especially Microsoft."
No. No. Please stop saying this... If this were correct, then we'd know that all security bugs are caused by memory management issues and stupid function i/o issues. Then we could solve them all by making the heap non-executable and never putting data on the stack; woops you still have vulnerabilities.


You're making far to outlandish claims about what Eiffel will do for a project. There's just no quick fix to the problem: Programs are complex. That's life, you try and make it better, but you know you aren't going to find the fountain of youth...

And so, when someone says "tripled productivity" you immediately say "am I really wasting 2/3 of my day?" "Can I even type fast enough to triple my productivity?" "Would my sanity last 8 hours if I worked three times as fast?" "Are 2/3 of the problems I solve every day just flaws in the language I use?"

Reply Parent Score: 3

RE[2]: Wow
by on Mon 28th Nov 2005 00:53 in reply to "RE: Wow"
Member since:

This is the reason why Open Source is doomed. The productivity claims have been proven but a naysayer who has never used Eiffel claims they are false. Nuff said.

Reply Parent Score: 0