.NET Languages(特别是C#和Visual Basic)
.NET是微软对于Java VM的基本答案。实际上,.NET是以整体技术命名的。真正的VM名字是CLR(公共语言运行时),之前所谈论的关于Java VM的一切内容都适用于CLR,但也有一个例外:CLR从一开始便不是用来“匹配”单一语言,就是Java那样。因为这样,有许多语言使用了CLR去执行后端处理。不管是像COBOL和FORTRAN这样的早前语言还是像Python这样的现代语言都能够瞄准CLR。需要提醒你们的是,有些CLR项目是小型的单人项目,所以如果你在CLR版本中找到你最喜欢的语言也不要太过兴奋,因为在这里有些编译器还不够成熟。
微软所开发的C#和Visual Basic都是最受欢迎的CLR语言。C#是源自Java的语言,它带有90%的Java语法,尽管从表面看它更像是源自C或C++。C#拥有一些很棒的语言扩展,即基于Java慢慢添加的内容,并重新编写了类程序库。
简称VB.NET的Visual Basic是CLR执行以及对于微软已建立且受欢迎的Visual Basic环境的替换。尽管它仍被称为“Basic”,但却不再是全部大写,它与早前的BASIC解释器(贯穿于20世纪80年代所出售的所有计算机的ROM中)只带有少量的相似处。现在,它的语法与本列表中的其它语言非常相似,尽管它仍然未使用括号去整合某些内容。它同样也使用了更具对象导向型“点记法”去调用功能而不受语言的前CLR版本的更大的功能程序库。
优点:尽管Java并未投入太多努力面向Java VM编译语言,但是CLR从一开始便是为了支持这一点。因此存在许多基于CLR的语言,并且它们很容易进行互通。
.NET技术获得微软的Visual Studio环境的大力支持,而这也是一个非常成熟且具有丰富的功能的开发环境。
C#对于微软的XNA技术来说应该算是首要的编程语言,这是创造在Windows和XBox 360游戏主机间可移植游戏的一种方法。
缺点:与Java不同的是,CLR应用不能像网页中小程序那样运行。尽管“Silverlight”技术允许这点,但是对于游戏来说这却太迟了,并且不能像Java和Flash那样根植于浏览器中。
基于CLR的应用比想象中更难移植。
可移植性:尽管存在第三方将CLR移植到到除Windows外的其它操作系统,但是基于这一方向的努力却远小于面向Windows的努力。所以尽管你可能面向Windows创造一个非常有活力的.NET应用,但是你在Mac和Linux上的执行却不会多么顺畅。
是否适合新手:都适合。这两种语言都是很直接且容易理解的。此外,它们与Visual Studio环境的紧密关系也让设置变得更加简单。