[翻译]Singularity
原文链接 - http://msdn.microsoft.com/msdnmag/issues/06/06/EndBracket/ 当发明C和C++语言时,计算机速度相当慢,存储器容量有限且昂贵,编译器也很简易。所以那时一门实际应用的语言只能是对汇编语言的修饰而已。然而,随着时代变更,这却限制了现代软件发展。今天,程序性能已经很少受限于原生处理器的速度。相反,延迟内存,磁盘,网络,数据库等经常对性能有着绝对性作用。此外,软件的可信任性(即软件可靠性,实用性,安全性的综合)已经成为软件开发的主要挑战。 通过预防(或者至少是检测)多数通用编程错误,安全的编程语言可以增加软件的可信任性。安全性包括两部分:类型和存储。类型安全是说程序不应当把类型A的对象视为无关类型来对待(C/C++语言提供了这个“特性”)。存储安全指的是程序不应当通过对象边界或构造对象指针来引用。比如,把某个随机整数转换成指针。 不必怀疑你所认为的:“嗯...,你那种调调我以前就听过了,但是安全的语言对我的应用程序来说太慢了,很吃内存的”。事实上,或许你更应该关注所使用的编程语言或操作系统的实现,而不是语言安全性。 为了探究这些问题,微软研究院的队伍已经构建了一个新的系统来研究权衡取舍在安全语言中广泛使用的用法,以及证明它们并不会导致大的性能下降。 Singularity是一个新操作系统。它几乎完全用C#写成