2010-05-28 50 views
4

articlehttp://www.artima.com/intv/nonvirtualP.html)Anders Hejlsberg提到版本控制是C#语言设计的支柱之一。有人知道其他支柱是什么吗?C#语言设计支柱

+1

由于[Google搜索anders hejlsberg +支柱](http://www.google.com/search?q=anders+hejlsberg+%2Bpillars)没有显示任何相关结果,他可能使用支柱在隐喻意义上(即对C#而言非常重要的东西)而不是更“直接”的意义上的“C#建立在以下五个支柱上:......” – 2010-05-28 03:26:24

+12

其他四个支柱是禁食,祈祷,施舍和泛型推理。 – 2010-05-28 03:37:33

+0

你忘了仪式山羊牺牲。 – 2010-05-29 04:10:55

回答

7

我把你引向C#规范的第一页,它描述了进入语言设计的重要因素。这表明什么一些重要的因素是,不断有几个报价是:

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

-

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

-

现代软件设计日益依赖于软件组件的功能自包含的,自描述包的形式。这些组件的关键在于它们提供了一个包含属性,方法和事件的编程模型;它们具有提供关于组件的声明性信息的属性;并且它们包含他们自己的文档。 C#提供了语言结构来直接支持这些概念,使得C#成为创建和使用软件组件的非常自然的语言。

-

几个C#功能在坚固耐用的应用援建:垃圾收集[...]异常处理[...]类型安全设计

-

C#有一个统一的类型系统。 [...]的任何类型的值可以以一致的方式被存储,运输,及操作

-

为了确保C#程序和库可以在相容的随时间演变方式,C#的设计中已经将重点放在了版本控制上。许多编程语言很少关注这个问题,因此,当引入较新版本的依赖库时,用这些语言编写的程序会比不必要的更频繁地发生。直接受版本控制考虑因素影响的C#设计方面包括单独的虚拟和超驰修改器,方法重载解析规则以及对显式接口成员声明的支持。