技术资讯

C#的优势

TIME:2018-03-31

理解C#,也要明白诞生C#的.NET的一些东西。
在一个软件系统中,电脑硬件操作系统提供基本的功能,而我们代码开发出来的程序,都是基于操作系统提供的基本功能上做进一步的逻辑设计。不同的操作系统提供的基本功能是有差异的,所以针对一款操作系统开发的软件,一般都不能在其他系统中运行。打个比方来说吧,为iPhone开发的程序,不能直接在安卓的手机上用,Linux上开发的东西,也不能直接在Windows上用。
但是JAVA就是一个异类。JAVA通过在操作系统之上再架构一层中间层(也就是虚拟机概念),将多种不同的操作系统的有差异的基础操作规范成一种统一模式,所以JAVA的软件一旦开发,可以在多达N中的不同系统中运行。手机种类繁多的时代,软件开发商不可能为每种OS都开发一版本软件,多数选择JAVA就是这个原因。JAVA的跨平台虚拟机概念使之广为流行。
微软早先作为操作系统的龙头老大,本不在意跨平台问题,但是随着地位受冲击,也意识到跨平台的重要性,这也怪微软自己,单就Windows家族,前后版本就出现了一些不兼容。为了能学习JAVA的经验,微软推出了自己的操作系统之上的跨平台统一中间层系统.NET,试图通过捆绑到个版本Windows中,提供一致的应用接口,这样,只要是.NET开发人员,不必担心自己的产品最终应用在什么操作系统中,只要目标操作系统装了.NET,就OK.
C#是推出.NET的时候一并诞生的,可以说是单就语言技术、风格、严谨等特点上来说,编程语言中最为优秀的一种语言,甚至由它而引发出计算机语言界中的多种新的规范和特征。我们知道多数C#编译器都只是运作于.NET平台上的,但并不是说C#只能运作于.NET平台上,只要有人愿意,就可以开发一个运作于非.NET平台上的C#编译器。只是C#还有一个很特殊的问题,即它仍然在不断的发展中,新的语言细节不断地推出,比如直接支持SQL的LINQ语法等等,除了设计该语言的微软,其他公司很难有这个实力开发其它平台的C#开发环境。
微软是做Windows的,在他眼中,其他操作系统都是敌人。敌人如果想要加入微软阵营,享用程序,就只有选择让微软给他们的系统中套上.NET的头套;微软是不肯直接把开发宝器C#随便给他们的。Linux显然目前并不支持.NET平台(主要还有个原因就是Linux是免费的,.NET上的产品多是收费的,不融洽),所以就现状而言,C#在Linux上暂时无法使用(不是不能)。
真正意义上的跨平台是说类似于JAVA虚拟机,.NET平台这样的中间层产品,或者是某种软件,有多种客户端在不同的平台上但是却都可以工作。简言之,跨平台是指一种软件产品的特性。而语言只是一种开发产品的工具。你可以用这种工具去开发一个跨平台的产品,可以用多种不同的工具,却只开发出同样一种平台的产品。。。
C#优势其他两位也都说了,智能,强大(就是高级了)。最NB的还在于这个语言仍然在进化中,而很多其他语言已经基本上成型,以后不再会有什么改进了。C#锻炼人逻辑思维的能力最好。虽然它目前仍然主要被绑在.NET平台中使用,如果你要做一些iOS,Linux开发可能还用不上,执行效率也不是最高的,但是从软件开发者角度而言,开发一款软件,开发效率最高的选择!(底层驱动这样软件例外)

上一篇

每日优鲜王成:近场零售的思考与实践-秦皇岛时讯网络科技开发有限公司

下一篇

为什么要誓死学好 Redis ?