소개
이 사양은 Microsoft 내에서 개발된 C#이라는 언어를 설명하는 Hewlett-Packard, Intel 및 Microsoft의 제출을 기반으로 합니다. 이 언어의 주요 발명가는 앤더스 헬스버그, 스콧 윌타무트, 피터 골데였다. C#의 첫 번째 널리 분산된 구현은 .NET Framework 이니셔티브의 일환으로 Microsoft가 2000년 7월에 릴리스했습니다.
Ecma 기술 위원회 39(TC39) [나중에 TC49로 이름 바꾸기] TG2(작업 그룹 2)는 C#에 대한 표준을 생성하기 위해 2000년 9월에 구성되었습니다. 또 다른 작업 그룹인 TG3도 당시 CLI(공용 언어 인프라)라는 라이브러리 및 실행 환경에 대한 표준을 생성하기 위해 구성되었습니다. (CLI는 .NET Framework의 하위 집합을 기반으로 합니다.) Microsoft의 C# 구현은 라이브러리 및 런타임 지원을 위해 CLI를 사용하지만 이 C# 표준에 필요한 기능 및 API를 지원하는 경우 C#의 다른 구현은 필요하지 않습니다(부록 C 참조).
C#의 정의가 진화함에 따라 디자인에 사용된 목표는 다음과 같습니다.
- C#은 단순하고 현대적인 범용 개체 지향 프로그래밍 언어로 사용됩니다.
- 언어 및 구현은 강력한 형식 검사, 배열 경계 검사, 초기화되지 않은 변수 사용 시도 감지 및 자동 가비지 수집과 같은 소프트웨어 엔지니어링 원칙을 지원해야 합니다. 소프트웨어 견고성, 내구성 및 프로그래머 생산성이 중요합니다.
- 이 언어는 분산 환경에서 배포에 적합한 소프트웨어 구성 요소를 개발하는 데 사용하기 위한 것입니다.
- 특히 C 및 C++에 이미 익숙한 프로그래머의 경우 프로그래머 이식성과 마찬가지로 소스 코드 이식성이 매우 중요합니다.
- 국제화에 대한 지원은 매우 중요합니다.
- C#은 복잡한 운영 체제를 사용하는 매우 큰 시스템부터 전용 기능이 있는 매우 작은 시스템까지 호스트된 시스템 및 임베디드 시스템 모두에 대한 애플리케이션을 작성하는 데 적합합니다.
- C# 애플리케이션은 메모리 및 처리 능력 요구 사항과 관련하여 경제적이지만 C 또는 어셈블리 언어로 성능 및 크기에 대해 직접 경쟁하기 위한 언어는 아닙니다.
C#이라는 이름은 "C Sharp"로 발음됩니다.
이름 C#은 LATIN CAPITAL LETTER C(U+0043) 뒤에 숫자 기호 #(U+0023)으로 작성됩니다.
ECMA C# draft specification