技术开发 频道

探讨C#编程语言的未来

  【IT168 专稿】作为微软.NET框架的标志性语言,C#在微软的开发战略中扮演了一个非常关键的角色。随着该语言呈现出动态和功能编程语言的特性,其角色也将不断向前发展。

  在2007年11月份,微软发布了C# 3.0,并引入了功能编程的概念,例如它支持以前在微软F#语言和语言集成查询(LINQ)中的lambda表达式。而目前正在开发的C# 4.0将增加对动态类型的支持。微软最初发布C#的目的是响应Java语言,现在这个命令式、静态类型和面向对象编程语言正在呈现出更全面的趋势。

  微软技术专家、C#之父Anders Hejlsberg最近花费了不少时间来谈论C#编程语言的未来发展方向,因为许多开发者对于C#这个他们非常喜爱的编程语言正在遵循的发展路线感到担忧。

  Hejlsberg表示,从某种意义上说,C#正在变为一个混合编程语言,或者说是一个多维编程语言。它是面向对象的,它又支持功能编程,现在其4.0版还将是动态的。“我认为,从其它不同的领域借鉴最好的编程思想是非常自然的事情。没有人规定一个编程语言必须是静态类型或者动态类型的。我认为它们都具有自己的长处。”

  开发者无需担忧C#迷失方向

  在2008年10月微软开发者大会上,当Hejlsberg讨论动态类型如何能够简化COM接口处理和其它复杂的交互时,某些开发者们深表赞同。不过,也有一些程序员担忧C#会向新的方向分化。

  来自Euronav公司的技术主管Brian Morris博士表示,C#的一个令人失望之处是其复杂性不断增加,日渐增加的复杂性提高了其入门门槛,更糟糕的是,理解和维护其代码变得非常困难。开发人员盲目的去使用新功能,但实际上更好的解决方案是使用该语言一个更简单的功能。Lambda表达式就是这样一个功能。

  Ronald Jones是一个具有20年编程经验的老程序员,他目前已经熟练掌握了C# 3.0,他建议微软停止已经在进行的语言功能改变。Jones写到,“微软每一次对C#进行修改,都会影响其普及范围,影响其稳定性,让人们不再希望将其作为未来开发时所选择的平台。编程语言不需每年都修改或增加其功能。企业难以接受一个像C#这样经常变化的语言。”

  Hejlsberg表示他知道经常修改语言功能所带来的危险。不过他表示,“你不能对语言的底层经常进行修改。对于C#来说,它的核心设计是一个命令式的面向对象编程语言。你可以对其增加从功能编程语言和动态编程语言所借鉴来的功能,但是其核心设计并非发生改变。”

  Hejlsberg表示,他的团队一直比较注意为C#增加太多功能所带来的危险。他表明了其开发团队工作的连续性,该团队自1999年以来每周举行三次交流会。“一直到今天,我们依然在通过这种会议来进行交流,而且一直是在同一个会议室中。”

0
相关文章