2022 押宝 c#还是 Java

2022-07-25 00:50:56 +08:00
 weiqipeng

各位大佬 诚心发问 2022 年押宝 c#还是 Java ?有五六年后 run 美打算

12878 次点击
所在节点    程序员
97 条回复
aw2350
2022-07-25 12:16:43 +08:00
这种问题,我觉得直接去领英 或者 stackoverflow 上看招聘薪资和要求,已经岗位数量就可以了
aguesuka
2022-07-25 12:17:43 +08:00
C#er 在谈生态的时候总是只谈 .NET core 全平台, 而在谈人数的时候甚至会把 unity 也包含进来. .NET 现在是跨平台了, 但是找工作的时候还是 .NET framework. 公司又不是傻子, 老项目不会动, 新项目用 Java.
ktqFDx9m2Bvfq3y4
2022-07-25 12:26:56 +08:00
@aguesuka OP 说了要准备 Run ,所以直接去目的国家搜索招聘要求更直观。欧美我无法评价,但澳新 C#是主流。我在新西兰,之前我统计过本地招聘网站,C#已经占一半以上市场。我们这边有太多会 Java 的想移民很难找到工作最终不得不学 C#才搞定的。
aguesuka
2022-07-25 12:33:33 +08:00
@Chad0000 楼主说五六年后, 首先得在国内干这么久. 退一万步说, 润也是一样, 看 39 楼贴的链接, framework 照样比 core + .NET5 还多.
beneo
2022-07-25 12:48:05 +08:00
Java 之后直接 go + python ,如果全栈有兴趣,向去大公司走 react ,自己创业走 vue
ktqFDx9m2Bvfq3y4
2022-07-25 12:48:21 +08:00
@aguesuka #44
既然考虑润那是不是找外企或跨国远程更合适呢,比如这个:/t/867370
framework 多只能表示那些要么是基于 Windows 的(桌面程序)要么国内没动力升级。我在这边属于传统的电信行业,我们都在积极升级到.net6 ,就差最后一个系统了,一个月内就会全部切换完。
NVDA
2022-07-25 12:58:30 +08:00
首先押宝这事非常不靠谱
其次美帝而言 junior / mid junior level 招人基本不看你之前用的是什么语言,要不微软那帮人怎么跳...

最后 C#...从来不是主流
说实话我只见过在微软的人用 C#,其他我认识的所有人没有一个用的是 C#
当然,我不做传统行业,印象中这些比较传统的企业用 C#比较多
问题是这些行业招人少啊
shijingshijing
2022-07-25 13:06:41 +08:00
@aguesuka 42# 最搞笑的是前几天看一个写.Net 新版 Feature 的文章,也是狂吹跨平台,具体是说的 Win UI 还是 MAUI 的,最后跨来跨去只剩下微软自家的 Windows 跨 XBox 了,哈哈。

我是一路微软系用过来的,MFC -> WinForm -> WPF ,开始还是很愉悦的,后面强推 Metro ,然后 UWP ,Win UI ,MAUI 什么的一看势头不对,立马打住。微软一路挖坑弃坑,坑了不少开发,您自己玩吧,我不奉陪了。

现在的 Visual Studio 也是臃肿不堪,我就启动一个 VS 看一下项目,打开界面背后一堆 Telemetry 背后跑得贼欢快,给你发起 N 多网络连接,真是怕了。还有其他什么 SilverLight 懒得说了。
shijingshijing
2022-07-25 13:13:07 +08:00
@Mirage09 传统行业现在也是维护老项目采用他家的,新开的项目基本走 Qt 了,一个是好招人,架构用 Qt 配合 PySide 弄个架子,各种 Boilerplate 弄好,新人跑过来理解了 Slot 和 Signal 之后,依葫芦画瓢快的很,会 Python 的比会 C#的多多了。另一方面,底层需要性能的部分,老师傅 C++写好之后把 API 和文档弄清楚,基本上也没什么大的问题,而且是正经的 Native 。基本上,传统的汽车行业都是这样操作的了。
aguesuka
2022-07-25 13:27:13 +08:00
@Chad0000
1. 跨国远程工作和外企没有想象中那么容易找, 尽管我现在也远程, 限制在 C# 更难找: 请谷歌 "site:ex.noerr.eu.org/t 远程工作 Java OR C# ".

你们公司切系统只能说明你们属于 30% 中的一部分, 我真心的恭喜并羡慕你, 而 39 楼的链接确实是国外的统计. 如果你认为新项目都用 core 了, 那么只能说明旧项目比新项目多. 如果你认为你们公司是传统公司, 那么只能说明有更多的公司更传统.

楼主能在 V2EX 问这个问题, 大概率没有编程经验. 你给的 JD 用的是 NET Framework 4.7, 而且要求 3-5 年工作经验, 而且还支持 Java 转岗. 所以之前的工作是 Java 还是 C# 没有意义.

我司的 JD 吹得比这个 JD 还厉害, 入职以后才知道"企业级框架", "xxx 合作商", "核心系统 xxx 的维护和新功能开发" 是雷中雷中雷, 要不是看在远程的面子上早跑路了.

如果不带记忆重开 10 次押宝 C#, 大概率有 5 次会得到维护老项目, 熟悉 .NET framework, 手动打包 dll, 给 sqlserver 写存储过程, 写存储过程的时间比写 C# 的时间还多, mstsc 的时间比以上都多, 离润的目标越来越远.
jitongxi
2022-07-25 13:34:20 +08:00
好, 我选择 kotlin
NVDA
2022-07-25 13:39:06 +08:00
@shijingshijing
good to know ,感谢
crazytudou
2022-07-25 13:41:56 +08:00
在这里竟然没看到这种回答:“选那个语言都一样,关键是自己的能力,学好一门技术,到哪里都吃香”。
作为一个搞 C#的人,建议想国内混进好点的厂,学 java 吧。
cnrting
2022-07-25 13:46:13 +08:00
小孩子才做选择
aguesuka
2022-07-25 13:51:05 +08:00
@crazytudou 只有都鸡汤能打败鸡汤: "选择比努力更重要"
shijingshijing
2022-07-25 13:53:47 +08:00
@aguesuka SQLServer ,存储过程,外键感觉都是上个世纪的产物了。
heiher
2022-07-25 13:56:50 +08:00
@sinnosong1

比如对比下 openjdk hotspot 和 dotnet coreclr 的 jit 实现:

https://github.com/openjdk/jdk/tree/master/src/hotspot
https://github.com/dotnet/runtime/tree/main/src/coreclr/jit

就说公共架构分离的设计,hotspot 公共代码、架构代码结构清晰明了,反观 coreclr 明显设计不足,就像一锅粥,公共代码文件里充满了各种 cpu 架构开关宏,可读体验很差。
aguesuka
2022-07-25 14:14:41 +08:00
@shijingshijing "企业级应用"的标配, 在当年也是潮流了, 就像今天 spring cloud 之于 Java 一样疯狂. Java 也有老技术, 但是谁还会记得 osgi, hivemind 呢, 马上 dubbo 也是过去式了.

还忘记提 webservice 了, C# 当年那么努力推这玩意, 连标准协议里面的 head 支持都不完善. 导致了 C#提供出来的接口都是 webservice, 但是调用其它语言(甚至其他框架, 其他版本)写的 webservice 都报错.
datiewang
2022-07-25 14:16:56 +08:00
建议学 .NET 的建议来和我互换工作蟹蟹
Mithril
2022-07-25 14:23:23 +08:00
这边建议学前端。
看看隔壁吵 yarn 和 pnpm 的帖子,五六年包管理都能换几遍。
这么大工作量肯定是不愁找不到工作的。

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

https://ex.noerr.eu.org/t/868434

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

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

© 2021 V2EX