【IT168 专稿】作为一个软件公司,微软开发团队必须能够熟练掌握各种编程语言,其中包括Java。但是,C#和C++应该是微软主要使用的两种语言。本文列举的不是该软件巨人使用的语言排名,而是经在PDC大会上与微软管理人士和开发人员的透露,列出了09年微软推广和关注的编程语言,并在今后仍然有可能持续性关注。
众所周知,微软已经从以前的开源敌视者变为开源支持者,这一点也体现在其关注的语言中,例如IronPython、IronRuby分别是开源语言Python和Ruby在微软.NET框架中的实现,另外微软还在不断改进Windows对PHP编程语言的支持,在Windows Server 2008中的IIS 7.0现在已经提供一个开放平台来托管PHP应用。
以下是09年微软关注的十大编程语言,并且今后仍然可能持续关注:
C++
C++是微软的工作语言。该公司使用C++开发了它的许多核心应用。该语言时一个静态类型、多范式、编译、通用编程语言。目前它正被广泛用于软件行业,是当今最受欢迎的语言之一。使用它开发的应用程序包括系统软件、应用软件、设备驱动、嵌入式软件、高性能服务器和客户端应用,以及诸如视频游戏等娱乐软件。
C#
2001年,微软宣布推出C#语言,它是一个现代面向对象编程语言,完全由微软重新开发创建,目的是在.NET平台上充分发挥基于XML的Web服务的力量。通过面向对象设计,开发者非常适合使用该语言来创建全方面的高性能Web应用和组件,从基于XML的Web服务,到中间层业务对象,到系统级别的应用。另外,该语言还可以帮助编程者完成更少代码,从而减少犯错机会。
Visual Basic
Basic可以被看作微软的基础性语言。Visual Basic .NET(VB.NET)是一门面向对象的计算机编程语言,它可以被看作Visual Basic的进化版,运行在微软.NET框架之上。微软目前正考虑开放Visual Basic和C#的编译器。
IronPython
IronPython是Python编程语言在.NET和Silverlight下的实现。它拥有一个完全动态的交互式解释器。它能够被很好的与.NET框架所有其它部分相集成,从而使Python程序员能够使用所有.NET代码库,同时保持了与Python语言的兼容性。IronPython目前被托管在微软的CodePlex开源项目托管网站,是微软开源战略的一部分。
IronRuby
IronRuby是Ruby编程语言的.NET实现。IronRuby大量使用了微软的动态语言运行时,使用微软公众许可协议完全开放源代码。IronRuby的源代码被托管在Rubyforge项目中。它基于Dynamic Language Runtime (DLR)构建,它也是微软开源战略的一部分。
JavaScript
JavaScript是一门面向对象的脚本语言,可被用来支持以编程方式访问客户端应用和其它应用中的对象。它主要以客户端JavaScript的形式被使用,依靠浏览器的集成组件来实现,可实现开发增强的用户界面和动态网站。JavaScript 是根据 "ECMAScript"标准制定的网页脚本语言,由Mozilla首席技术官布兰登•艾奇(Brendan Eich)创建。
F#
F#是一门针对.NET框架的函数式程序设计语言(Functional Programming Language)。它最初由微软研究院的Don Syme发明,作为CLR的OCaml语法兼容变体,但F#现在已经迅速地从科研转为投入实际应用,将作为Visual Studio 2010的一部分。
PHP
PHP是一门被广泛使用的通用脚本语言,特别适合Web开发,可以被内嵌到HTML中。Windows Server 2008中的IIS 7.0现在已经提供一个开放平台来托管PHP应用。许多PHP开发者目前使用Windows作为他们的开发环境选择。另外,微软在其Windows Azure云平台中还提供了一个PHP软件开发工具包。而且,微软还与PHP公司Zend建立了合作伙伴关系,以在Windows平台和云环境中支持PHP。
“M”
微软旗下代号为“M”的编程语言是为处理数据和建立数据模型而开发的。它是在保持文本(textual)和特定领域(domaiN-specific)的同时,还整合了来自XAML的特性。“M”语言不规定数据被存储或访问的方式,也规定某个特定实现技术。“M”语言时微软建模技术的一部分,该建模技术此前被称为“Oslo”,现在被称为SQL Server建模。微软著名工程师兼首席建模官Don Box是“M”语言团队的元老之一。
Axum
Axum目前仍然是一个试验性的项目,目标是提供一个.NET环境下的并行编程模型,支持隔离、actor和消息传递,从而提高应用程序安全性、反应速度、可扩展性和开发效率。微软正在探索的其它高级概念包括数据流网络和异步方法等。尽管它只是一个试验性项目,微软已经在Visual Studio 2010测试版中包含了对它的支持。