C# Language Specification

Brief history
This International Standard is based on a submission from Hewlett-Packard,
Intel, and Microsoft, that
describes a language called C#, which was developed within Microsoft. The
principal inventors of this
language were Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. The first
widely distributed
implementation of C# was released by Microsoft in July 2000, as part of its
.NET Framework initiative.
ECMA Technical Committee 39 (TC39) Task Group 2 (TG2) was formed in
September 2000, to produce a
standard for C#. Another Task Group, TG3, was also formed at that time to
produce a standard for a library
and execution environment called Common Language Infrastructure (CLI). (CLI
is based on a subset of the
.NET Framework.) Although Microsoft.s implementation of C# relies on CLI
for library and runtime
support, other implementations of C# need not, provided they support an
alternate way of getting at the
minimum CLI features required by this C# standard.
As the definition of C# evolved, the goals used in its design were as
follows:
. C# is intended to be a simple, modern, general-purpose, object-oriented
programming language.
. The language, and implementations thereof, should provide support for
software engineering principles
such as strong type checking, array bounds checking, detection of attempts
to use uninitialized variables,
and automatic garbage collection. Software robustness, durability, and
programmer productivity are
important.
. The language is intended for use in developing software components
suitable for deployment in
distributed environments.
. Source code portability is very important, as is programmer portability,
especially for those
programmers already familiar with C and C++.
. Support for internationalization is very important.
. C# is intended to be suitable for writing applications for both hosted
and embedded systems, ranging
from the very large that use sophisticated operating systems, down to the
very small having dedicated
functions.
. Although C# applications are intended to be economical with regards to
memory and processing power
requirements, the language was not intended to compete directly on
performance and size with C or
assembly language.
The development of this standard started in November 2000.
It is expected there will be future revisions to this standard, primarily
to add new functionality.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#(读作“See Sharp”)是一种简洁、现代、面向对象且类型安全的编程语言。 C# 起源于 C 语言家 族,因此,对于 C、 C++ 和 Java 程序员,可以很快熟悉这种新的语言。 C# 已经分别由 ECMA International 和 ISO/IEC 组织接受并确立了标准,它们分别是 ECMA-334 标准和 ISO/IEC 23270 标准。 Microsoft 用于 .NET Framework 的 C# 编译器就是根据这两个标准实现的。 C# 是面向对象的语言,然而 C# 进一步提供了对面向组件 (component-oriented) 编程的支持。现代软件 设计日益依赖于自包含和自描述功能包形式的软件组件。这种组件的关键在于,它们通过属性、方法和 事件来提供编程模型;它们具有提供了关于组件的声明性信息的特性;同时,它们还编入了自己的文 档。 C# 提供的语言构造直接支持这些概念,这使得 C# 语言自然而然成为创建和使用软件组件之选。 有助于构造健壮、持久的应用程序的若干 C# 特性:垃圾回收 (Garbage collection) 将自动回收不再使用 的对象所占用的内存;异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法;类 型安全 (type-safe) 的语言设计则避免了读取未初始化的变量、数组索引超出边界或执行未经检查的类型 强制转换等情形。 C# 具有一个同一类型系统 (unified type system)。所有 C# 类型(包括诸如 int 和 double 之类的基元类 型)都继承于单个根类型: object。因此,所有类型都共享一组通用操作,并且任何类型的值都能够 以一致的方式进行存储、传递和操作。此外, C# 同时支持用户定义的引用类型和值类型,既允许对象 的动态分配,也允许轻量结构的内联存储。 为了确保 C# 程序和库能够以兼容的方式逐步演进, C# 的设计中充分强调了版本控制 (versioning)。许 多编程语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依赖的库的更新而无法正常工 作。 C# 的设计在某些方面直接考虑到版本控制的需要,其中包括单独使用的 virtual 和 override 修 饰符、方法重载决策规则以及对显式接口成员声明的支持。 本章的其余部分将描述 C# 语言的基本特征。尽管后面的章节会更为详尽,有时甚至逻辑缜密地对规则 和例外情况进行描述,但本章的描述力求简洁明了,因而难免会牺牲完整性。这样做是为了向读者提供 关于该语言的概貌,一方面使读者能尽快上手编写程序,另一方面为阅读后续章节提供指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值