Adrian Wilkins wrote:
> Aye ; this would appear to imply that classes can share names as long
> as they don't appear in the same cluster.
>
> http://www.pi.informatik.tu-darmstadt.de/inf1/eiff-ref/chap3.htm#cluster
>
> But when I add a class using EiffelStudio, it just complains that
> there is already a class of the same name, regardless of which cluster
> you add it in... the only way I could get around this was....
>
>  * Create a class with the filename desired, but a different classname.
>  * Manually edit the class name in the file to the desired classname
>  * Compile (this updates the name in the cluster treeview)
>
> Please someone (Mr Beale?) tell us it's not really that fiddly.
>
>   
Eiffel currently does not support namespaces, so it means that if you 
have an Ace file that mentions 2 clusters (=packages) each with a class 
of the same name, it won't work. In practice this doesn't matter in 
software you have control over. It can create a problem when you want to 
integrate with an external package, in in openEHR in fact we had to 
rename a couple of classes due to this.

But - as I have said before, there is nothing forcing people to use 
Eiffel. You can use the Java or (soon to be published) C#.Net 
implementations of openEHR that are underway. A Release 1.0-compliant 
version of the Java classes will be uploaded soon.

Since people seem to find Eiffel a strange choice, I will simply say 
that I continue to use Eiffel because it is far more powerful than these 
other languages (and I have to say, working somewhat more closely than 
usual with the Java effort, I am continually amazed at how semantically 
weak Java is - there are so many things you just can't do easily...). 
And we use it to do basic formal testing on the openEHR models, since 
Eiffel implements everything in UML+OCL. I recommend it to anyone 
interested in safety, correctness, and writing as few lines of code as 
possible. Recently it was open sourced, and now is offered under a dual 
license.

On the other hand, there are various reasons why people use other 
languages, and they should not take my remarks above to mean that a) 
openEHR needs Eiffel (it doesn't) or b) that good software can't be 
written in other languages (it can; it just takes longer to write the 
same code, but due to larger amounts of available libraries and tools, 
there are often more things you can do.).

hope this answers a few frequent questions.

- thomas beale

-- 
___________________________________________________________________________________
CTO Ocean Informatics (http://www.OceanInformatics.biz)
Research Fellow, University College London (http://www.chime.ucl.ac.uk)
Chair Architectural Review Board, openEHR (http://www.openEHR.org)




Reply via email to