Learning from the W3C process

by Colin Adams (modified: 2007 Feb 28)

I have been disappointed in the quality of the ISO standard for Eiffel. In fact I would be ashamed to point to it in order to show-off Eiffel.

For one, it has far too many typographical errors.

For another, some areas appear to be under-specified. For example, Unicode.

For a third, it appears that the prophecy by the SmartEiffel team, that the standard (as we now have it) will never be implemented, seems likely to come true, in the light of the current discussions about CATCALLs on the Eiffel Software wiki.

I think these failings might be attributable to the process followed. I think we could learn a lot from the W3C process document (as a member of the XSLT working group, I have some experience of this).

In this process, an intended standard goes through various stages. The critical stages are Call for implementations (when a Candidate Recommendation is released), and Call for a review of a Proposed Recommendation. It is normally expected that interoperability of all features of the proposed standard is demonstrated by at least two implementations.

Further, the actual process itself is more open and user-friendly. There are mailing lists where the public can post comments on the various working drafts. In the XML Processing working group even the internal discussions mailing list is readable by the public (but not writeable - there is a separate public comments mailing list).

I know the online PDF of ETL3 was available for the public to browse, but I find it far harder to do this than with the XHTML documents that the W3C publishes, and there was no easy feedback mechanism.

  • Emmanuel Stapf (10 years ago 28/2/2007)

    We are much better with a standard

    In my opinion we are much better now with a standard than without a standard. It fixed a lot of the shortcomings you could find in ETL2 and clarified some gray areas. And ETL2 was 10 years old and missed important stuff such as Agent, Precursor and other things. It is going to take some time to fully implement it, but we will succeed at the end.

    Since I do not know the W3C process, I cannot say much, but I believe the Eiffel community of people interested in the precise specification is not strong enough to follow the exact same model.

    Regarding implemented vs. standardized, it was our goal to do that, but at the end we chose to innovate in the following areas even though there were no implementation:

    • Eradicating call on Void target.
    • Eradicating CAT calls.
    • New inheritance model.

    They seemed important enough to give Eiffel the competitive advantage it should have to be ahead of other languages that are now taking more and more stuff from Eiffel.