Isn Ada less “elegant” than Eiffel?
While it is true that programming-language support for “assertions” is an important contribution of Eiffel to software construction, this is not an issue of “elegance”, and there are many other important factors to consider. Note also that preconditions and postconditions can be fairly easily and efficiently included in Ada code. Invariants seem difficult to emulate directly in Ada. If you’re really interested in the formal use of assertions with Ada, maybe Anna is a solution for you. (Tucker Taft comments) I guess one thing that bothers me a little is that people are quick to say that Eiffel is “elegant” without really looking at it. I fear that such statements will become self-fulfilling prophecies, with those programmers interested in elegance migrating over to Eiffel rather than sticking with Ada. In particular, although I like the assertion stuff in Eiffel, I think the language has a number of “inelegant” aspects. For example: • exception handlers only at the top level of a routin
While it is true that programming-language support for “assertions” is an important contribution of Eiffel to software construction, this is not an issue of “elegance”, and there are many other important factors to consider. Note also that preconditions and postconditions can be fairly easily and efficiently included in Ada code. Invariants seem difficult to emulate directly in Ada. If you’re really interested in the formal use of assertions with Ada, maybe Anna is a solution for you. (Tucker Taft comments) I guess one thing that bothers me a little is that people are quick to say that Eiffel is “elegant” without really looking at it. I fear that such statements will become self-fulfilling prophecies, with those programmers interested in elegance migrating over to Eiffel rather than sticking with Ada. In particular, although I like the assertion stuff in Eiffel, I think the language has a number of “inelegant” aspects.
While it is true that programming-language support for “assertions” is an important contribution of Eiffel to software construction, this is not an issue of “elegance”, and there are many other important factors to consider. Note also that preconditions and postconditions can be fairly easily and efficiently included in Ada code. Invariants seem difficult to emulate directly in Ada. If you’re really interested in the formal use of assertions with Ada, maybe Anna is a solution for you. (Tucker Taft comments) I guess one thing that bothers me a little is that people are quick to say that Eiffel is “elegant” without really looking at it. I fear that such statements will become self-fulfilling prophecies, with those programmers interested in elegance migrating over to Eiffel rather than sticking with Ada. In particular, although I like the assertion stuff in Eiffel, I think the language has a number of “inelegant” aspects. For example: 1. exception handlers only at the top level of a routi
I guess one thing that bothers me a little is that people are quick to say that Eiffel is “elegant” without really looking at it. I fear that such statements will become self-fulfilling prophecies, with those programmers interested in elegance migrating over to Eiffel rather than sticking with Ada. In particular, although I like the assertion stuff in Eiffel, I think the language has a number of “inelegant” aspects. For example: exception handlers only at the top level of a routine, with the only way to “handle” an exception being by retrying the whole routine. No way to return from a routine in the middle. This makes it a pain in the neck to search through a list for something in a loop, and then return immediately when you find what you want. (I have never found the addition of extra boolean control variable a help to the understanding of an algorithm.) Namespace control handled by a separate sublanguage, and no real higher level concept of “module” or “subsystem.” An obscure notatio