搜索
首页后端开发C#.Net教程c#语言为什么用的人很少

c#语言为什么用的人很少

Jul 04, 2020 pm 01:46 PM
c#

c#用的人很少是因为:1、C#开始只能在Windows渠道上运转,并没有像JAVA相同做出习惯性的转型,导致无法运转在安卓机器上;2、C#仿JAVA而生,大数据及人工智能方面却没能逾越JAVA。

c#语言为什么用的人很少

C#由编程界的神级人物AndersHejlsberg主持规划,在许多方面都比JAVA要好,毫无疑问,它是一门非常好的计算机言语。可是,一门程序言语的开展不是靠某一家公司或某几家公司就能撑起来,而是要靠主推公司的战略开展及生态的促进,C#则却刚好在这两点不占优势。

  首要来说C#在言语的开展过程中所失去的良机。

  榜首,C#跨渠道政策的失误

  C#开始只能在Windows渠道上运转,从PC互联网年代向移动互联网年代转化过程中,C#并没有像JAVA相同做出习惯性的转型,以至于C#无法运转在安卓机器上。

  Windows渠道简单易用,关于技能人员不多的非IT类中小企业,的确是有吸引力的。可是关于硅谷的IT企业来说,技能并不是问题,他们具有大量的专业服务器办理人员,所以硅谷的IT企业更倾向于运用免费的Linux体系,比方CentOS或者Ubuntu。

  牵一发而动全身

  免费的Linux供给了相当完善的服务器运转环境及一整套东西链,比方Apacheweb服务器,mysql/postgresSQL数据库,Memcache、Redis缓存服务器等。尽管在办理的直观性上,Linux好像比Windows的窗口化图形化界面要落伍一点,可是性能上不相上下,乃至更加出众。所以尽管配置更加繁琐,更多的公司仍是挑选了Linux体系作为服务器操作环境。而C#在Linux下面基本没有用武之地,这就大大限制了C#这门言语的盛行程度。

  尽管后来C#迂回推出了Xamarin,还免费开源了,可是现已失去了最好的移动开发时机,就像是微软自己的WP手机操作体系没有抗衡过苹果和安卓相同,在移动开发范畴C#也相同失去了移动互联网的年代。

  第二,C#仿JAVA而生,大数据及人工智能方面却没能逾越JAVA

  C#的最大的竞争对手——JAVA,实际上算得上是C#的爸爸。JAVA诞生于1995年,它的一次编写、到处运转的概念,掀起了一场革新。而C#诞生于2000年,是微软.Net方案的一部分,是微软为了代替JAVA而研制的。

  换句话说,C#是能够被代替的。C#与JAVA在语法和架构上非常接近。C#能做的,JAVA也能做。并且JAVA自身便是为跨渠道规划的,比C#更具有灵活性,在Linux下面有很好的支撑。在库支撑方面,JAVA也要比C#好的多。在Windows上面可能会有一些不错的C#库,可是几乎无法在Linux/.Netcore下面作业。

  而从传统开发到大数据及人工智能开发的转化过程中,自谷歌的Hadoop呈现以来,大数据的开发言语好像天然便是JAVA一般,尽管Hadoop同时供给多种言语的接口,可是因为底层JVM的结构运转,使得JAVA言语在大数据年代远超C#,而人工智能的开展及对数据处理的需求,又使得Python赶超C#,成为数据处理的神器,以至于时常要拥抱变化的程序员更多的投入JAVA和Python的怀有。

  尽管微软为了习惯大数据年代的到来,供给了许多东西库供C#编程人员更好的与Hadoop渠道协同作业,但不可否认JAVA的正统性和便利性使得C#的地位在大数据年代被日益边缘化。

  其次咱们要说,C#的关闭性也是让它失了人心的重要原因。

  榜首,因为C#运转环境的关闭性,导致了C#言语被限制在Windows渠道。

  在微软总裁纳德拉之前,微软对Linux及开源软件界采取了仇视的情绪,比尔盖茨曾痛斥开源软件为病毒,自然也拒绝为Linux体系供给软件支撑。同时,微软将C#与Windows体系、IIS服务器、MSSQL这些东西软件深度捆绑。假如你想用C#,则有必要购买微软的体系、数据库等全家桶,这些费用和纠缠让硅谷的IT感到非常不爽,无形傍边形成了一股反微软的潮流。

  windows服务器授权费用解析

  等微软意识到自己在硅谷的新式公司中现已被边缘化,开始想与Linux等开源软件和体系合作,使C#在Linux上运转时,硅谷却早已形成了自己的开源作业软件生产气氛:完善的技能栈,社区及学习环境,换句话说硅谷基本不需要C#了。所以说,在运转环境上的关闭性导致了C#的没落。

  第二,因为开发环境的关闭性,导致了C#言语开发成本高昂。

  C#开发不只依靠Windows体系,并且严重依靠VisualStudio开发渠道,别的,因为选用了C#,数据库开发不可避免的要涉及到SQLServer数据库,最为致命的是,这些都是收费的,并且微软的产品都挺贵,IDE要收费,数据库之类的要收费,对公司而言这是一笔不小的开支,因此许多大公司会因为成本问题挑选抛弃C#。假如采用Linux+Eclipse+JAVA的开发环境,完全能够用免费的方式解决,这是C#面临严重的开发环境关闭性问题。

  来看一下硅谷一般IT公司代表的技能栈:

  Uber的技能栈

  Facebook的技能栈里相同也没有C#的影子

  第三,因为社区的关闭性,导致了C#的运用体验不那么夸姣。

  目前来看,在大数据年代降临之际,跟着Python开源社区的开展,JAVA开发社区的开源也更加壮大,可是C#却依然是闭源的,在当今服务至上、体验至上的年代,闭源的思想没有及时改动,就被年代所筛选了。

  硅谷主要IT公司言语与结构技能栈最新排行榜:前十名里边没有C#的位置

  没有公司运用,就不会有人学习,没有人学习就不会有人招聘,这是一个鸡生蛋、蛋生鸡的问题。

  综上,C#是一门优秀的言语,因为开展初期失去良机而没有形成趋势、产业链及好的学习气氛,可是跟着微软对开源社区的改动及合作情绪,采用C#的公司数量也开始逐渐增多,特别是U3D的热潮,或许会进一步推进C#的遍及。相信跟着时刻的推移,C#或许能在硅谷的IT公司中具有一席之地。

推荐教程: 《c#

以上是c#语言为什么用的人很少的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
C#.NET生态系统:框架,库和工具C#.NET生态系统:框架,库和工具Apr 24, 2025 am 12:02 AM

C#.NET生态系统提供了丰富的框架和库,帮助开发者高效构建应用。1.ASP.NETCore用于构建高性能Web应用,2.EntityFrameworkCore用于数据库操作。通过理解这些工具的使用和最佳实践,开发者可以提高应用的质量和性能。

将C#.NET应用程序部署到Azure/AWS:逐步指南将C#.NET应用程序部署到Azure/AWS:逐步指南Apr 23, 2025 am 12:06 AM

如何将C#.NET应用部署到Azure或AWS?答案是使用AzureAppService和AWSElasticBeanstalk。1.在Azure上,使用AzureAppService和AzurePipelines自动化部署。2.在AWS上,使用AmazonElasticBeanstalk和AWSLambda实现部署和无服务器计算。

C#.NET:强大的编程语言简介C#.NET:强大的编程语言简介Apr 22, 2025 am 12:04 AM

C#和.NET的结合为开发者提供了强大的编程环境。1)C#支持多态性和异步编程,2).NET提供跨平台能力和并发处理机制,这使得它们在桌面、Web和移动应用开发中广泛应用。

.NET框架与C#:解码术语.NET框架与C#:解码术语Apr 21, 2025 am 12:05 AM

.NETFramework是一个软件框架,C#是一种编程语言。1..NETFramework提供库和服务,支持桌面、Web和移动应用开发。2.C#设计用于.NETFramework,支持现代编程功能。3..NETFramework通过CLR管理代码执行,C#代码编译成IL后由CLR运行。4.使用.NETFramework可快速开发应用,C#提供如LINQ的高级功能。5.常见错误包括类型转换和异步编程死锁,调试需用VisualStudio工具。

揭开c#.net的神秘面纱:初学者的概述揭开c#.net的神秘面纱:初学者的概述Apr 20, 2025 am 12:11 AM

C#是一种由微软开发的现代、面向对象的编程语言,.NET是微软提供的开发框架。C#结合了C 的性能和Java的简洁性,适用于构建各种应用程序。.NET框架支持多种语言,提供垃圾回收机制,简化内存管理。

C#和.NET运行时:它们如何一起工作C#和.NET运行时:它们如何一起工作Apr 19, 2025 am 12:04 AM

C#和.NET运行时紧密合作,赋予开发者高效、强大且跨平台的开发能力。1)C#是一种类型安全且面向对象的编程语言,旨在与.NET框架无缝集成。2).NET运行时管理C#代码的执行,提供垃圾回收、类型安全等服务,确保高效和跨平台运行。

C#.NET开发:入门的初学者指南C#.NET开发:入门的初学者指南Apr 18, 2025 am 12:17 AM

要开始C#.NET开发,你需要:1.了解C#的基础知识和.NET框架的核心概念;2.掌握变量、数据类型、控制结构、函数和类的基本概念;3.学习C#的高级特性,如LINQ和异步编程;4.熟悉常见错误的调试技巧和性能优化方法。通过这些步骤,你可以逐步深入C#.NET的世界,并编写高效的应用程序。

c#和.net:了解两者之间的关系c#和.net:了解两者之间的关系Apr 17, 2025 am 12:07 AM

C#和.NET的关系是密不可分的,但它们不是一回事。C#是一门编程语言,而.NET是一个开发平台。C#用于编写代码,编译成.NET的中间语言(IL),由.NET运行时(CLR)执行。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),