Re: Problems porting Gobo to SmartEiffel
Eric Bezault <ericb-D6Qt/9opevxWk0Htik3J/[email protected]> Tue, 14 Aug 2007 19:37:37 +0200
| Newsgroups | gmane.comp.lang.eiffel.gobo.general |
|---|---|
| Message-ID | <[email protected]> |
Chris Saunders wrote: > This is a question for Eric Bezault regarding a post that you made to > es-devel regarding the difficulty of porting Gobo to SmartEiffel. I was > asked to post the same question here so here goes. > > > > I'm curious Eric about the difficulties you encountered while trying to port > Gobo. Just something which could give me a general idea - I had no idea that > their changes were that drastic. A few people posted expressing an interest > in this. It has always been a big effort to try to maintain and develop the Gobo library classes with the various Eiffel compilers when these compilers agreed that they were implementing the same language. Now we clearly have two languages (even if the syntax is very similar), so it's even more difficult. The main problem with SE, as was already reported by other people, is that they don't pay that much attention about backward compatibility. They are always looking forward without realizing that they are breaking existing code. I just had enough spending most of my time trying to find impossible ways to compile my code with those various compilers. Even when compilers are implementing an evolving language, if they don't support most of the previous versions of the language between releases, it's very hard to find ways to have code that can compile with this new Eiffel compiler and also with the other older Eiffel compilers. Among other things, SE has just removed or changed the semantics of kernel features (instead of using the obsolete mechanism as done by other compilers). They don't use the convert mechanism which is so handy during language transition periods as shown by EiffelStudio. Their syntax and semantics for very basic things such as manifest constants is different. Their conformance rules is different, which makes interoperability difficult not only for polymorphism but also for multiple inheritance where the feature adaptation clauses of the parents that compile with one Eiffel compiler will not compile with the other. I can probably continue the list, but if I dropped the support for SE in Gobo it's because I didn't want to waste anymore time on this topic. -- Eric Bezault mailto:ericb-D6Qt/9opevxWk0Htik3J/[email protected] http://www.gobosoft.com