EiffelStudio Goes Open
WeiszNet writes "Bertrand Meyer, the creator of Eiffel the language and CTO of Eiffel Software in Santa Barbara, CA has announced in his Software Architecture course at ETH Zurich that the company's flagship product - EiffelStudio was released under the GPL today. Here is the press release: and the project's page.
Eiffel is an object oriented programming language supporting contracts. Last year the international standard (ECMA) for Eiffel was released and now the initiative to go open has been taken."
As a language, Eiffel doesn't make it more convenient to express a problem to receive a good solution, it just makes the programmer follow the public speaker's maxim:
Programming by contract is essentially just writing twice as many unit tests, wrapped all around the code that is supposed to be doing the work. It's even easier to write bad tests when it's right next to the code being tested, so why bother?
Bertie, give it up already!
[
Design by contract is essentially putting assertions into your code. You typically insert these as pre- and post-conditions. For example part of the contract for a real square root function might be the precondition that the argument is greater than or equal to zero. In C assertions generally cause program failure if they turn out to be false. And the support in C is pretty crude, simply a macro called assert(). In Eiffel this stuff is built right into the language and the language offers graceful recovery in the event that one of these conditions has failed. Most people I know who have used Eiffel hate these features. I've never used it so I reserve judgement.
Now you too can make up technobabble to impress people with your knowledge of contracts.
"The White House is not an intelligence-gathering agency," -- Scott McClellan, Whitehouse spokesman.
If you want contract programming, but prefer C++ style syntax to Eiffel style, try the D programming language.
It's sad but I fear the D programming language will face the same fait as Eiffel: Not enough used! But I've several times said how this can be solved. I really hope people would listen to my suggestion since I think the D language is well worth the effort.
In OpenSource no matter what you do, to become successful you have to be the number one in your area. Only then developers are faced to delve into your product and use it because it's state of the art in its area. But it's ridiculous to compete in any area where others have a 1000 or more times more developers. If possible compete in an area where others only have less than 10 times as much as you.
For the D language there is an area which it can easily become the number one, that's the small C-libraries area. D is perfectly well suited to replace C in this area. But someone has to start this process (sorry it's not me) else this change won't happen. There simply has to be enough sample code around until others start to use D also.
I'm quite sure that if D successfully tackles the libraries area it will soon become the chosen candidate for kernel development and after that for framework development, etc. But it won't become a successer for C++ before it hasn't become a successor for C.
O. Wyss
See http://wyoguide.sf.net/papers/Cross-platform.html
The benefits of Design by Contract include the following:
Ah, and this has been demonstrated how? Programming language designers like to dream about how their features are going to lead to fewer bugs, lower costs, and all that, but there is almost no acceptable experimental data to support their claims.
When choosing the right tool for the job, you choose the tool that can meet a balance of three particular things.
1) Best tool for producing the application
2) The tool you can find people that know how to use
3) The tool with the best support
Well, there are tons of places that Eiffel is the best tool for the job. I would even imagine that there are circumstances where the support is there. Problem is finding the people that know how to use it.
I've been goofing with Eiffel ocassionally, but time and time again, it proves the wrong tool for the job. It's just too different from other languages to be able to meet my needs. I always fall back onto C++ with a widget toolkit (such as Qt). It is definately not because C++ is a better language. It is definately not that Qt is the ultimate widget toolkit. It is because there is a good balance of all 3 criteria being met.
I am 100% in favor of companies trying to sell us a new language, but what it really boils down to is that only a handful of people will use it and other than an ocassional interest article, this is probably the big hay day for the language since there is a open source news worthy article written about it.
Another great example of a language that is probably better but has never picked up steam is Scheme. Every compiler developer in the world loves scheme. It is by far the most heavily optimized compiled language on the planet. It has great merits. But the fact is that with the exception of the scheme compilers written in scheme and an ocassional university project, the language stalled years ago.
The parent comment to yours was sarcasm... it may have been misinformed as you comment, but the fact is that he is right in his sarcasm.
"I am 100% in favor of companies trying to sell us a new language...", but since Eiffel dates back to 1985-86, I don't know what you mean.
"Another great example of a language that is probably better but has never picked up steam is Scheme. Every compiler developer in the world loves scheme. It is by far the most heavily optimized compiled language on the planet. It has great merits. But the fact is that with the exception of the scheme compilers written in scheme and and an ocassional university project", which is what it was designed for: Scheme was meant to be simple rather than useful, in order to further the study of such things as program correctness (software algorthims studied as mathematics) by academia. The industrial version is Common Lisp.
When discussing the right tool for the job, comments regarding the attempt to use a thermometer as a hammer (Scheme vs Common Lisp) make it hard to take your C++ vs Eiffel seriously, especially since you seem to think a 21 year old language is "new". It is old enough to drink.
You can acquire and release resources in many languages, too, but using the RIAA idiom in C++ you never forget the latter, while in languages that rely on finally or Dispose or whatever, you can.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Well, you opened this can of worms; so I'll close it. And by the way, I do not "hate America". On the contrary, I very much like and admire America, and almost all Americans. Which is why it depresses me so much when they write things like your last article.
h tml
"I hate everything french for all the basic reasons most people hate the french which are all more or less deeply rooted in their insurmountable arrogance".
Yeah, right. Those arrogant French, thinking they are God's chosen people! Don't they know that *Americans* are God's chosen people?
And they're a real bunch of chicken-livered, gutless surrender monkeys, too - right from Charles Martel who defeated the Arabs at the battle of Tours in 732 (preventing Europe from becoming a Muslim continent), to the heroes of the Resistance who fought on against one of the most viciously efficient repressions the world has ever known. By way of Joan of Arc, Napoleon and his soldiers who conquered Europe in about ten years (on foot), the Foreign Legion and many, many others. Not to mention Lafayette -
"In 1777, Lafayette purchased a ship, and with a crew of adventurers set sail for America to fight in the revolution against the British. Lafayette joined the ranks as a major general and was assigned to the staff of George Washington. He served with distinction, leading American forces to several victories. On a return visit to France in 1779 Lafayette persuaded the French government to send aid to the Americans. After the British surrender at Yorktown, Lafayette returned home to Paris. He had become a hero to the new nation. At home he cooperated closely with Ambassadors Benjamin Franklin, and then Thomas Jefferson in behalf of American interests". http://www.lucidcafe.com/library/95sep/lafayette.
As for the "surrender" part, in September 1939 Britain and France declared war on Germany because it had invaded Poland. The USA did nothing. In 1940 Germany invaded France, launching one of the most inspired, unexpected, and vigorous surprise attacks in history. This defeated the large British and French armies, and compelled France to surrender. The USA still did nothing. At that time the US army (and other armed forces) were pathetic remnants. It took a full two years to get them up to a level at which the administration dared to enter the war. Had the USA been where France was in 1940 - right next to Germany, with a long land border - the Wehrmacht would have walked in, pulverised the US armed forces, and taken over the country with contemptuous ease. (Ask any competent American officer if you doubt this). With the Atlantic Ocean in the way, nearly two and a half extra years to get ready, about three times the population of either France or Germany, and far greater natural and industrial resources than both put together, the USA finally entered the war - but only when it was forced to because Hitler declared war on it.
As for "rescuing" France, don't be ridiculous. The USA was at war with Germany; to win, it had to invade Germany; and the only reasonable path lay through France. Taking credit for having liberated Europe, when the only reason the USA was even in the war was because the dictatorships attacked it, is the sheerest hypocrisy.
At least the French had the guts to take on Nazi Germany. The USA, which didn't dare take on Hitler, was happy to attack Saddam Hussein - a third-rate copy of Stalin, with a large army of disaffected, poorly-trained troops equipped with obsolete Soviet weapons. About as brave as a farmer going out with a combine harvester to cut a field of wheat.
I am sure that there are many other solipsists out there.