探讨C#编程语言的未来
作为微软 NET框架的标志性语言 C#在微软的开发战略中扮演了一个非常关键的角色 随着该语言呈现出动态和功能编程语言的特性 其角色也将不断向前发展
在 年 月份 微软发布了C# 并引入了功能编程的概念 例如它支持以前在微软F#语言和语言集成查询(LINQ)中的lambda表达式 而目前正在开发的C# 将增加对动态类型的支持 微软最初发布C#的目的是响应Java语言 现在这个命令式 静态类型和面向对象编程语言正在呈现出更全面的趋势
微软技术专家 C#之父Anders Hejl *** erg最近花费了不少时间来谈论C#编程语言的未来发展方向 因为许多开发者对于C#这个他们非常喜爱的编程语言正在遵循的发展路线感到担忧
Hejl *** erg表示 从某种意义上说 C#正在变为一个混合编程语言 或者说是一个多维编程语言 它是面向对象的 它又支持功能编程 现在其 版还将是动态的 我认为 从其它不同的领域借鉴最好的编程思想是非常自然的事情 没有人规定一个编程语言必须是静态类型或者动态类型的 我认为它们都具有自己的长处
开发者无需担忧C#迷失方向
在 年 月微软开发者大会上 当Hejl *** erg讨论动态类型如何能够简化接口处理和其它复杂的交互时 某些开发者们深表赞同 不过 也有一些程序员担忧C#会向新的方向分化
来自Euronav公司的技术主管Brian Morris博士表示 C#的一个令人失望之处是其复杂性不断增加 日渐增加的复杂性提高了其入门门槛 更糟糕的是 理解和维护其代码变得非常困难 开发人员盲目的去使用新功能 但实际上更好的解决方案是使用该语言一个更简单的功能 Lambda表达式就是这样一个功能
Ronald Jones是一个具有 年编程经验的老程序员 他目前已经熟练掌握了C# 他建议微软停止已经在进行的语言功能改变 Jones写到 微软每一次对C#进行修改 都会影响其普及范围 影响其稳定性 让人们不再希望将其作为未来开发时所选择的平台 编程语言不需每年都修改或增加其功能 企业难以接受一个像C#这样经常变化的语言
Hejl *** erg表示他知道经常修改语言功能所带来的危险 不过他表示 你不能对语言的底层经常进行修改 对于C#来说 它的核心设计是一个命令式的面向对象编程语言 你可以对其增加从功能编程语言和动态编程语言所借鉴来的功能 但是其核心设计并非发生改变
Hejl *** erg表示 他的团队一直比较注意为C#增加太多功能所带来的危险 他表明了其开发团队工作的连续性 该团队自 年以来每周举行三次交流会 一直到今天 我们依然在通过这种会议来进行交流 而且一直是在同一个会议室中
微软不会重C#轻VB
对于Visual Basic和C#之间的关系 很多开发者提出了质疑 Hejl *** erg表示这两个编程语言的相同之处将继续存在
Hejl *** erg表示 我们经常说某一个语言适合某一个团队 不过这种说法实际上未必就十分准确 看一下围绕这两个编程语言的开发者社区 你会发现两者之间实际没有太多不同 它们可以创建相同的应用 它们希望使用相同类型的功能 选择使用哪一个语言往往和其所处周围的环境和时期有关
来自纳什维尔的软件开发者Ron McCullough至今一直在使用VB 并且没有放弃它的打算 他通过电子邮件表示 使用VB进行了多年开发后 我发现C#非常难用 开发速度也非常慢 而且缺少我在VB中所看到的许多不错的功能
来自奥罗拉的加拿大程序员Rick Piovesan对此表示赞同 他表示 作为一个软件承包者 我更喜欢首先选用VB 只在具有某些需要的时候才选用C# 不过 现在客户项目越来越多的要求使用C# 不过令我吃惊的是 与VB相比 微软Visual Studio对C#的支持非常难用和简陋 我一直在不断查找我需要的功能到底在哪儿
无论是Piovesan还是McCullough都认为 微软倾向于推广C#的使用 不过Hejl *** erg表示 微软对这两门语言并不会厚此薄彼 一个功能如果被增加到C#中 那么也会被加入到VB中
lishixinzhi/Article/program/net/201311/15210