c#

位置:IT落伍者 >> c# >> 浏览文章

探讨C#编程语言的未来


发布日期:2020年02月22日
 
探讨C#编程语言的未来

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

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

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

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

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

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

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

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

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

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

微软不会重C#轻VB

对于Visual Basic和C#之间的关系很多开发者提出了质疑Hejlsberg表示这两个编程语言的相同之处将继续存在

Hejlsberg表示我们经常说某一个语言适合某一个团队不过这种说法实际上未必就十分准确看一下围绕这两个编程语言的开发者社区你会发现两者之间实际没有太多不同它们可以创建相同的应用它们希望使用相同类型的功能选择使用哪一个语言往往和其所处周围的环境和时期有关

来自纳什维尔的软件开发者Ron McCullough至今一直在使用VB并且没有放弃它的打算他通过电子邮件表示使用VB进行了多年开发后我发现C#非常难用开发速度也非常慢而且缺少我在VB中所看到的许多不错的功能

来自奥罗拉的加拿大程序员Rick Piovesan对此表示赞同他表示作为一个软件承包者我更喜欢首先选用VB只在具有某些需要的时候才选用C#不过现在客户项目越来越多的要求使用C#不过令我吃惊的是与VB相比微软Visual Studio对C#的支持非常难用和简陋我一直在不断查找我需要的功能到底在哪儿

无论是Piovesan还是McCullough都认为微软倾向于推广C#的使用不过Hejlsberg表示微软对这两门语言并不会厚此薄彼一个功能如果被增加到C#中那么也会被加入到VB中

Hejlsberg表示我可以这样说我认为开发者无需因为担心VB不会像C#那样不断向前发展而放弃VB转向C#我们可以向所有人保证会同时丰富这两门语言

上一篇:ADO.NET实体框架已经准备好面向企业级应用了吗?

下一篇:总结必须学习的10项.NET技术