C#热度不如Java?网友呛声:还有使用C#不能完成的工作?

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,自发布以来受到了程序员的广泛关注。C#与Java有着很多相似之处,例如,单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。

但是与Java每月被唱衰的热度不同,C#看起来就沉默多了。根据TIOBE编程语言指数来看,从2016年开始,C#的热度就比较平稳,只是每年都会出现周期性的变化。如果从历史排名来看,C#一直是以小步伐在慢慢向前进的。

为什么C#的媒体曝光度不大,但却可以在众多编程语言中保持比较强的竞争优势呢?我想这与C#广泛的应用范围不无关系。那么,C#到底可以做什么呢?

首先,我们先整体来看一下C#的全能功夫单,在桌面端C#有WPF、WinForm、UWP等框架,在服务器端有 ASP. Net Core, ASP . Net Mvc ,WebForm,WCF,在Android、iOS开发端有Xamarin,在游戏开发方面有Unity,在IOT方面还有. Net Core。

据悉,Bing和Azure也有很多是C#写的,大多数金融公司的系统都是使用C#,甚至有人还使用C#写了操作系统。

适用于Windows下的一切

C#的优势很大一部分都来自于Windows,好的C#程序员可以使用C#将Windows的各种性能都挖掘出来,包括各种组件的调用。很少有语言将Windows核心库中的各种组件添加到项目并引用,但是C#依靠强大的Visual Studio就可以做到这一点。

.Net Core

近期,在很多地方都看到有技术人在称:2018年,.Net Core将全面爆发,我们也看到了官方在大力推行.Net Core,2.0版本几乎可以完全符合程序员的需求,相当于.net framework 4.6.1的程度,原本.net framework的类库也几乎全部重写了,性能提升了一大截。

.Net Core可以跑在Linux、MacOS、Windows上,有网友称,他们利用.Net Core在树莓派上进行无人机的通信和飞控应用的开发,在Windows上把程序编译好,可以直接把编译结果传到树莓派的Ubuntu上面运行,而Ubuntu根本连sdk和runtime都不用安装。

C#在游戏领域一骑绝尘

C# + Unity已经快成为了游戏领域的经典搭配,再加上.Net Core服务器的加持,C#的开发体验在一众编程语言中脱颖而出。C#在游戏开发领域本来就有很好的使用历史,再加上性能不俗,在游戏领域一骑绝尘也是意料之后。

网友一句话评价C#

如何用一句话来评价C#的使用范围呢?我们来看看网友都有哪些神评论吧!

网友1:可以问个问题吗?有哪些使用C#不能完成的工作?

网友2:C#:我不是说你XXX,而是在座的各位,在windows服务器作为基础的情况下,你们都是垃圾。

网友3:这么说吧,我们公司正在用.net core写区块链……

网友4:即使你用其它语言来做开发,C#也会给你带来神助攻的感觉!

身为程序员的你会如何使用一句话来评价C#呢?欢迎在下方积极留言!

原文:https://www.toutiao.com/i6528991929223348744/


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P3690-[模板]Link Cut Tree(动态树)【Splay】

正题 题目链接:https://www.luogu.org/problem/P3690 题目大意 nnn个点mmm个操作&#xff0c;要求支持 询问路径异或和连接一条边(若x,yx,yx,y没联通)删除一条边修改一个点的权值 解题思路 LCTLCTLCT板子题不解释。 codecodecode #include<cstdio> #include<cstrin…

MongoDB SpringData去掉自动生成的_class字段

使用定义的Bean类插入数据&#xff0c;spring data默认会给数据增加一个_class字段存储类的全名&#xff0c;这里需要去除类型 Configuration public class MongoConverterConfig implements InitializingBean {Autowiredprivate MappingMongoConverter mappingConverter;Over…

EntityFramework Core 2.0执行原始查询如何防止SQL注入?

前言接下来一段时间我们来讲讲EntityFramework Core基础&#xff0c;精简的内容&#xff0c;深入浅出&#xff0c;希望为想学习EntityFramework Core的童鞋提供一点帮助。EntityFramework Core执行原始查询在EntityFramework Core中执行原始查询我们借助FromSql来实现&#xff…

P3808,P3796-[模板]AC自动机(简单版/加强版)

简单版 题目链接: https://www.luogu.org/problem/P3808 题目大意 nnn个模式串&#xff0c;一个文本串&#xff0c;求有多少个模式串出现在文本串里。 解题思路 普通ACACAC自动机不解释。 codecodecode #include<cstdio> #include<cstring> #include<algorit…

MongoDB SpringBoot ObjectId序列化json为String

mongodb的ObjectId默认序列化为bean对象&#xff0c;如果需要转换为json字符对象&#xff0c;配置如下 Configuration public class JacksonConfig implements InitializingBean {Resourceprivate ObjectMapper objectMapper;Overridepublic void afterPropertiesSet() {Simpl…

EntityFramework Core 2.0自定义标量函数两种方式

前言上一节我们讲完原始查询如何防止SQL注入问题同时并提供了几种方式。本节我们继续来讲讲EF Core 2.0中的新特性自定义标量函数。自定义标量函数两种方式在EF Core 2.0中我们可以将方法映射到数据库中的标量函数&#xff0c;我们可在LINQ中调用此方法并会被正确翻译成SQL语句…

jzoj6310-Global warming【线段树,LIS】

正题 题目大意 给出一个长度为nnn的序列aaa&#xff0c;可以选择一个区间[l,r][l,r][l,r]使得aiaid(l≤i≤r,∣d∣≤x)a_ia_id(l\leq i\leq r,|d|\leq x)ai​ai​d(l≤i≤r,∣d∣≤x)。求最长上升子序列的最大值。 解题思路 我们可以发现肯定有一种最优解法是选择[k,n][k,n][…

SpringBoot shedlock MongoDb锁配置

配置mongo的表进行锁任务管理 maven依赖包 <dependency><groupId>net.javacrumbs.shedlock</groupId><artifactId>shedlock-spring</artifactId><version>2.5.0</version></dependency><dependency><groupId>net…

jzoj6311-Mobitel【dp,整除分块】

正题 题目大意 n∗mn*mn∗m的矩阵&#xff0c;求有多少条路径的乘积不小于SSS。 解题思路 我们用总路径数减去乘积小于SSS的路径数 我们很容易想到用fi,j,kf_{i,j,k}fi,j,k​表示到(i,j)(i,j)(i,j)这个点&#xff0c;然后乘积之和为kkk的dpdpdp。但是时间复杂度O(nmS)O(nmS)O…

ASP.NET Core远程调试

关于ASP.NET Core远程调试的具体做法可参考微软文档——Remote Debug ASP.NET Core on a Remote IIS Computer in Visual Studio 2017&#xff0c;详细做法不再赘述&#xff0c;这里主要记录下自己的感受。体验Web Deploy这种发布方式可直接将代码打包发到指定服务器的指定站点…

SpringCloud Consul自定义服务注册

SpringCloud自定义consul服务注册器&#xff0c;获取特定的本地地址进行注册&#xff0c;注销的时候检查并注销其他无效实例 package com.mk.springcloud.config;import com.ecwid.consul.v1.ConsulClient; import com.ecwid.consul.v1.agent.model.NewService; import com.ec…

jzoj6312-Lottery【dp,前缀和】

正题 题目大意 给出一个长度为nnn的序列aaa和数字lll&#xff0c;定义两个长度为lll的区间[l1,r1][l_1,r_1][l1​,r1​]和[l2,r2][l_2,r_2][l2​,r2​]的距离为有多少个不相同的数字。 然后有qqq个询问kik_iki​&#xff0c;要求输出有多少对距离为kik_iki​的区间。 解题思路…

修复.NET的HttpClient

早在2016年我们就报道过 &#xff0c;.NET的HttpClient存在一些问题。随着.NET Core 2.1中HttpClientFactory的引入&#xff0c;其中部分问题已经得到缓解。HttpClient的根本问题是&#xff0c;每次调用资源好像都应该在使用后立即释放。在现实中&#xff0c;那意味着每个目标服…

阿里云OSS存储

阿里云OSS存储,文件上传与文件删除 maven依赖&#xff1a; <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version></dependency> 代码&#xff1a; package co…

欢乐纪中A组赛【2019.8.20】

前言 Rank1???Rank1???Rank1??? 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC111(J−3)WYC(J-3)WYC(J−3)WYC145145145100100100000454545212121(J−3)ZYC(J-3)ZYC(J−3)ZYC636363383838000252525353535(J−3)XXY(J-3)XXY(J−3)XXY45454500000045454…

Asp.Net Core2.0 基于QuartzNet任务管理系统

Quartz.NET官网地址&#xff1a;https://www.quartz-scheduler.net/Quartz.NET文档地址&#xff1a;https://www.quartz-scheduler.net/documentation/index.htmlQuartz.NET是一个开源的作业调度框架&#xff0c;是OpenSymphony 的 Quartz API的.NET移植&#xff0c;它用C#写成…

jzoj6313-Maja【dp】

正题 题目大意 n∗mn*mn∗m的格子&#xff0c;从(A,B)(A,B)(A,B)出发&#xff0c;走KKK步&#xff0c;然后要求回到(A,B)(A,B)(A,B)&#xff0c;求路径最大价值(可以重复经过一个点&#xff0c;但不能停留)。 解题思路 我们可以将回路转换为一条K2\frac{K}{2}2K​的路径&#…

64位的Mac OS X也有Windows.Forms了

Mono长期以来一直为Linux、Mac和Windows提供Windows.Forms的纯C#实现。随着技术潮流的变化&#xff0c;Mono的Windows.Forms平台仍然没有得到很好的发展&#xff0c;还只是各种第三方库和应用程序的依赖&#xff0c;这使得它的重要性超过了那些基于WinForms的应用程序。Mono默认…

java 集合总结

一、集合类型 &#xff08;1&#xff09;集合 List Queue Set Map List Queue Set 实现Collection接口 &#xff08;2&#xff09;Collections工具类 reverse(List list)&#xff1a;反转 shuffle(List list),随机排序 sort(List list, Comparator c);定制排序&#…

jzoj6316-djq的朋友圈【状压dp】

正题 题目大意 有盟友和情敌关系&#xff0c;情敌的情敌是朋友之类的规则&#xff0c;然后如果一个人和111的关系已经确定&#xff0c;以后都不会有任何影响&#xff0c;然后求一个序列&#xff0c;要求111的盟友最大。 解题思路 定义与111直接连边的是AAA类点&#xff0c;不…