Re: Is Smart Eiffel ready for large-scale application ? (SmartEiffel stability, language design, and forking)
Philippe Ribet <[email protected]>
| Newsgroups | gmane.comp.lang.eiffel.smalleiffel |
|---|---|
| Message-ID | <[email protected]> |
Joseph Kiniry wrote:
> Bonjour Pierre-Nicolas,
>
> [...]
>
>>
>> To me, SmartEiffel doesn't seem to crash *that* much. Considering the
>> huge
>> number of compilers I used, SmartEiffel is a very good one (and does its
>> job well). I don't know about SmallEiffel.
>
>
> SmartEiffel, in my experience, does crash quite a bit more than
> SmallEiffel. I am of the opinion that the compiler should *never*
> crash. I believe the reasons that SmartEiffel is not as stable as some
> other similar research compilers are many-fold: the size of the
> development team, the semi-closed development methodology, the lack of
> formal language foundation, the lack of open rigorous process are the
> most obvious ones. These are only in my opinion, of course.
>
You're quite right. In fact, SmartEiffel does not crash more than
SmallEiffel, but SmartEiffel 2.0 and 2.1 does crash more than previous
releases (SmartEiffel 1.x and SmallEiffel).
SmartEiffel 2.x uses really different internal structures. This massive
change resulted in the observed effect for the following reasons:
- the change is really huge, so some time is needed to isolate the few
remaining bugs,
- the new architecture is really much less bug tolerant. This means that
most errors in the compiler result in some crash. This may seems bad,
but in fact we consider this to be good because it helps to identify
problems. The old compiler architecture was producing valid C code with
wrong behaviour in such case, and about nobody detected there was bugs.
The new compiler is much better because it is much safer. Bugs are now
less hidden, this will help fixing them and so improve the compiler.
Note that an option has been added last week to execute assertions in
"flat" mode. This means that assertions will be evaluated without
running assertions of the used features. This possibility allows to run
the compiler in debugging mode much faster. This will help in finding
bugs (in the compiler, but this will help users too while running their
applications much faster).
Best regards,
--
Philippe Ribet
The README file said
"Requires Windows 95, NT 4.0, or better."
So... I installed it on Linux!