Talk:Eiffel (programming language)

From Wikipedia, the free encyclopedia

/Expanded draft

Contents

[edit] Archives

/Archive 1

[edit] September Meyer exit thread

As the editor everyone is pointing to as the "bad guy" here I feel the need to weigh in. In my defense let me point out that my first response to Dr. Meyer was excruciatingly polite. But there is a point to made here, aside from all the histrionics, and that is that WIKIPEDIA IS RUN BY CONSENSUS AND NOT BY DR. MEYER. Dr. Meyer was INSULTED that we even TRIED TO DISCUSS THE MATTER. Then he tried to invalidate the GFDL, further showing that he has no respect for anything and he only wants his way.

I happen to have dealt with Dr. Meyer before, and so my store of patience was not as great. But you are all missing the point. No amount of patience would have been enough to deal with Meyer, because he wants his way and that's all he wants.

Dr. Meyer doesn't compromise. He doesn't discuss. That's why he doesn't belong here. All of you defending Dr. Meyer and criticizing our already careful handling of him do not understand that the Wikipedia community is more important than any one article. It's not about fonts, for christ's sake, it's about being willing to discuss. Nothing you can say will change the fact that Meyer was a rude, arrogant, selfish, spoiled child. --Ideogram 07:09, 6 September 2006 (UTC)

[edit] September 2006: getting back to normal

A posting by "Ideogram" above, dated 6 September 2006, explains what has happened to this Wikipedia article in the last month. Finally he (I assume it's a "he") admits it: "I happen to have dealt with Dr. Meyer before, and so my store of patience was not as great. But you are all missing the point. No amount of patience would have been enough to deal with Meyer, because he wants his way and that's all he wants", and proceeds to call me "rude, arrogant, selfish, spoiled". Well, I am really sorry that he bears such grudges, but since I don't know who he is I can't discuss that previous case in which he "dealt" with me. In any case, whether he likes me or not should have no effect on an encyclopedia article. Is there a Wikipedia policy that says if you don't like someone who posts under his real name you should vandalize his contributions?

This seems to be what happened. A handful of people — "Ideogram", "Lulu", "Mikademus"... — had apparently decided to teach me a lesson. I think this is inappropriate, and I ask other people interested in this article to help make sure that they don't again let their passions override concern for the quality of the article.

No one tried to "teach you a lesson", Bertrand. That's as far from the truth as is easy to imagine. The fact you would state such a thing, to me, suggests you are nowhere close to ready to work on this article that is far too close to your personal emotions. In point of fact, you owe a gigantic apology to Wikipedia editors collectively for your truly obnoxious and uncooperative behavior. I strongly, strongly recommend that you simply stay away from this article, and use your writing skills and intelligence to some better endeavor. LotLE×talk 00:36, 7 September 2006 (UTC)
Would you please stop making these personal comments? This is not helping anyone. I had requested that my explanation be left as it is for coherence; I don't see why you can't be courteous and considerate.
This is all exactly like Usenet in its heyday, but does it have to be that way? Finally, couldn't the discussion be about the best ways to describe Eiffel, rather than these irrelevant ad hominem attacks?
It's really very sad to see such a great idea as Wikipedia be perverted that way. I'll stop commenting on this discussion page since it's obviously hopeless, but what a waste of time.

B-Meyer 01:04, 7 September 2006 (UTC)

So now to the heart of the matter. Eiffel is not just a programming language intended for talking to a machine but a vehicle to express and communicate models and designs clearly and convincingly. The concern for style and the attempt at elegance are at the core of the approach. This implies in particular devoting attention to matters that are not necessarily thought important in other technologies, such as the layout of program texts, the choice of names for classes and features (there are precise rules for when you should use a noun, a verb, an adjective), the wording of routine header comments (going so far as to say when you should end with a period and when not), and many other matters that others consider mundane. In this respect Eiffel tries to be in the line of the great programming methodologists of the seventies, who said that a good program should be beautiful too, like a castle or an adagio.

The basic font convention goes all the way back to Algol 60: keywords in boldface. I can't understand the motivation of the person who rewrote the "hello world" example to remove that convention. Where is it said that a Wikipedia article should violate the standard conventions of the subject matter? More fundamentally, I haven't seen a Wikipedia rule (which would be silly) stating that all programming languages should look the same. They don't. I am sure there is an article somewhere on the Swedish language, and that it retains the diacritical marks. The same applies to programming languages: each has its own personality.

Color, as some people have pointed out, is not as universally used in Eiffel publications, partly because of the constraints of print, and partly because it's a pain to prepare the text accordingly. It's less fundamental than the use of bold etc., but it's part of the recommended conventions all the same. Once again I see no Wikipedia rule that says you cannot use color if it's part of the subject matter. The only rule I have seen states the same as the ECMA Eiffel standard: you shouldn't use color as the only way to express a semantic difference. This is perfectly reasonable.

I can pretty much guarantee that if you blithely ignore consensus and start deleting other editors work with an attitude that you know better, and they don't matter, you will get yourself in trouble again... probably blocked from Wikipedia. If you wish to find a consensus about this really quite minor issue of what font conventions are used, discuss it first. Your above comments are a good start, despite their tone. But before implementing something that will clearly violate consensus, please conduct a discussion, perhaps a quick poll to gauge sentiment.
This is pretty unbelievable. It's my work that was edited out by others. Please stop this personal campaign, it serves no useful purpose. B-Meyer 01:34, 7 September 2006 (UTC)
My evaluation of the matter is that at least 90% of editors are pretty strongly opposed to using non-standard fonts in the body text to illustate code: i.e. anything other than <code> around the samples. My impression is also that a slim majority is also against using non-standard fonts in block code samples, but this sentiment is weaker. My own opinion leans against using the non-standard stuff anywhere, for a number of reasons; but understanding Wikipedia, I yield to consensus if it is demonstrated.
And please: don't play some pedantic game of pretending "non-standard" means something different that what it does: we're referring to the "Wikipedia (in-house) style guide" That guide has not entirely been stated anywhere, but it is reflected by the loose consensus and habit of editors of all the articles that are more-or-less similar to this one (i.e. programming language articles and the like). LotLE×talk 00:36, 7 September 2006 (UTC)

It's also reasonable to have differences of opinions on such fairly small topics. In fact issues of this kind arise all the time in the world of classical publishing. Authors have their preferences, and journal editors have "house styles" to apply. So you end up in a constructive discussion intended to produce the best possible result. You don't angrily cancel the other person's last edits and start shouting at him.

I think this has to stop and that the sole goal should be to produce a good article on the language (the current state, even after my additions, is still far from ideal). So in the next few minutes I will reinstate the contributions that I had previously withdrawn (extended with several new sections), taking the risk that those who have disfigured them before will try again; I just hope that common sense and the search for the best will prevail. I do have a few requests:

You need to immediately stop the shennanigans about claiming you failed to read the GFDL during your past 50 contributions, and immediately stop claiming a right to withdraw and resubmit contributions at your personal whimsy. Otherwise, anything you might contribute is FAR WORSE than useless. That's a first step. But frankly, a better first step is to just not work on this article. If it gets to be a problem again, I'll almost certainly try to get an administrator to act on the WP:AUTO violation that is clearly involved. LotLE×talk 00:36, 7 September 2006 (UTC)
  • If you don't like the color convention please don't go on a wild editing campaign to remove it, or start an edit war etc. If you really feel strongly about the issue please discuss it on this page and wait for some reasonable consensus to emerge among people of good will. (Talking about consensus, someone had suggested that the code blocks be in color, but not the short extracts in the main text. If all that's desired is to find a compromise this could be it, but I still don't like this solution because it will look strange: x in the text will not immediately be seen as referring to x in the code extract above or below.)
  • Please give due consideration to any editors who know and practice Eiffel. This is really only a page about a programming language and it doesn't need to become a battlefield about Wikipedia principles. Substance should prevail.
  • There is still a lot to add and improve in this article; please help. In particular my additions have not had enough proofreading; there must be typos and inauspicious phrasings.
  • I don't think I have cancelled any edit of substance made recently, but if I inadvertently have please accept my apologies and fix the problem.

The present section will have to be moved elsewhere (in fact it would be good if the whole discussion were eventually removed from this page, which should be devoted to talking about how best to describe the language) but I would really appreciate if you left it as it is, since it explains my view as completely as I could express it, and used a separate section for any further discussion of this topic.

B-Meyer 00:11, 7 September 2006 (UTC)

[edit] Requested move

WP:BOLDly move article name per consensus at: Wikipedia talk:WikiProject Programming languages/Renaming poll. Bye bye transclusion.

[edit] Stomping on other editor's work

Unfortunately, now that I've taken a look at what Bertrand Meyer has added back, I see he almost entirely destroyed the work I put into the article after he stomped out (and destructively blanked stuff repeatedly, earning himself a 3RR block). In particular, even apart from the font issue that he continues to refuse to discuss cooperatively, he also removed all my improvments to tone to try to meet NPOV and encyclopedic style. The result being that the article looks like... well, like an article that suffers badly from WP:AUTO violations. It is altogether too exuberant in tone, reading something like an advertisement for Eiffel rather than like an encyclopedia article on the language.

I'm quite frustrated by this. Quite honestly, even without the additional material that could be helpful, I think the last version of the article before Meyer came back was quite a bit better than the latest version with his changes. However, I'm nearly certain that if I try to improve anything, including restoring my own not-insignificant efforts, Meyer will play a similar game of either mass-deletion, or edit-warring, or make a new round of spurious claims not to have seen the GFDL release. At this point, I think he just has no place editing this particular article, he simply cannot approach it with the necessary objectivity, detachment, and especially not with the needed understanding that Wikipedia is based on cooperation.

Before I launch some more formal effort to prevent Meyer's edits, can someone of more optimistic spirit suggest a way this article can move forward despite Meyer's involvement. I'm not really sure what the formal procedure might be. I suppose a user conduct RfC is possible, but those are awkward and rarely productive. Maybe a WP:ANI request, but those also tend to fizzle. Possibly something with the mediation committee. Or just try to get an editor to block based on WP:AUTO violation. I honestly don't want to do that sort of thing, but seeing all the inappropriate tone (and jarring fonts, of course) reinserted just makes me cringe (because I care about the encyclopedia, and not particularly about this particular programming language). LotLE×talk 02:00, 7 September 2006 (UTC)

Just calm down. I am not aware of having removed any of your edits. I added a section that wasn't there (apart from one subsection on agents). If I have made a mistake, please correct it, or point me to it and I will do the correction (but this may not be the most effective way to proceed since I won't be much available in the next few days). And stop accusing me of imaginary evils past and future.
How can you say that a version that didn't say a word about what characterizes Eiffel -- features, Design by Contract, inheritance, conversions, genericity etc. etc. -- is better than the latest version?
Earlier you were upset that I removed some material; now if I understand you properly you are upset that I put it back. I don't quite understand.
For the record: until I and another editor started working on this page earlier this summer, it said nothing about the language. We added a detailed section on language mechanisms, so that the page actually describes Eiffel. Everything else is a figment of your imagination. If you feel that at some place I have been over-enthusiastic (although I don't know of any such occurrence), just make the correction you feel appropriate and get over it. There is no need for the pathos. Thanks. B-Meyer 02:22, 7 September 2006 (UTC)
I think it'd be more constructive Dr Meyer, if you let others write the article. And then review it here, tell them where it went wrong, what needs to be embellished etc. I really don't see what's wrong with having the fonts blue/bold if the language dictates that it is useful, it's better to be accurate then for it to look consistent with other pages. Because if both parties are editing this article in their own ways, then it's going to go to shit. - Hahnchen 02:39, 7 September 2006 (UTC)
I see that "Lulu" has started editing the text and restoring his earlier changes that were unintentionally cancelled as a result of the change of fonts in the agents subsection. I was going to do it, but thank you very much for taking care of it so quickly. Let me point out that as far as I can tell there is no disagreement with other recent editors on the substance of the text, and that if you see an unwarranted cancellation of an earlier edit it is most likely the result of a mistake B-Meyer 05:44, 7 September 2006 (UTC)

[edit] Quick poll on typographic conventions

Past debate has occurred on the best typographic conventions to use in this article. In a nutshell, documentation produced by Eiffel Software and other parties documenting Eiffel generally uses a set of conventions for color (mostly blue), boldface, and italics in the visual presentation of code samples. In contrast, Wikipedia conventions (as indicated by most programming-related articles) use a simple <code> font for inline code, and a MediaWiki "literal" block (indented text; currently rendered with <pre>) for code blocks.

How should this article handle typographic markup of source code examples. Please comment with your opinion, and the reasons for it.

[edit] Code Blocks

[edit] Eiffel color/font in code blocks

  • I definitely think that we should use the colour guidelines as laid out by the standard, especially in the code boxes. These are not as jarring as the inline code samples, and if you're going to edit the code blocks, you should know what you're doing anyway. Wikipedia is for the reader first, the editor second. It's better for it to be accurate than for a less accurate easy-edit version. For me, this stems down to Meta:Wiki is not paper, Wikipedia is not bound by the costs of colour ink, colour is trivial, Wikipedia should take advantage of this fact. - Hahnchen 03:13, 7 September 2006 (UTC)
  • I think Eiffel code must be made to look like Eiffel code looks. Otherwise the article trivializes it to just another code syntax and misses a key point of its purpose and design. Make it blue, etc. Dicklyon 05:43, 7 September 2006 (UTC)
  • I tend to prefer this option, this way the article is more illustrative --Twilight 03:38, 8 September 2006 (UTC)
  • Me too. There are the following precedents on Wikipedia for using each language's preferred convention (although not with color): Algol 60, Simula, Algol W, Pascal (programming language). Anyone know of others? Fuchsias 03:38, 9 September 2006 (UTC)
  • if there is a standard resp. recommendation, i'd rather go with the standard. --ThurnerRupert 21:18, 24 September 2006 (UTC)
  • This should satisfy all parties, and was my original suggestion at the beginning of the entire debacle. On the one hand it allows the example code the appearance of "normal" Eiffel code, on the other hand it will not mar the discussion. Of specific significance is that blue text in the body text is confusing in a hypertext context because it is easily mistaken for hyperlinks, even if in code-tags (f.i. this occurs in several C++ articles: #include <iostream>). Also, it is bad pedagogics because it throws of normal text flow. There are very simple reasons that text books not to laborate with colours in mid-text. Mikademus 06:54, 7 September 2006 (UTC)
  • Best way would be to apply the "Eiffel style in code blocks, Wikipedia style in blocks" scenario, as it leaves the Wikipedia text unformatted. Code blocks are OK on Eiffel style. ≈ jossi ≈ t@ 19:45, 7 September 2006 (UTC)
  • I have not done lots of editing on wikipedia yet, but I am familiar with software engineering (including Eiffel) and typography. As a user I was puzzled with the inline blue fonts (I expect links to be blue). I hear that one of the reasons why Lulu wanted all the standard typographic editing was to make it easier to edit for beginners, right? Looking at the source, I do not understand, why using the font tag with the color argument also alters the face to italic when using uppercase only. Personnally, I find it best to read if the words appear in Eiffel style (except for the color) inline, while code snippets are completely in Eiffel style --Masche 08:11, 11 September 2006 (UTC)

[edit] Eiffel style (no color) in code blocks

  • I agree with Lambiam. While it would be good, in principle, to use Eiffel style conventions wherever possible, I agree that the blue text colour, particularly in inline text, can be confused too easily with Wikilinks. That, however, only represents an argument against the use of blue text. My understanding is that if colour is unavailable as an option, then it is reasonable to default to black text according to the standard. Given the potential confusion of blue text, perhaps it is best to assume colour is, essentially, unavailable, and default back to black text with all the other style conventions remaining. As Lambian said, this deals with most of the objections of both sides. I would also point out that this is hardly jarring given that it would be similar to pseudocode according to Wikipedia style guidelines in Wikipedia:Algorithms_on_Wikipedia. Leland McInnes 18:55, 8 September 2006 (UTC)

[edit] Wikipedia (partially implicit) style guidelines in code blocks

  • Beyond the general jarringness of encountering a non-standard convention in one particular programming language article, I found additional difficulties when I began to edit code blocks marked in the "Eiffel style". A lot of extra markup goes into those conventions, making code samples extremely fragile for editors to modify without disturbing markup features (often in ways that produce dramatically bad results). Non-editing readers will not see this issue, but allowing easy collaboration (rather than implied "invariant" sections) is an important principle of Wikipedia. LotLE×talk 03:01, 7 September 2006 (UTC)
  • Besides the reasons above there is no official standard for the font. Yes, the ECMA standard does recommend the typographic conventions discussed but it is not an official enforced standard. If an implementation's IDE would not be considered compliant because they changed the color of the text then it would be a standard. There are unofficial standards for many languages. Should the Java article (and all articles that feature Java code) be rewritten using the same font as Sun's documents? Likewise, should all the C code (and there's tons of it) be rewritten using the "One True Brace Style" (which has been recommended by standards groups just like Eiffel's conventions)? I don't think anyone would seriously advocate any of the previous notions, hence, I believe that enforcing the stylistic recommendations over the current Wikipedia de facto standard is inappropriate in this case. - DNewhall 05:59, 7 September 2006 (UTC)

[edit] What value does the blue color add?

  • Like every other programmer I understand the value of syntax highlighting - keywords in one color, variables in another, separators in third... That's really useful. But highlighting all the code with just one color doesn't make sense to me. It's just as good as not highlighting it at all. The black-text codeblocks stand out just fine, there's no need to add extra emphasis with bright blue color. If I look at the page, the codeblocks are like screaming: "Look at me! I'm codeblock!". Marking the keywords in boldface is fine, but the blue color has absolutely no meaning. Admit it. Nene 13:07, 1 December 2006 (UTC)
The principe of using blue typeface for code is that all code, including inline code referring to variables in the previous codeblock, or keywords, or feature calls etc. can then be easily distinguished as code. Note that the emphasis here is on inline code being easily distinguishable from text. Because of the poor quality compromise that this article has taken the end result is moot. Code blocks being blue serves little purpose if inline code is left alone. Consistency of style differentiating it from text is the aim. I agree that it is not served here. I suggest using black text evrywhere and reserving bold and italic text for code to help distinguish it. Leland McInnes 18:12, 1 December 2006 (UTC)

[edit] Inline Code

[edit] Eiffel style with color in inline code

  • I definitely think that we should use the colour guidelines as laid out by the standard, especially in the code boxes. These are not as jarring as the inline code samples, and if you're going to edit the code blocks, you should know what you're doing anyway. Wikipedia is for the reader first, the editor second. It's better for it to be accurate than for a less accurate easy-edit version. For me, this stems down to Meta:Wiki is not paper, Wikipedia is not bound by the costs of colour ink, colour is trivial, Wikipedia should take advantage of this fact. - Hahnchen 03:13, 7 September 2006 (UTC)
  • I think Eiffel code must be made to look like Eiffel code looks. Otherwise the article trivializes it to just another code syntax and misses a key point of its purpose and design. Make it blue, etc. Dicklyon 05:43, 7 September 2006 (UTC)
  • I tend to prefer this option, this way the article is more illustrative --Twilight 03:38, 8 September 2006 (UTC)
  • Me too. There are the following precedents on Wikipedia for using each language's preferred convention (although not with color): Algol 60, Simula, Algol W, Pascal (programming language). Anyone know of others? Fuchsias 03:38, 9 September 2006 (UTC)
  • if there is a standard resp. recommendation, i'd rather go with the standard. --ThurnerRupert 21:18, 24 September 2006 (UTC)

[edit] Eiffel style about bold/italics, but no color in inline code

  • Use the Eiffel conventions for inline code except for the colour. Example:  "In the below code block, the class called HELLO_WORLD has a feature called make, which is usually used as an entry-point for the class."   I think this is better than "Eiffel style in code blocks, Wikipedia style in paragraph text" and takes away most of the objections against both "Wikipedia style everywhere" and "Eiffel style everywhere". --LambiamTalk 06:00, 8 September 2006 (UTC)
  • I agree with Lambiam. While it would be good, in principle, to use Eiffel style conventions wherever possible, I agree that the blue text colour, particularly in inline text, can be confused too easily with Wikilinks. That, however, only represents an argument against the use of blue text. My understanding is that if colour is unavailable as an option, then it is reasonable to default to black text according to the standard. Given the potential confusion of blue text, perhaps it is best to assume colour is, essentially, unavailable, and default back to black text with all the other style conventions remaining. As Lambian said, this deals with most of the objections of both sides. I would also point out that this is hardly jarring given that it would be similar to pseudocode according to Wikipedia style guidelines in Wikipedia:Algorithms_on_Wikipedia. Leland McInnes 18:55, 8 September 2006 (UTC)
  • I would be more than happy to use this convention, if it is general consensus. Color is the part I find the most jarring, italics and boldface are farily neutral (this is enforced by the fact that ital/bold have built-in wiki markup, where color needs to drop to HTML). It still makes modifying examples slightly harder, but not too badly. LotLE×talk 19:45, 8 September 2006 (UTC)
  • I have not done lots of editing on wikipedia yet, but I am familiar with software engineering (including Eiffel) and typography. As a user I was puzzled with the inline blue fonts (I expect links to be blue). I hear that one of the reasons why Lulu wanted all the standard typographic editing was to make it easier to edit for beginners, right? Looking at the source, I do not understand, why using the font tag with the color argument also alters the face to italic when using uppercase only. Personnally, I find it best to read if the words appear in Eiffel style (except for the color) inline, while code snippets are completely in Eiffel style --Masche 08:11, 11 September 2006 (UTC)
  • Ruud 13:06, 16 September 2006 (UTC)

[edit] Use generic fixed-font for inline code

  • This should satisfy all parties, and was my original suggestion at the beginning of the entire debacle. On the one hand it allows the example code the appearance of "normal" Eiffel code, on the other hand it will not mar the discussion. Of specific significance is that blue text in the body text is confusing in a hypertext context because it is easily mistaken for hyperlinks, even if in code-tags (f.i. this occurs in several C++ articles: #include <iostream>). Also, it is bad pedagogics because it throws of normal text flow. There are very simple reasons that text books not to laborate with colours in mid-text. Mikademus 06:54, 7 September 2006 (UTC)
  • Best way would be to apply the "Eiffel style in code blocks, Wikipedia style in blocks" scenario, as it leaves the Wikipedia text unformatted. Code blocks are OK on Eiffel style. ≈ jossi ≈ t@ 19:45, 7 September 2006 (UTC)
  • Beyond the general jarringness of encountering a non-standard convention in one particular programming language article, I found additional difficulties when I began to edit code blocks marked in the "Eiffel style". A lot of extra markup goes into those conventions, making code samples extremely fragile for editors to modify without disturbing markup features (often in ways that produce dramatically bad results). Non-editing readers will not see this issue, but allowing easy collaboration (rather than implied "invariant" sections) is an important principle of Wikipedia. LotLE×talk 03:01, 7 September 2006 (UTC)
  • Besides the reasons above there is no official standard for the font. Yes, the ECMA standard does recommend the typographic conventions discussed but it is not an official enforced standard. If an implementation's IDE would not be considered compliant because they changed the color of the text then it would be a standard. There are unofficial standards for many languages. Should the Java article (and all articles that feature Java code) be rewritten using the same font as Sun's documents? Likewise, should all the C code (and there's tons of it) be rewritten using the "One True Brace Style" (which has been recommended by standards groups just like Eiffel's conventions)? I don't think anyone would seriously advocate any of the previous notions, hence, I believe that enforcing the stylistic recommendations over the current Wikipedia de facto standard is inappropriate in this case. - DNewhall 05:59, 7 September 2006 (UTC)
  • I would be fine with this too. - Hahnchen 03:13, 7 September 2006 (UTC)
  • I'd be fine with this. I use emacs when writing Eiffel programs. Having code in blue makes it difficult to make a complete article in Wikipedia style. I think the main article should be shorter and details moved to subtopics, which could be expanded. Epiteo 03:51, 29 October 2006 (UTC)

[edit] Examples

To illustrate the proposed stylistic conventions, each is presented below.

Wikipedia style everywhere: In the below code block, the class called HELLO_WORLD has a feature called make, which is usually used as an entry-point for the class:

class
   HELLO_WORLD
create
   make
feature
   make
      do
        io.put_string ("Hello, world!")
        io.put_new_line
      end
end

Eiffel style in code blocks, Wikipedia style in paragraph text: In the below code block, the class called HELLO_WORLD has a feature called make, which is usually used as an entry-point for the class:

class 
    HELLO_WORLD
create
    make
feature
    make
       do
          io.put_string ("Hello, world!")
          io.put_new_line
       end
end

Eiffel style everywhere: In the below code block, the class called HELLO_WORLD has a feature called make, which is usually used as an entry-point for the class:

class 
    HELLO_WORLD
create
    make
feature
    make
       do
          io.put_string ("Hello, world!")
          io.put_new_line
       end
end

Eiffel style everywhere, less colour: In the below code block, the class called HELLO_WORLD has a feature called make, which is usually used as an entry-point for the class:

class 
    HELLO_WORLD
create
    make
feature
    make
       do
          io.put_string ("Hello, world!")
          io.put_new_line
       end
end

Eiffel style everywhere, colour in code blocks only : In the below code block, the class called HELLO_WORLD has a feature called make, which is usually used as an entry-point for the class:

class 
    HELLO_WORLD
create
    make
feature
    make
       do
          io.put_string ("Hello, world!")
          io.put_new_line
       end
end

[edit] Discussion

An additional problem, to my mind, with using syntax highlighted code (even in code blocks) is that it tends to mislead readers who may be unclear at first exactly where the highlighting comes from, and whether it is required to make code compile/execute. I.e. do I need to use a custom IDE to manually mark keywords as such, in order to create or run Eiffel code? In my personal world, the most common way I look at code is something like:

% cat hello.e
class
   HELLO_WORLD
create
   make
feature
   make is
      do
         io.put_string ("Hello, world!")
         io.put_new_line
      end
end

I never see any special highlights or non-standard console color, even when I look at completely compilable source code files. Now obviously, if I were to use specific IDEs or programming editors, I might see the "Eiffel style" markup features (or I might see other ones, depending on what syntax highlighting features I chose). Picking something non-generic and IDE-specific draws readers into thinking a non-essential feature is an actual part of the language syntax (albeit a moderate amount of potential confusion). LotLE×talk 19:56, 7 September 2006 (UTC)

To carry the example of the confused reader "I.e. do I need to use a custom IDE to manually mark keywords as such, in order to create or run Eiffel code?" to its logical conclusion, we should probably remove the indentation so that the mentioned reader does not wonder "Do I need to indent manually indent blocks of code in order to create or run Eiffel code?"

something like:

class
HELLO_WORLD
create
make
feature
make is
do
io.put_string ("Hello, world!")
io.put_new_line
end
end

or

class HELLO_WORLD create make feature make is do io.put_string ("Hello, world!") io.put_new_line end end

75.30.203.153 06:57, 9 September 2006 (UTC)

[edit] WP:AUTO

I would kindly request from Mr. Meyer to allow others to edit the article. Mr. Meyer can provide guidance via the talk page, and limit his direct editing to correcting mistaken or out-of-date facts only. ≈ jossi ≈ t@ 03:09, 7 September 2006 (UTC)

I dont agree, this article is not about Dr. Meyer, and in no way can be considered a biografy or an autobiografy. This article is about a programming language, and nobody can illustrare it better than its creator. --Twilight 03:49, 8 September 2006 (UTC)
Why don't you read the policy. --Ideogram 04:16, 8 September 2006 (UTC)
Because the policy makes no sense, and blatantly promotes stupidity. 128.135.99.80 22:58, 1 November 2006 (UTC)

[edit] Trying again with Dr. Meyer

Dr. Meyer, despite everything I have said, I do welcome you back and I am glad you are making another effort to work with us, even if you are not perfect. I apologize for all my nasty and intemperate statements and ask you to pretend they never happened, but there are two overwhelming factual points that I will not let you ignore:

  1. Wikipedia is run by consensus and you must be willing to discuss any edits you wish to make.
  2. The GFDL (that's GNU Free Documentation License) cannot be revoked on your whim.

Thank you, and I will now leave you in peace and let you work. --Ideogram 05:49, 7 September 2006 (UTC)

[edit] Once routines

There is a mismatch between the current text and its examples. The text suggests the do is replaced by once, but the sample reads:

shared_object: SOME_TYPE
   do
      create Result.make (args) -- This creates the object and returns a reference to it through 'Result'
   end

Should this be:

shared_object: SOME_TYPE
   once
      create Result.make (args) -- This creates the object and returns a reference to it through 'Result'
   end

Can someone clear up the conflict between description and code sample? LotLE×talk 06:15, 7 September 2006 (UTC)

You are correct. Also, the keyword is after SOME_TYPE is missing, which I have added now. MoA)gnome 15:01, 11 September 2006 (UTC)

[edit] keyword is & ECMA 367

Thanks for adding these. Oddly, all the code samples with the missing "is" seem to have been written by Bertand Meyer. What's up with that? Does Eiffel allow some syntax variant, or something? LotLE×talk 15:50, 11 September 2006 (UTC)

As I've found out now, leaving out is seems to be a quite new standard [1]; the current version 5.6 of the EiffelStudio IDE does not support it, but obviously, 5.7 will. Same thing goes for the Tuple, as it is described in the article, it won't work in 5.6. Somebody decide about having it there or not (or maybe mentioning it explicitly), but make sure to keep it consistent.... MoA)gnome 17:14, 11 September 2006 (UTC)

I've just removed one of these again, so I thought I would mention it here again: the keyword is in the feature declaration is, according to the ECMA-367 standard mentioned in the text and listed on the links, not part of the Eiffel syntax any more. MoA)gnome 11:46, 6 October 2006 (UTC)

[edit] Page vandalized again

Well, it seems someone (apparently Mr. "Lulu" if I read the history right) went surreptitiously (no comment in the history) through the whole material and destroyed all the font conventions -- all of them, not only color. All this without any discussion (in fact the comments expressed on this topic were mostly for retaining all the conventions.) The resulting text does not look like Eiffel; it violates all the typesetting rules of the language.

This is sheer vandalism and this person should be barred from editing the article any further.

All this makes Wikipedia look terrible -- Usenet at its worst. I am powerless to try to instill some civilized behavior here, but perhaps someone else will have the courage take over. Too bad, it could have been fun. B-Meyer 18:38, 7 September 2006 (UTC)

But there are colours in the "style" header. Isn't that sufficient to indicate the preferred presentation of standard Eiffel code? When re-reading the article, after your post, above, nothing about it struck me as "terrible" --note that I am not an Eiffel practitioner-- and the separate header for normal style was informative without breaking the encyclopaedic convention. Or am I missing something here? Because I hope there must have been some significantly nefarious editing going on for someone to cry "vandalism" and "ban the witch!". Mikademus 18:49, 7 September 2006 (UTC)
I am an Eiffel practitioner. Nobody I've ever met cares about the official Eiffel Font Conventions™ except Meyer. He's being inexcusably stubborn and rude on this point. --P3d0 16:47, 8 September 2006 (UTC)
If or when consensus is reached to use a non-standard style convention for this article, despite the rather glaring contrast with other PL articles, I will happily defer to such consensus. That's why I created the above "Quick poll" to gauge sentiment" (given that the prior reams of discussion were inconclusive, and excessively rancorous). But unless such agreement is reached, using the "standard Wikipedia convention" is really the only reasonable action. As Mikademus indicates, I took the trouble of adding an example using the "Eiffel convention" so that readers could see it, and tried to integrate that well with the narrative text about style conventions. If you think some other code sample would illustrate more conventions, I'd be more than happy to use such an expanded example.
Do we really need the ongoing almost hysterical accusations and insults from Bertrand Meyer? This seems awfully close to WP:NPA violation to accompany the WP:AUTO violations (especially following on all the "idiot mob rule" stuff from before).
And what's the weird thing with the scare quotes around my username? Not that four ticks actually harms me, but it seems peculiar... is this some sort of "discovery" that my birth-certificate didn't actually read "Lulu of the Lotus-Eaters" (I've actually used that name for about 14 years now, in various fora, and it's pretty simple to figure out roughly what my birth certificate did say... and notably, if one were to stand on ceremony as "Dr. Meyer" insists on, my honorific is 'Dr.' not 'Mr.' LotLE×talk 19:08, 7 September 2006 (UTC)
I really think you should have waited the result of the poll you have created, before taking any action related to style conventions. The bitter reaction of B-Mayer is fully justified IMHO. --Twilight 03:42, 8 September 2006 (UTC)
The sequence of edits has just about no resemblance to Meyer's description of it. I was restoring a large number of wording improvements that he had removed, and did so only after he said "go ahead and restore" on this talk page. His "vandalism" foolishness is just another example of his belief that he "owns" the WP article because he created the language that is its topic. LotLE×talk 04:26, 8 September 2006 (UTC)
Do you know what vandalism is? How about large-scale removal of previously contributed material? --Ideogram 04:18, 8 September 2006 (UTC)
For anyone thinking that the accusation of vandalism is in any way founded in reality, please reread Wikipedia:Vandalism. Vandalism should only be claimed when you can no longer assume good faith. Blanking is vandalism, bold edits are not. I find it hard to view changing the font to the common font style used on WP and otherwise leaving the samples intact as "large-scale removal". The poll is underway, but until it is completed where's the harm in having the article adhere as closely as possible to common WP style conventions? -- Isogolem 21:33, 8 September 2006 (UTC)
Just to clarify, my comment was in response to Twilight, not Lulu. The "large-scale removal" I was referring to was Meyer's attempt to withdraw his contributions, not Lulu's edits. --Ideogram 03:54, 9 September 2006 (UTC)

I am Eiffel agnostic, and do not have specific POV on ths subject. Can someone explain what is the contention about the "font conventions"? Please provide Diffs for the different versions. Thanks. ≈ jossi ≈ t@ 19:15, 7 September 2006 (UTC)

I added samples of the three basic proposed style conventions at the above quick poll. LotLE×talk 19:29, 7 September 2006 (UTC)

[edit] Why WP:AUTO matters

This is all so silly that I probably should not respond, but in the interest of openness, and to close my part: (1) I don't know where you get the idea that I care about titles next to my name -- I don't give a hoot, call me whatever you like. I am not sure how you want to be called, so "Mr." seemed a generic form of respect. (2) I do care about substance, and don't understand why you find it so crucial to spend your time removing again and again the carefully prepared style conventions of Eiffel, apparently as a kind of preemptive more since it's so much more difficult to restore them later than it would have been to leave them as they are and then remove them if that's the consensus view. (3) All the accusations of autobiography etc. make no sense; this article existed for 5 years (five years!) before I came anywhere close to it, and I simply made it factual; describing how Eiffel handles inheritance or object creation has nothing to do with autobiography. (4) The allegations of personal involvement are just as groundless; I took it upon myself to add to this article what it should have had in the first place, a matter-of-fact description of the language; there has not been any biased of self-serving element, and anyone who thinks he has spotted one can just fix it, like anything else, by editing the page. (5) It's true that it takes some guts to post under one's own name, especially if that name is known in the corresponding community; but I decided that using a pseudonym, like most of the people who have hampered the development of this article, would just be devious. The result is that I have been hooted down not because of what I wrote (with which no one found any serious problem, other than typos or other minor points) but because of who I am. There's this prejudice that because I have been involved with the language I should not be permitted to contribute to the description. This is absurd and discriminatory. I wrote descriptions of language mechanisms because no one else had done it and as a result the article was deficient in its presentation of the language (it was mostly expressions of various POVs). (6) Obviously a few people determined to make a point, Usenet style, have more time than I do, and I am happy to leave them the last word. What no one can deny is that even though the article is far from perfect -- not just because the font conventions are wrong -- it is much better than when a couple of other people and I started working on it (just see the record of what it was only seven weeks ago). That's what counts, and it means that I haven't completely wasted my time. I hope that others, perhaps with names less likely to attract the attention of the censors, will continue that work, and wish everyone good luck, with my thanks for what I have learned in the experience. B-Meyer 12:02, 8 September 2006 (UTC)

With "I have been hooted down not because of what I wrote (with which no one found any serious problem, other than typos or other minor points) but because of who I am." you're twisting the sequence of events horribly as well as adding a substantial self-serving and self-aggandising bias to the debate. No-one opposed your edits, regardless of who you were, until you started ignoring the concerns of several editors, started acting autocratically, and finally claimed all wikipedians a "proudly ignorant mob". Then, and only then, did the debate turn to being about you and WP:AUTO et ál started being invoked by commentors. Mikademus 15:02, 8 September 2006 (UTC)
Call me whatever you like. 'Dr. Lulu' has a nice sound to it, but lots of things are equally fine. Like you, my well-known "real name" is perfectly apparent too (it occurs within the first few words on my user page; and takes no particular bravery or chutzpah to reveal; FWIW, it seems I'm "half as famous as Meyer" :-): [2]). Meyer's above note tends to emphasize why WP:AUTO really is an important concern. This isn't about rules-lawyering (yes, "autobiography" on WP is clearly not limited to biography as such; no, Meyer didn't create the article). Let's get to the real problem, and why it relates to WP:AUTO...
Like Jossi and some others, I am entirely agnostic about Eiffel; I have have no great knowledge or investment in the language, but I have known for a number of years its general structure and the ways it differs from other similar languages. I really only stumbled across the article because of a slightly-too-exuberant couple sentences about it someone inserted into Functional programming, which is an article I had contributed to significantly (though again, a topic about which I am pretty agnostic). The first thing that struck me upon reading the article as it was then was, indeed, how very jarring the idiosyncratic font conventions were in a Wikipedia article; and I indeed politely asked about that on the talk page (having seen some prior comments to the same effect there). My perspective is one of a Wikipedia reader and editor, not one of a dedicated Eiffel proponent and enthusiast. The garish color certainly harms the article from that perspective
Now that I've gotten around to really editing the article, I see quite a lot of problems that pretty closely tie in to Meyer's role in writing it. I don't want to do a forensic analysis of exactly which word was added by whom. But the overall tone is really quite a bit off for a Wikipedia article. There are three general categories of problems that most strike me, all closely connected to this:
  1. The article reads much too much like advocacy. Rather than say that Eiffel does things such-and-such way, it tended (before my cleanup, more still needed) to argue why such-and-such is the right way to do it, and why other PLs are wrong to do it otherwise. And even where it wasn't per se "Eiffel is better", there were altogether too many circumlocutions into the thinking of the designers (i.e. Meyer) in chosing such-and-such. A general section on "design goals/philosophy" is useful, but not a reiteration of that when discussing each dot and tittle, as it had.
  2. The article reads much too much like a tutorial. It's easy to write tutorials, and some other PL articles fall into this trap to varying extents. But that assumes the wrong perspective for readership. Meyer (and advocates generally) start with the assumption the reader comes in with: "I want to learn Eiffel, what do I need to know?" For the most part, that's the wrong readership of an encyclopedia. Instead, they come in with: "I want to understand (a) What Eiffel is (i.e. a PL, one which has certain principles and strengths, etc); (b) How Eiffel differs from other PLs; (c) The history, tools, community, etc. that surrounds the PL". Readers should most certainly be pointed to other resources, such as actual tutorials on a PL. But an encyclopedia article isn't the right place to learn a programming language... it's the place to learn about a PL.
  3. The article jumped much too quickly into the specific lingo of Eiffel without providing context and bearings for readers who are likely to be familiar with other PLs. For example, before I added it, there was not even a mention of the fact that what Eiffel calls a "feature" is often called a "method" in other PLs. Similarly for many other terms and phrases.
In the interest of accuracy: a "feature" in Eiffel does not correspond to what is called a "method" in Smalltalk and subsequent languages. Features cover both "routines" (the closer equivalent to "methods", or "functions" in C++) and "attributes" ("instance variables" in Smalltalk, sometimes called otherwise, e.g "field", in other languages). I guess that if you want a word in a more widely used language it's "member". The reason for the importance of the word "feature" in Eiffel is the "Uniform Access Principle" which implies that you cannot distinguish functions from attributes from the outside, i.e. in "a.a_feature", a_feature could be a function or an attribute and the other class can use it without knowing which. Perhaps you could correct this. Fuchsias 03:32, 9 September 2006 (UTC)
Or to put it all in a phrase: WP:AUTO matters. LotLE×talk 15:37, 8 September 2006 (UTC)

Meyer points to an old version at [3] in the above thread. I'm not sure if that's the exact version before his contributions, or what. But looking at it, I'm quite struck by what a nice tidy article it was then. It's not really clear to me whether that 7-week ago version was better than the current one, but it certainly avoids a lot of the pitfalls of the current WP:AUTO version, and was a very clear and well-written overview of the language at a conceptual level. I do think it's better to move forward with trimming down the newer additions, and working for NPOV in them; but it's quite striking how wrong the claims of prior deficiency in the article are: I really encourage editors to glance at that pre-Meyer version. What the older one was not, of course, was an Eiffel tutorial; which is exactly what a WP article should not be. I don't think the article is big enough to spin off an "Eiffel syntax" child (we did that at Python), but I encourage editors to keep in mind letting readers get the conceptual parts as close to the top of the article as possible, while postpoining syntax details until later (I just moved "background" up to this purpose). LotLE×talk 16:37, 8 September 2006 (UTC)

I would argue that the article is way too long and reads more as an how-to than an encyclopedic article. See for examples C++, a widely used language. I would suggest to trim the article to a compact size, explain the overall concepts of the language, and provide some references for any assertions that require it. All other text could be moved to Wikibooks. Tag added. ≈ jossi ≈ t@ 19:51, 8 September 2006 (UTC)

[edit] What's wrong with language font conventions?

I see two articles on programming languages with examples using specific fonts in accordance with the respective language conventions (keywords in boldface): Simula and Algol 60. It's not clear why this can't apply to Eiffel as well. Fuchsias 03:18, 9 September 2006 (UTC)

These two examples make use of bold and italics, but neither use any special color. Just a data point. If you'd like to participate in the Quick Poll about this, I'm sure that would be helpful, Fuchsias. LotLE×talk 03:21, 9 September 2006 (UTC)
I understand color is more controversial, but didn't you remove all boldface and italics as well?Fuchsias 03:35, 9 September 2006 (UTC)
One more: Pascal (programming language) uses bold keywords. What's all the fuss about?Fuchsias 03:49, 9 September 2006 (UTC)
I didn't remove any typography at all, at least not in the way Meyer claims. I copied some sections over from the "scratch pad" draft that a few editors used while the article was protected, in order to get my wording improvements back in place (as Meyer requested I do on the talk page!). Nonetheless, what we have now is clearly the "Wikipedia default", so absent some consensus to do otherwise, it's the right thing. FWIW, I thought about how I might automatically add highlighting to code samples should such consensus emerge. I found a keyword list, and the whole thing would take less that 20 lines of code to do automatically. So bellyaching about the huge effort that might be involved in adding highlights is rubbish... I'll write a script in 15 minutes, and run it in 5 seconds. LotLE×talk 04:15, 9 September 2006 (UTC)

Just found another example: Algol W uses underlining. More evidence that elsewhere having each language article follow the language's own conventions doesn't seem to have bothered anyone. Fuchsias 03:34, 9 September 2006 (UTC)

Note that no-one has contended the use of Eiffel-specific code formatting in the code sample blocks. It is formatting of inline code (code in the article text) that is controversial and inadvisable for many reasons. So the articles you've listed are, unfortunatly beside the point; notice that none of them uses language-idiosyncratic formatting of inlined code. Mikademus 09:16, 9 September 2006 (UTC)
Please note the quick poll above: A number of editors have stated a preference against using Eiffel conventions in code blocks, in some cases only against the color convention. But certainly, a larger number of editors dislike inlined code highlighting. LotLE×talk 14:49, 9 September 2006 (UTC)
I meant that during the flurry of Meyer's edits, before the real atagonism arose, no-one was intransigent about colours in the code boxblocks. Mikademus 17:35, 9 September 2006 (UTC)
Which, I think, leaves the best compromise position as being that of using font conventions everywhere without use of colour anywhere. This removes the primary complaint with regard to font conventions for inline code - that it becomes confused with Wikilinks, and removes the primary complaint with regard to removal of font conventions - that keywords, variables, etc. referenced inline in the text are clearly referencing code, are more readable, and consistent in style with their reference point in code blocks.
It strikes me that this is an easy solution. Clearly if we can have readability and consistency without creating confusion then we should do that. Leland McInnes 21:05, 9 September 2006 (UTC)

FTR, the Wikipedia manual of style is very clear on the use of color -- namely, don't do it. - Keith D. Tyler (AMA) 18:34, 19 September 2006 (UTC)

I read the use of color as very clearly stating: "Using color ALONE to convey information (color coding) should not be done. ... It is certainly desirable to use color as an aid for those who can see it, but the information should still be accessible without it." 75.5.175.149 02:34, 20 September 2006 (UTC)


[edit] Adding boldface to keywords

Here's the 15 lines necessary to highlight all the keywords in the Wikitext:

#!/usr/bin/python
import sys
kws = '''
    alias all and as check class create debug deferred do else
    elseif end ensure expanded export external feature from frozen
    if implies indexing infix inherit inspect invariant is like
    local loop not obsolete old once or prefix redefine rename
    require rescue retry select separate then undefine until
    variant when xor'''.split()
fname = sys.argv[1]
wikitext = open(fname).readlines()
for line in wikitext:
    if line.startswith(' '):
        for kw in kws:
            line = line.replace(" %s" % kw," '''%s'''" % kw)
    print line,

If I have the keywords wrong, let me know to fix it. I'm not really sure what the rule is for where italics go (the article doesn't really say clearly), but presumably if I did it would be easy to add to the simple scaffolding. LotLE×talk 04:44, 9 September 2006 (UTC)

Please note that such a script will also only cover codeblocks, and not inline code. There is also, as you note, the issue of italics. Leland McInnes 05:53, 9 September 2006 (UTC)

[edit] authors intention not important?

if the author thinks the typesetting is important, why not leave it as such? if you really write code in eiffel, you anyway use an editor and set your style to your own preferences. imo wikipedia tries to give an authentic picture and is not "your personal text editor". one paragraph at the end hinting at that is just blowing up an already long article.

also python uses a special kind of indention ... but contrary to eiffel the python compiler enforces it. currently the article sometimes does not get the indention right - comp. http://se.ethz.ch/~meyer/publications/online/eiffel/basic.html.

is there a place to vote about such things in en.wikipedia.org?

--ThurnerRupert 05:22, 19 September 2006 (UTC)

[edit] Bold and italic font conventions

I think we have, at this point, at least a rough consensus for bold and italic Eiffel font conventions to be used throughout the article (inline, and in codeblocks). Colour, whether restricted to codeblocks or not, seems to still be somewhat cntroversial, so let's leave that aside for now. Barring no further complaints in response to this I will, sometime in the next week or so, try and go through the article and apply bold/italic font conventions wherever appropriate. Leland McInnes 05:47, 20 September 2006 (UTC)

i tried to re-order the poll and separate out a vote for code block, and for inline code.
it seems to be a clear vote for eiffel standard with color in code blocks.
for inline code i do not know how to interpret the vote. it seems quite even for all three options. if we take away the color then wikipedia style looses. --ThurnerRupert 22:02, 24 September 2006 (UTC)
No, there's not. The way things work is that the editor with the most time (or sockpuppet friends) wins. If you don't like it, fork Wikipedia; it's Free. 128.135.99.80 23:05, 1 November 2006 (UTC)