Eiffel is an ISO Standard
January 2007
2006 will remain for the Eiffel community as a milestone: the year
when the Eiffel language definition became a standard of the
International Standards Organization (ISO).
The ISO standard, released in November, is the culmination of the Eiffel
standard process started five years ago within ECMA International. The
first major result of that effort was the initial ECMA standard,
published in June 2005 as discussed in my April 2005 column, still
available at:
http://www.eiffel.com/general/column/2005/April.html
What's new is that we now have a standard with the best possible
imprint: ISO. Eiffel joins a select group of programming languages that
enjoy this imprint, from Fortran and Cobol to C, C++ and C# -- but not,
for example, Java. An ISO standard reinforces Eiffel users in their
choice by guaranteeing that Eiffel has passed the ultimate test of
stability and durability, and that compilers and tools will continue to
thrive for decades. It also makes Eiffel appealing to whole new
categories of potential users, as many companies prefer technologies
that are backed by an international standard.
The standard is the result of the close relationship between ECMA and
ISO. The ECMA standard was itself the target of an extensive revision
effort in 2006, taking into account comments received on the first
version; the revised version, ECMA 367-2, was published in June 2006 and
will be the reference for a long time. Its text is identical to that of
the ISO version and can be found at
http://www.ecma-international.org/publications/standards/Ecma-367.htm
You can also find it on the ISO site at http://tinyurl.com/y5abdx with
identical contents but a different cover material and content. Note that
the ISO page currently shows a price for accessing the material; this
should be turned into free access, but in the meantime you can use the
ECMA version which is already free.
For a discussion of the actual contents of the standard and the major
technical improvements you can consult the April 2005 column (first URL
cited above).
The members of the ECMA committee are extremely proud of this
achievement, coming out of five years of grueling work. We are also, in
particular at Eiffel Software, aware of the new expectations it raises.
Foremost is our obligation to implement all of the standard. This is not
a trivial task, as some of the most exciting advances, such as attached
types to guarantee the total absence of void calls (readers familiar
with other languages may think of "null pointer dereferencing"), are
pretty demanding on the compiler writers. We have already progressed
significantly, implementing some major new mechanisms such as
conversions, inline agents, and operator/bracket aliases -- each of them
bringing a considerable increase in expressive power and safety, unique
to Eiffel. Every new release will bring us closer to an implementation
of the full standard; we understand the impatience of the Eiffel
community and will shortly publish a "road map" showing the expected
date of implementation of every new or revised mechanism. Now that the
language is stabilized, it is also incumbent on me to finish "Standard
Eiffel" (new title for "Eiffel: The Language", third edition), so that
we have an up-to-date, readable and practical description of the full
scope of the Eiffel language as it exists today.
The ISO standard will be the reference for everyone in the Eiffel
community. We are very grateful for the amount of support it has
received from that community, and will work to continue deserving that
trust. There could have been no better way to finish 2006, and no better
opportunity to wish all readers of EiffelWorld the best for 2007.
-- Bertrand Meyer |