Which C# libraries are ISO standard?

  • Thread starter Thread starter Brandon J. Van Every
  • Start date Start date
B

Brandon J. Van Every

I would like to know which libraries commonly employed in conjunction with
C# are ISO standards. I have been looking at the standards docs on the ECMA
website, and they are not easily understood on this point. In fact, some
sections like Partition IV seem to be missing information. If I have missed
some section of the docs that spell it out clearly and plainly, please point
me to that section. Otherwise, this is wasting a lot of my time.

My motivation is to understand what is cleanly portable and future-proof for
non-Windows platforms, and what isn't.

Of course System.Windows.Forms is a Microsoft .NET thing. At present I'm
mainly concerned about System.Collections. It would be exceedingly useless
to have C# as an ISO standard and System.Collections not be.

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

20% of the world is real.
80% is gobbledygook we make up inside our own heads.
 
I would like to know which libraries commonly employed in conjunction with
C# are ISO standards. I have been looking at the standards docs on the ECMA
website, and they are not easily understood on this point. In fact, some
sections like Partition IV seem to be missing information. If I have missed
some section of the docs that spell it out clearly and plainly, please point
me to that section. Otherwise, this is wasting a lot of my time.

My motivation is to understand what is cleanly portable and future-proof for
non-Windows platforms, and what isn't.

I am no expert on the ECMA specs but you may want to have a look at the
current (to my understanding mostly academic) Shared Source implementation
of the CLI to see what is actually implemented in that one. It would be safe
to assume that the IBM implementation or whatever may follow in the near or
distent future will have at least those namespaces covered.

http://www.microsoft.com/downloads/...FA-7462-47D0-8E56-8DD34C6292F0&displaylang=en

Martin.
 
Anything under Vendor.* isnt for sure. Anything under System.* SHOULD be.
If not then thats bad in my view.
 
Anything under Vendor.* isnt for sure. Anything under System.* SHOULD be.
If not then thats bad in my view.

Everything is under System. I was surprised to see handles under
System.Windows.Forms, I was expecting a Windowing system totally independent
of Win32 (at least by interface). And perhaps it still is, the Handle
property is of a special type System.IntPtr.

"A platform-specific type that is used to represent a pointer or a handle."

So I guess this is as loosely coupled as it gets, it seems that
System.Windows.Forms can be implemented on any Windows-like system, not
necessarily Microsoft Windows.

Martin.
 
A handle can be anything, an int a byte anything.

I would like to see System.* contain platform INDEPENDANT classes only and
anything specific under Vendor, this is how in my view the ECMA should
enforce this.
 
Brandon said:
I would like to know which libraries commonly employed in conjunction with
C# are ISO standards. I have been looking at the standards docs on the ECMA
website, and they are not easily understood on this point. In fact, some
sections like Partition IV seem to be missing information. If I have missed
some section of the docs that spell it out clearly and plainly, please point
me to that section. Otherwise, this is wasting a lot of my time.

My motivation is to understand what is cleanly portable and future-proof for
non-Windows platforms, and what isn't.

Of course System.Windows.Forms is a Microsoft .NET thing. At present I'm
mainly concerned about System.Collections. It would be exceedingly useless
to have C# as an ISO standard and System.Collections not be.

Partition IV references the "All.xml" file, which has the details on
which types are defined by the standard, and in which library those
types reside.

It's not particularly readable, but it should be pretty easy to write a
program or script that dumps out just the information you need.
 
mikeb said:
Partition IV references the "All.xml" file, which has the details on
which types are defined by the standard, and in which library those
types reside.

It's not particularly readable, but it should be pretty easy to write
a program or script that dumps out just the information you need.

Good grief. This level of obfuscation is awfully suspicious. I think I
will go ask the Mono people, since they surely have considered all the
portability and patent infringement scenarios.

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

20% of the world is real.
80% is gobbledygook we make up inside our own heads.
 
Brandon said:
Good grief. This level of obfuscation is awfully suspicious. I
think I will go ask the Mono people, since they surely have
considered all the portability and patent infringement scenarios.

Ok, here's the answer. Talking about needing to write scripts to get
information is a red herring, it is unnecessary. If you want to know if a
given library is ISO standard or not:

- grab
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-335-xml.zip
- unpack it somewhere
- open All.xml with a text editor. Wordpad or Visual Studio will do.
- change this path at the beginning of the file:
<!DOCTYPE Libraries SYSTEM "E:\Std\Ecma\TC39\TG3-CLI\JTC 1 Fast Track\Final
Text\All.dtd">
to
<!DOCTYPE Libraries SYSTEM "All.dtd">
- open All.xml in something that understands XML. IE6 or Visual Studio will
do.
Note that it may take a long time for the file to load. It's 6.5MB of XML
and
apparently that's a choker in XML-land.
- use your favorite Find tool to identify libraries you care about.

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

"We live in a world of very bright people building
crappy software with total shit for tools and process."
- Ed Mckenzie
 
Brandon said:
Good grief. This level of obfuscation is awfully suspicious. I
think I will go ask the Mono people, since they surely have
considered all the portability and patent infringement scenarios.

Ok, here's the answer. Talking about needing to write scripts to get
information is a red herring, it is unnecessary. If you want to know if a
given library is ISO standard or not:

- grab
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-335-xml.zip
- unpack it somewhere
- open All.xml with a text editor. Wordpad or Visual Studio will do.
- change this path at the beginning of the file:
<!DOCTYPE Libraries SYSTEM "E:\Std\Ecma\TC39\TG3-CLI\JTC 1 Fast Track\Final
Text\All.dtd">
to
<!DOCTYPE Libraries SYSTEM "All.dtd">
- open All.xml in something that understands XML. IE6 or Visual Studio will
do. Note that it may take a long time for the file to load. It's 6.5MB
of XML
and apparently that's a choker in XML-land.
- use your favorite Find tool to identify libraries you care about.

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

"We live in a world of very bright people building
crappy software with total shit for tools and process."
- Ed Mckenzie
 
Back
Top