C#的优势。
4个回答
展开全部
理解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的,在他眼中,其他操作系统都是敌人。敌人如果想要加入微软阵营,享用Windows程序,就只有选择让微软给他们的系统中套上.NET的头套;微软是不肯直接把开发宝器C#随便给他们的。Linux显然目前并不支持.NET平台(主要还有个原因就是Linux是免费的,.NET上的产品多是收费的,不融洽),所以就现状而言,C#在Linux上暂时无法使用(不是不能)。
真正意义上的跨平台是说类似于JAVA虚拟机,.NET平台这样的中间层产品,或者是某种软件,有多种客户端在不同的平台上但是却都可以工作。简言之,跨平台是指一种软件产品的特性。而语言只是一种开发产品的工具。你可以用这种工具去开发一个跨平台的产品,可以用多种不同的工具,却只开发出同样一种平台的产品。。。
C#优势其他两位也都说了,智能,强大(就是高级了)。最NB的还在于这个语言仍然在进化中,而很多其他语言已经基本上成型,以后不再会有什么改进了。C#锻炼人逻辑思维的能力最好。虽然它目前仍然主要被绑在.NET平台中使用,如果你要做一些iOS,Linux开发可能还用不上,执行效率也不是最高的,但是从软件开发者角度而言,开发一款软件,开发效率最高的选择!(底层驱动这样软件例外)
在一个软件系统中,电脑硬件+操作系统提供基本的功能,而我们代码开发出来的程序,都是基于操作系统提供的基本功能上做进一步的逻辑设计。不同的操作系统提供的基本功能是有差异的,所以针对一款操作系统开发的软件,一般都不能在其他系统中运行。打个比方来说吧,为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的,在他眼中,其他操作系统都是敌人。敌人如果想要加入微软阵营,享用Windows程序,就只有选择让微软给他们的系统中套上.NET的头套;微软是不肯直接把开发宝器C#随便给他们的。Linux显然目前并不支持.NET平台(主要还有个原因就是Linux是免费的,.NET上的产品多是收费的,不融洽),所以就现状而言,C#在Linux上暂时无法使用(不是不能)。
真正意义上的跨平台是说类似于JAVA虚拟机,.NET平台这样的中间层产品,或者是某种软件,有多种客户端在不同的平台上但是却都可以工作。简言之,跨平台是指一种软件产品的特性。而语言只是一种开发产品的工具。你可以用这种工具去开发一个跨平台的产品,可以用多种不同的工具,却只开发出同样一种平台的产品。。。
C#优势其他两位也都说了,智能,强大(就是高级了)。最NB的还在于这个语言仍然在进化中,而很多其他语言已经基本上成型,以后不再会有什么改进了。C#锻炼人逻辑思维的能力最好。虽然它目前仍然主要被绑在.NET平台中使用,如果你要做一些iOS,Linux开发可能还用不上,执行效率也不是最高的,但是从软件开发者角度而言,开发一款软件,开发效率最高的选择!(底层驱动这样软件例外)
展开全部
晕啊,谁敢歧视c#呢?
c#好歹也是ms出来的高级别面向对象的快速成型开发语言,比java还要高级。
好像现在很多的应用层都是用c#开发,特别是应用于windows上的。
但是不可否认的是,c#执行效率还是相对慢一些,据说vista本来准备全部用c#开发,但是执行效率不如意才不分采用的。另外,对于一些服务器程序,比如在linux、unix等服务器程序,可能是用的不是很多吧。
c#好歹也是ms出来的高级别面向对象的快速成型开发语言,比java还要高级。
好像现在很多的应用层都是用c#开发,特别是应用于windows上的。
但是不可否认的是,c#执行效率还是相对慢一些,据说vista本来准备全部用c#开发,但是执行效率不如意才不分采用的。另外,对于一些服务器程序,比如在linux、unix等服务器程序,可能是用的不是很多吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉c#比较按近人们的正常思维,而c、c++之类的比较接近电脑的思维。打个比方说,有个汽车生产间,c、c++生产零件,c#负责组装,大家各自负责自己的事情。
追问
人们说的跨平台到底是什么意思。
这个C#好像不可以在linux上面开发。也不能在linux 上运行
追答
跨平台就像是个概念炒作,有时候你跨了两个浏览器,也有人说这是跨了平台。关于这个概念,我们的重点是看它跨了哪几个平台,要不然它说跨平台,也许只是跨XP和VISTA呢?
编程语言说跨平台,真的是相当胡扯,我们要弄明白它的详情,就必须搞明白它到底是跨什么平台的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#效率已经得到大大提高了,因为有了.net native,然后就是可怕的跨平台能力,通过.net core,mono,xamarin可以简单的实现跨任意Windows,linux,unix,安卓,ios,uwp平台,然后就是支持特性多,有指针,函数指针,支持链式编程,函数式,表达式树,有索引器,属性器,迭代器,有泛型,泛型函数指针,linq。。。可以实现游戏开发,gis开发,工控开发,网络应用,服务器开发运维,桌面端,移动端,嵌入式等多场景高效率的开发
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询