C#语言设计的支柱

在文章 ( http://www.artima.com/intv/nonvirtualP.html )中,Anders Hejlsberg提到版本控制是C#语言设计的支柱之一。 有谁知道其他支柱是什么?

我将您引用到C#规范的第一页,该规范描述了语言设计中的重要因素。 一些引用表明了一些重要因素是什么,并且仍然是:

现代的,面向对象的,类型安全的

对C,C ++和Java程序员很熟悉。

当代软件设计越来越依赖于自包含和自描述function包forms的软件组件。 这些组件的关键是它们呈现具有属性,方法和事件的编程模型; 它们具有提供有关组件的声明性信息的属性; 他们合并了自己的文件。 C#提供直接支持这些概念的语言结构,使C#成为一种非常自然的语言,可以在其中创建和使用软件组件。

几个C#function有助于构建强大而耐用的应用程序:垃圾收集[…]exception处理类型安全设计

C#有一个统一的类型系统。 […]任何类型的值都可以以一致的方式存储,传输和操作

为了确保C#程序和库能够以兼容的方式随着时间的推移而发展,C#的设计中的版本控制已经得到了很大的重视。 许多编程语言很少关注这个问题,因此,当引入新版本的依赖库时,使用这些语言编写的程序会比必要时更频繁地中断。 直接受版本控制考虑因素影响的C#设计方面包括单独的虚拟和覆盖修饰符,方法重载解析规则以及对显式接口成员声明的支持。