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 65114
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Bind me!
by ma_d on Sat 26th Nov 2005 21:48 UTC in reply to "Bind me!"
Member since:

The thought has occurred to me. Maybe it's a good limiting factor to only support C (especially if all language bindings dissappeared). Then you'd have to say "ok, is it worth it to write my own bindings for the stuff I need to do this in the language I want?"

What would happen? Fewer programs would be written, of course. But do we really want programs written by people who lack committment?

Just a thought. The reality of language bindings (which is a given with the sharing attitude in this community) sort of negates the idea as plausible. But I think the thought is important: We shouldn't be picking a language for beginners and ease of developing small programs. We need a language that helps people who know what they're doing.

Those articles that bytecoder posted by Paul Graham are very good. Everyone should read both ;) . Especially the arc one: .

And this section, of this:; wraps up why I don't like Eiffel:
"It is a mistake to try to baby the user with long-winded expressions that are meant to resemble English. Cobol is notorious for this flaw. A hacker would consider being asked to write

add x to y giving z

instead of

z = x+y"

Compare to:
"from i := 0 until i >= 10 loop
my_array.put (0, i)
i := i + 1

There is an exception to his rule though, SQL. Of course, SQL is intended for non-programmers as well.

It's not really a big deal to type the extra stuff, it's just annoying to read. Scanning through and seeing "loop" verse "end" is difficult: And if your editor can highlight it for you then why did you use so many characters for it anyway?
It also feels redundant to type what is obviously a foreach loop and still have to say "loop." If it's compiled, syntactic things like this are just obnoxious to the user; if it's JIT that's another story.

Reply Parent Score: 0

RE[2]: Bind me!
by jayson.knight on Sat 26th Nov 2005 22:20 in reply to "RE: Bind me!"
jayson.knight Member since:

If it was just an "average" user writing the code (as is the case with SQL statements on a fairly regular basis) I would agree with you...we're all (hopefully) highly trained professionals though, and the whole number of LOC debate is moot given the amount of help any decent IDE will give us at this point in writing code (and catching lots of stuff at compile time now). The example you gave is grossly exagerated as no developer on the planet would write that loop.

I have to be a smartass and say this about COBOL (as horrific of a language as it is): if "Cobol is notorious for this flaw" then why are there more lines of COBOL code in production than any other language combined? The obvious answer is that there weren't that many options at the time of COBOL's hayday, but it was also it's verboseness that made it easy to program in (Visual Basic anyone?)...granted the quality of code might be low, but in general, languages suited to business (IT) use gain a bit from expressiveness as it usually fits the domain the language is being used in, which is why as great of a language as I think Eiffel is, it's geared more towards business use; I can't possibly see it being used for something as low level as GNOME.

Reply Parent Score: 1

RE[3]: Bind me!
by ma_d on Sat 26th Nov 2005 23:48 in reply to "RE[2]: Bind me!"
ma_d Member since:

The example eiffel was copied and pasted from their website...

There are more lines of COBOL because it was the only language for the job for an extremely long time. It was the language that the big guns ran. The only people who had those sort of machines were businesses, so managers were making the decisions.

And it continues to this day because no one wants to rewrite that old COBOL code. For a couple reasons:
1.) The company says no, cause that sounds expensive.
2.) They may not even be able to, it'd require someone who knows: COBOL, another language, and can design programs. Oh and the obvious: Works for the company.

So they add on, and add on. Eventually all this code will probably be replaced, but that's gonna take a lot of time!

Why is so much code still out their in FORTRAN? The same reason, the original authors had no other language to use when they learned to use computers; and so later on they used fortran. Eventually they learned a new language, but they're probably in a field where it doesn't make sense to rewrite programs until you absolutely have to (ie, scientific, maybe even engineering).

The expressiveness of COBOL is what makes it hard to learn. I've been watching my roommate learn it. They don't learn anything about programming with COBOL (as in, designing complex systems); they learn all the syntactical and functional niceties that let them modify streams. And they're told that that stuff at the beginning is magic and they don't need to understand it (which scares me).

LOC isn't about writing code, as I said, it's about reading it. English words are generally clutter and should only be used when necessary in control structures.
I really don't see what's so far fetched about that loop. Yes, no one would write _it_, but it's representative of the sort of thing people do write.

LOC isn't very important. It's no reason to throw out a language, but it is annoying.

Reply Parent Score: 0

RE[2]: Bind me!
by CaptainPinko on Sun 27th Nov 2005 00:04 in reply to "RE: Bind me!"
CaptainPinko Member since:

You are a misinformed troll, just look at the following link. Anyone can make any language look bad if they want to.

Reply Parent Score: 1

RE[3]: Bind me!
by dylansmrjones on Sun 27th Nov 2005 05:51 in reply to "RE[2]: Bind me!"
dylansmrjones Member since:

The same goes for people complaining about ALGOL and Fortran, even BASIC (if you can call recent BASIC dialects for BASIC at all).

Many non mainstream languages are meant to fulfill certain limited tasks or areas, and should be viewed in the light of these.

But apparently it's so much more fun being religious about programming languages.

It's easy.

Use C++ for Gnome itself, add bindings for other languages and hooray.. it works ;)

Reply Parent Score: 1