今天看老外写的文章提到了C#国际标准

什么,C#还有国际标准?不会吧?谷歌一下,果然如此,06年就有了ISO标准居然还能从ISO官网下载到电子版。

看来金钱就是好东西啊,有钱能使鬼推磨道理在地球上哪里都好用

继续谷歌,在MSDN上发现了下面的文字。

连接:http://msdn.microsoft.com/en-us/netframework/aa569283

In June 2005, the General Assembly of the international standardization organization Ecma approved edition 3 of the C# Language and the Common Language Infrastructure (CLI) specifications, as updated Ecma-334 and Ecma-335, respectively (see press release). The updated technical report on the CLI, Ecma TR-84, and a new technical report on the CLI, Ecma TR-89, were also ratified.

In July 2005, Ecma submitted the Standards and TRs to ISO/IEC JTC 1 via the ISO Fast-Track process. The Standards were adopted in April 2006 as ISO/IEC 23270:2006 (C#), ISO/IEC 23270:2006 (CLI), ISO/IEC TR 23272:2006 (CLI, XML Libraries) and ISO ISO/IEC TR 25438:2006 (CLI, Common Generics).

In July 2006 the General Assembly of Ecma approved edition 4 of the Standards which correspond to the ISO 2006 versions.

Latest Standards

The following official Ecma documents are available for C# and the CLI (TR-84, TR-89). These links are direct from Ecma:

 

File name

 

Size (Bytes)

 

Content

 

ECMA-334.pdf

 

2 614 003

 

C# Language Specification

 

ECMA-335.pdf

 

3 219 107

 

Common Language Infrastructure

 

ECMA-335.zip

 

754 982

 

XML-based Library Specification

 

TR-084.pdf

 

187 450

 

Information Derived from Partition IV XML File

 

TR-084.zip

 

19 329 610

 

XML Tool, Libraries in Microsoft© Word and PDF

 

TR-089.pdf

 

589 400

 

Common Generics Library

 

TR-089.zip

 

461 074

 

Common Generics Library Reference Implementation

Reference implementation for TR-89
Reference implementation for the Parallel API

The official ISO/IEC documents are available from the ISO/IEC Freely Available Standards page. These links are direct from that page:

 

File name

 

Content

 

ISO/IEC 23270:2006

 

Information technology -- Programming languages -- C#

 

ISO/IEC 23271:2006
- Software

 

Information technology -- Common Language Infrastructure (CLI)
Partitions I to VI

 

ISO/IEC TR 23272:2006
- Software

 

Information technology -- Common Language Infrastructure (CLI)
-- Technical Report on Information Derived from Partition IV XML File

 

ISO/IEC TR 25438:2006
- Software

 

Information technology -- Common Language Infrastructure (CLI)
-- Technical Report: Common Generics

Current Working Draft

Work on the 5th edition of Ecma-335 CLI standard began in mid-2009. The TC49-TG3 task group is working on extending both the virtual machine and class libraries of the CLI specification. In addition, improvements are being made to clarify existing elements of the specification. Many of these improvements are the result of feedback received from outside the task group, for which the task group is grateful.

Posted below is a snapshot of the committee's work as of 27 March 2010.

The participants in TC49/TG3 are providing these working documents to the public for informational purposes only. The contents are subject to change as often as once a month. To participate in the standardization process, contact your organization's Ecma representative. If your company does not currently participate in Ecma and wishes to do so, please contact ECMA directly.

The following organizations and contributors are actively participating in the work of TC49/TG3:
Eiffel Software, Microsoft Corporation, Novell Corporation, Kahu Research, and Twin Roots.

Many of the organizations that are currently participating in the TC49/TG3 work have volunteered to mirror this site. The URLs for the mirror sites are:
- Eiffel Software
- Microsoft Corporation
- Novell Corporation
- Kahu Research
- Twin Roots

Available Documents (Documents current as of 27 March 2010)
The following working draft documents are available:

- CLI Partition I - Architecture (word/pdf zip)
- CLI Partition II - Metadata and File Format (word/pdf zip)
- CLI Partition III - CIL (word/pdf zip)
- CLI Partition IV - Library (word/pdf zip)
- CLI Partition V - Binary Formats (word/pdf zip)
- CLI Partition VI - Annexes (word/pdf zip)
- Class Library XML (xml zip)
- Class Library Detailed Specifications (word/pdf zip)

Annotated Standards

Members of the Standard committees and others have combined to produce annotated versions of the Standards. These are:

  • The Common Language Infrastructure Annotated Standard, James S. Miller & Susann Ragsdale, Addison-Wesley, 2004, ISBN 0-321-15493-2 (based on Edition 2 of Ecma-335)
  • C# Annotated Standard, Jon Jagger, Nigel Perry & Peter Sestoft, Morgan Kaufmann, 2007, ISBN 978-0-12-372511-0 (based on Edition 4 of Ecma-334)

Microsoft Implementation Specific Versions

The following documents are versions of the Standards with Microsoft implementation-specific notes added. These notes provide extra information about Microsoft's Common Language Runtime (CLR) implementation of the CLI.

 

File name

 

Size (Bytes)

 

Content

 

MS Partition I.pdf

 

815 983

 

Common Language Infrastructure, Partition I: Concepts and Architecture

 

MS Partition II.pdf

 

1 758 195

 

Common Language Infrastructure, Partition II: Metadata Definition and Semantics

 

MS Partition III.pdf

 

661 414

 

Common Language Infrastructure, Partition III: CIL Instruction Set

 

MS Partition IV.pdf

 

 

 

Common Language Infrastructure, Partition IV: Profiles and Libraries

 

MS Partition V.pdf

 

 

 

Common Language Infrastructure, Partition V: Binary Formats

 

MS Partition VI.pdf

 

 

 

Common Language Infrastructure, Partition VI: Annexes

The Ecma 4th and ISO 2nd Editions

Aside from bug fixes, major enhancements from previous editions include:

CLI

  • First-class support for generics at the runtime and class library level
  • An API to help developers begin multithreaded and parallel programming
  • Enhancements to the Common Intermediate Language (CIL) and Common Language Specification (CLS)
  • An interchangeable debug format

C#

  • First-class language support for generics
  • Anonymous methods
  • Iterators
  • Nullable Types

Previous Editions Background

In August, 2000, Microsoft Corporation, Hewlett-Packard and Intel Corporation co-sponsored the submission of specifications for the Common Language Infrastructure (CLI) and C# programming language to the international standardization organization Ecma. As a result, Ecma formed two task groups (TG3 and TG2, respectively) within TC39, its technical committee responsible for programming languages and application development.

During the next year, the co-sponsor companies, in conjunction with other Ecma members and guests (including IBM, Fujitsu Software, Plum Hall, Monash University and ISE), refined these specifications into standards. In December, 2001, the Ecma General Assembly ratified the 1st edition of the C# and CLI standards as Ecma-334 and Ecma-335, respectively. A technical report on the CLI, Ecma TR-84, was also ratified.

In late December, 2001, Ecma submitted the standards and TR to ISO/IEC JTC 1 via the latter's Fast-Track process. The subsequent 6-month evaluation and comment period resulted in two NO votes (Japan and UK) on the draft standards, and one NO vote (Japan) on the draft TR. All comments resulting from this review were considered at a ballot resolution meeting held in October, 2002. The two NO votes on the standards were resolved, making acceptance unanimous. However, Japan did not change its NO vote on the draft TR (Japan would like to see a formatted/readable rendering of the CLI class library as part of the standard, not as a TR; this will be considered for a future edition).

The ISO/IEC standards and TR were published in April, 2003, and are known formally as ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR). Equivalent specifications were adopted as 2nd edition standards and TR by Ecma at its December, 2002, General Assembly.

Joining Ecma

To participate in the standardization process, contact your organization’s Ecma representative. If your company does not currently participate in Ecma and wishes to do so, please contact Ecma directly.

Acknowledgements

The following organizations have participated in the work of Ecma TC39/TG2 and TC39/TG3 and their contributions are gratefully acknowledged: Borland, Fujitsu, Hewlett-Packard, Intel Corporation, International Business Machines, ISE, IT University Copenhagen, JSL (UK), Kahu Research (New Zealand), Microsoft Corporation, Monash University, Netscape, Novell Corporation, OpenWave, Plum Hall, Sun Microsystems.

Many of the organizations that have participated in the TC39/TG2 and TC39/TG3 work have volunteered to mirror this site. The links for the mirror sites are: