截至 .NET 6, C# 在后端开发领域的生态与 Java 还有哪些差距?

2022-04-07 17:10:55 +08:00
 wdhwg001

如题,这里的“生态差距”不包括岗位、薪酬、求职与招工难度等人力资源生态问题。

就我个人感觉来说,C# 在语法上确实要香的多,性能更好,而且 VM 也远不需要 Java 的那些黑魔法。

但是,总有人说 C# 的生态很不好,想知道到底二者之间有哪些差距?有哪些库或中间件是 Java 特供而 C# 没有或发展极不完善的呢?对于实际的后端开发会有多少影响?

以及,也常听说全球范围内的 C# 生态好一些,那么如果忽视掉这些 Java 非全球范围的大厂自研开源和中文社区特供的部分的话,C# 和 Java 在后端领域的差距又有多少呢?

( PS:这里讨论的 C# 特指 .NET 6, 不讨论 Mono 、.NET Framework 以及各 AOT ,也不讨论 IIS 及早已不存在了的 Windows/Linux 平台问题。)

8434 次点击
所在节点    程序员
83 条回复
paccco
2022-04-07 17:58:58 +08:00
你这限定这,限定哪的,不如直接把 Java 的优势全干掉,再把 C#包袱丢掉 只比较语法咯
yazoox
2022-04-07 18:05:37 +08:00
c#在国内不行,国外使用还是挺多的吧。
国内的互联网公司,基本都是 Java 那一套,然后,国内的其它公司,都学“大厂”。
Chad0000
2022-04-07 18:08:49 +08:00
不是很了解 Java 的生态。

很幸运我一直在用 C#,工作和业余都在用。
sorakylin
2022-04-07 18:09:14 +08:00
Java 我感觉主要是有很多骚东西都有解决方案,太省事了……
比如我之前找到了个开源的“滑动验证码”Java 库,五分钟就能配好一个滑动验证码生成 /校验接口、还带基本的轨迹分析。

还有那种什么写完配置后一行代码实现登录功能(各种 Session 管理 /Cookie 管理 /前后端分离适配都是直接自带)的骚框架,顺便什么踢人下线、SSO 、鉴权、OAuth2 都给你打包了,用起来贼省心智负担……
还有一引入然后设置个路径就能在应用中集成完整的附件处理基础设施(附件管理 /保存 /媒体压缩 /查看 /下载 /定位)的库,让你所有的文件 /图片上传都可以无脑几行代码写完,除了本地文件系统外顺带还对接了云服务……

就是这种和你的业务贴的很近的库能翻出好多来, 写代码的时候基本还真就只剩增删改查了。
中间件这块倒是大家伙用起来应该都差不多吧
seakingii
2022-04-07 18:12:52 +08:00
生态的话,没有 JAVA 丰富,但该有的基本都有.
nightwitch
2022-04-07 18:13:37 +08:00
https://www.zhihu.com/question/494351204
微软的迷之操作太多,开发者对狼来了的故事听太多了
huang119412
2022-04-07 18:14:35 +08:00
你觉得好你就学就好了啊,语言之争有什么意义?不考虑历史? Java 诞生的时候也是非常优秀 ,C#只是模仿之流,如果语法糖多就能说明一个语言的好坏,你去学 scala 和 swift 啊。现在哪个语言不都是相互 copy 。谁和你说 C#性能比 Java 强,C#连 go 都比不上,https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf 。而且微软以前是什么德行,对开源的罪行可以说罄竹难书,只是中国人不记得历史喜欢舔而已,到现在很多开源社区也和微软划清界限。Java 的标准在 JCP 手里,运行了十几年,虽然不是最好,但是最不坏,记得不错的话 C#和 Go 都是某个公司的语言。
jorneyr
2022-04-07 18:34:34 +08:00
比较一下各种中间件有多少是 Java 开发的,有多少是 C# 开发的。
zmal
2022-04-07 18:36:37 +08:00
初学者总想证明自己现在掌握东西就是最好的,很正常。
gam2046
2022-04-07 18:44:42 +08:00
后端差距就是 Spring 全家桶。
nulIptr
2022-04-07 18:47:22 +08:00
小兵不用考虑这个问题,团队用啥你用啥。
leader 不光考虑这个问题,还要考虑能不能招到人。

我司还一大票线上服务是 net core 2.1 的,招不到人导致新服务都用 py 写了
MakHoCheung
2022-04-07 18:51:28 +08:00
不熟悉 C#,但我猜想的话,C# 发展这么多年了,一些基本的库 Java 有 C# 应该也有(最低限度微软自己都会去开发),生态差距应该不大吧,猜的
userforg2021
2022-04-07 18:54:47 +08:00
差距么,差距是 C#是微软出的,对有的人来说就是原罪
INCerry
2022-04-07 20:21:39 +08:00
INCerry
2022-04-07 20:26:50 +08:00
不熟悉和没用.NET 和 C#的人就不用强答了,会被大佬们笑话的
arthur1024
2022-04-07 20:27:09 +08:00
最近在找.net core 的工作,面了两家之前用.net 的公司,面试官都说现在.net 招人很难招,公司开始转向 java 了。。。。V 友们,求内推.net core 开发
INCerry
2022-04-07 20:32:25 +08:00
@arthur1024 我司招人,公司是国内某领域 TOP3 ,邮箱:aW5jZXJyeUBmb3htYWlsLmNvbQ==
Cbdy
2022-04-07 20:35:04 +08:00
朋友公司用的.NET ,因为招不到人去年开始用 Java 重写了
INCerry
2022-04-07 20:38:59 +08:00
@Cbdy 其实招不到人都是伪命题,薪资给的够,招人很快的。
roundgis
2022-04-07 20:44:22 +08:00
現在很多都是一起用

我司雖然用.net 該用 java 也會用


招人難不難是老闆要考慮的事

錢給夠自然會有人來

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/845526

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX