[Mono-list] Thinking in C#

A Rafael D Teixeira rafaelteixeirabr@hotmail.com
Thu, 09 May 2002 22:34:04 -0300


Larry O'Brien wrote:

>I am the primary author of _Thinking in C#_ ...

>... Another thing I'd like to do in the book is present a clear
>picture of the boundaries between what is Microsoft's protected IP
>and what is open; as I understand it, this is
>the ECMA spec. True?

Maybe someone can answer it better...

>And is there anywhere a clear diagram of what
>elements are within the spec and which outside?

Two comments:
1 - Mono goes beyond ECMA, emulating (maybe its better to say that Mono will 
emulate) most of .NET Framework Class Library. Rotor mainly stops at what 
ECMA specifies, but it cannot be used to develop software, itīs restricted 
to learning uses, by the Shared Source License.
2 - The ECMA spec has a LARGE xml file documenting every class and method in 
it, but itīs hard to piece a boundary line from that hierarchical data.

>Is it the case that, for instance with System.Runtime.Interopservices
>that some classes might be inside the spec and some outside, or are
>the standards fairly well delineated by namespace boundaries?

The ECMA Standard is a subset of what is in .NET (at this point anyway, 
because it can evolve to something that Microsoft doesnīt want to 
implement/comply), and MOSTLY is namespace based, but NOT always.

Just an example: ADO.NET (System.Data Assembly) adds a Dataset-to-XML 
converter inside the System.Xml namespace.

The more correct base for defining boundaries is the assembly. Think of 
namespaces as a "logical" grouping of classes (itīs stated purpose is to 
avoid name collisions), and assemblies as a "physical" grouping of classes.

Still, some of the mscorlib classes arenīt in the ECMA spec...

No perfect world...

>Cheers,
>Larry O'Brien
>http://www.thinkingin.net

Happy writing,

Rafael Teixeira
Brazilian Developer


_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx