先说结论,没什么好争的…都是闲的…… 996其实还是没拉满,要不然不会累的要死,还往知乎上吵架来
其实按理说 应该写.NET Core和Spring全家桶之争的,标题写框架与语言之争好像有些……

招不到人企业会怎样?

作为企业,如果长时间招不到人,我是老板 赶上这情况,肯定是会想办法换掉整个技术团队和架构的……而且真的是迫于无奈……用另一个语言重写

我去Boss直聘搜了下“Java”与“.NET Core”,我带规则的搜索了下全国的中型公司,这俩在Boss直聘上的岗位数量是一样的 都是10页;

在前程无忧上也是相同的关键字,在北上广深搜索.NET Core只有6页,搜索Java 令我惊讶,居然有636页之多……搜索.NET,有133页。

可见Java在国内的岗位招收需求……

  • 我只随便截图两个 具体可以自己去搜下真实情况。Java岗位普遍薪资确实比.NET Core要高(根据岗位不同),这是事实 没什么好争的。当下想多赚钱,就学Java便是。
  • 我们不能用阿里和蚂蚁金服这种大公司的待遇和用.NET Core的中小型公司待遇来截图对比,这样是不是不太好?还是说学了Java之后就能秒进阿里,还是阿里能招了全国所有的Java程序员?
  • 我们不能用阿里的薪资标准来衡量 只要学了Java,就肯定能进阿里 拿15-40k的工资。这样在我来看是不对的,如果你偏要来争,我总不能说,学了.NET Core的人,都能进美国那边用.NET Core的公司吧?那边薪资更高……具体你可以科学上网去indeed找找看
.NET Core 在全国Boss直聘上的搜索结果
Java 在全国Boss直聘上的搜索结果

国内之——“最”

我之前其实是干混音的,有时候会有小白来问,“老师,哪个插件最好?哪个宿主软件好?” 有时候我就在想,是不是只有国人才会问这个“最”字?—— 其实我人真要行,几个到十几个插件用好了 都差不多。

经常比来比去争“最好”,可能才会有“闲者”之争吧……

玩具多多

一、Java

我一个学.NET Core的,对Java了解真的很少,如果Java还有什么知名项目 还请告知。

可以用Android Studio写安卓App

可以做大数据分析

可以写Web后端,淘宝后端就是Java写的,框架什么的都很成熟 (确实是事实)

可以写游戏,早期的Nokia时期的手游,都是用Java开发的。早期的Minecraft也是


二 、.NET Core

现在.NET在国外其实很火,只是国内看着要“死”

微软称统一平台框架.NET 5可以开发以下程序,Windows桌面的WinForms、WPF、UWP应用、Web应用、移动端应用、游戏开发(Unity游戏制作引擎),剩下的物联网和机器学习我关注极少,我想这俩应该还是CPP和Python的。所以学.NET还是可以开发很多东西的。

(Azure虽然方便 但我觉得略贵,被我无视了w。觉得贵不用就是了 没必要喷)

感谢MANISH指正,这里写的不严谨,Desktop没有跨平台 下图是统一平台而不是跨平台的意思,我写错了,抱歉

以下几个,除了Desktop应该都是跨平台的,物联网和机器学习我记得可以。如果还有错 望大触指正。

​放一张学.NET的人 最近两年看着超眼熟的图


.NET 人才断层问题

一、就新人学习而言

在大概一年前,我看到下面这张图时是兴奋的。因为连年更新 带来的新功能、可带动的社区活跃度都是正向的。

现在,我看到这张图,是有些慌张的。因为发布太快的话,可能会导致新人不知所措(我个人认为),因为新人不知开始从哪学起了,就国内.NET教育而言,现在的书籍、教程视频,多数都是从.NET Core 2.x的,甚至还有1.1的。微软如此快速的更新,如果教程跟不上 我只怕会直接摧毁学习.NET技术新人的决心。

但好在微软列出了LTS(长期支持版本)的发布时间,所以我个人觉得只学LTS就可以,而且就算更新 微软的人应该都不傻,3.1-6.0要直接改个面目全非,一点让企业更新的动力都没有 那趁早掰掰吧您了。就现在2020年而言,Core 2.1 - 3.1 我暂时还没有发现这种现象(笑),也确实改了不少,但不至于忍不了。

不知Java有没有改的面目全非的时候 比如全家桶框架,我不知道……如果有或没有 麻烦评论告知……

.NET 今后发布版本进程表

二、就企业招人而言

企业现在有不少好像都在转Java,或者是招.NET然后进公司问是否有转Java的意向,我觉得也是迫于无奈。也有反向的,招Java转.NET的。

就已经学习过一个框架的新人而言,企业确实存在“骗人”的嫌疑,但他们无奈招不到人,只能以此策招。看看待遇是否合适 愿意学习的就进,不愿学的就撤便是了。

现在.NET企业据我观察 有不少都是在维护公司老项目WinForms和http://ASP.NET,不知是否有愿意从老项目转到.NET Core的,我觉得够呛吧。但从招聘网站上搜Core还是有不少企业招.NET Core的人的 也算是一点点在慢慢的往良性去发展这样。

Spring全家桶与http://ASP.NET Core

说实在的,有时候看到人们说Java如何好 我其实也蛮心动且想学的,但碍于精力问题,我打算先把.NET学扎实后,在看看Spring全家桶去,而且据说学会http://ASP.NET Core想转Spring全家桶的话 上手会很快,So……总要给自己留个后路

任何的一家独大 我认为都不好,学会了确实好找工作,但是也会被疯狂压榨。而且你今天不愿意干了,反正学Java的这么多,明天我分分钟又招到。而且比你便宜。你说还该不该学Java……?(虽然这句话并不能体现出学.NET就不会被压榨,但我觉得至少不会被压榨的如此凶狠……我见过的.NET开发者,虽然薪资没有Java高,但是都还算稳定且正常点上下班……(Java也有 但我看着少)【你可以进一些.NET群里问问和看看.NET和.NET Core开发者的常态】不过这有时候也取决于公司)


口舌之争

此条带有一些个人情绪

一、正视对方

其实我是那种,你不攻击我,我也不会攻击你的那种人。你说你Java确实nb不就好了?非要顺带来黑.NET,而且有不少人是用着以前的眼光来看微软的,观念仍停留在10年前,并不知道.NET Core开源免费跨平台这个新框架,所以才会来黑。我就是很奇怪他们为什么要来攻击学.NET的……利益驱使?

现在u1s1就事实而言,.Net Core现在在国内只是刚有一点点起色而已,还远不如Java在国内统治天下这么牛逼,Java招聘也确实多 薪资高,可以从招聘网站上搜下就能知道。所以有啥好黑的?利益驱使?


微软在鲍尔默时期,成功的错过了互联网与移动端的几乎所有,你没看错……是几乎所有!

WinPhone的失败、SQL Server的授权费用、框架封闭等等,这些让同时期的开发者嗤之以鼻+心灰意冷。有的甚至转到Java方反过来黑.NET,原因恐怕多数于此。但这都是微软的“历史锅”,一时半会也够呛能甩掉……

我有时候也在想,为啥会黑的如此厉害?可能是因为 如果你花大量时间去学习一个新的语言、框架或平台,结果被砍了或者失败了。也就意味着,你时间也都白花了……这样做确实有够招黑。但是 谁没个失败呢…… 就无法被原谅了么?

现在 微软已经开始拥抱开源了!从Visual Studio Code到TypeScript,从把.NET Core框架开源到斥巨资75亿刀收购GitHub,这已经足以表明微软打算拥抱开源的决心。现在的CEO是印裔美籍的纳德拉。鲍尔默的时代已经过去了,学Java的人如果仍不能正视现在的微软,那是不是显得过分而小气了呢?明明现在国内市场和繁荣的社区都是你们的 为何还要不断的喷微软的过去呢?不论公司还是个人 谁还不能有个过去呢?


我不是软吹 只就事论事,这篇文章我也不会删,真要有微软哪天又彻底的砍了什么我正在学的东西。我会跟你一起来黑.NET+微软


二、IDE收费问题

此条就企业而言

用Visual Studio 企业版收费说事 我想了很久,依然认为这是可耻的。

Java的IDE其实也有IDEA这种会收费的(与VS企业版相比 收的要少很多 更实惠),但是有不少企业用的是盗版或者免费版啊……VS也有2019的企业”密钥“版,所以……国内存在什么软件巨额费用问题么?你见过微软和Jet Brains告中国的某企业了么?如果有 麻烦把法院出判决书网址拿来……我好修改此条

所以说 没什么必要争这个吧?就一个用的好用的工具而已,用就是了,怎么还就IDE收费问题斗起嘴来了……?

IDEA的企业版确实便宜许多 价格是$499首年,但是,VS还有个专业版呢啊,专业版也是面向企业的。比VS的企业版便宜不少,虽然没有IDEA便宜,但也不至于付$5999首年的费用吧?

而且在微软VS的页面上,对企业版的定义是:企业组织定义为超过 250 台 PC 或年收入超过 100 万美元。 (年收1000万刀 还不舍得掏首年6k刀的IDE费用?)

中小型企业当然付不起或者不想付这种首年$5,999,续订$2,569的软件了!微软也想到了啊,所以 还争个啥?


三、Windows、Office、SQL Server收费问题

Windows是微软的发家产品,我想我们不能用它和一开始就完全免费的Linux去比,Win这个平台,我认为它是”多功能性“的,用户既可以用它玩游戏,PS绘画,Cubase作曲,软件开发,多媒体流量等,且它有更好的软件商支持与维护。包括微软自己也在维护。

我自己用的是戴尔的正版授权Win10 除了几次蓝屏,真没有见过什么不稳定的问题。

我个人认为,不稳定是KMS激活或者盗版的原因。我身边也有朋友用的华为的正版Win10本,也是除了蓝屏 没有什么其他问题。你要是拿蓝屏说事,那我无话可说,你去用Linux和macOS就是。但一边用着 一边骂着 不怎么好吧?

Linux有Steam(但貌似也要不支持了 https://baijiahao.baidu.com/s?id=1637350840050141690&wfr=spider&for=pc )、绘图有Gimp,音乐制作有Tracktion,软件开发不用说、多媒体也可以。但是用户又有多少呢?又有多少软件商支持Linux呢?只有不少开发者才会用吧?


日常使用的话,你可以用WPS或者Linux,如果一边用着KMS版的Win和Office,一边说为什么Win和Office还收费?这么说是不是太霸道点?

Office365一年使用权真的没多贵(有的笔记本还送1年使用权),个人版 398/年,某宝更便宜……(是否正版未知);Windows如果你买品牌机,其实是会免费送正版Win系统的,所以何来的Win收费之说呢?攒的机器你可以用KMS或者某宝授权码(是否正版未知)激活Win10啊,我也没见微软管用户啊。

你要说为什么Win和Office还收费,这么说是不是太霸道点? 你公司难道不是赚取利润然后支付给你薪水吗?那你公司为什么还赚钱呢?

说到这里,如果你换回来说Linux开发最爽!但,不是所有用户都是开发者啊……

SQL Server几十万授权费!你可以不用啊…… .NET Core和Java是都可以部署到Linux和MySQL的

Java有更成熟的解决方案!这个我还真较真不过……因为是事实 我没啥好说的,.NET在国内一时半会是追不上Java的,但是你说的上面那些是怎么回事……?

为啥总拿IDE说事……?就是个工具而已。人真要行 用啥真的都一样。不可能是因为人不行,所以才练的一口绝世无双嘴吧……

VS Code+自带插件 现在在GitHub有多火我也不想说。



四、WPF为什么不跨平台?

0.WPF是Windows Presentation Foundation的意思,WPF跨平台开发的意义是?就算跨了,到最后还不是要运行在Win上?(怎么说的好像WPF跨平台了你就会成为微软开发者一样……) 总咬WPF的,你连这缩写都没弄明白吧?要是跨了 那微软改名部应该能让你们又笑一会儿了是吧?跨平台后叫"MPF"和"LPF"才对。

2.我怎么没见你们去咬mac的应用不能直接在Windows上开发和运行呢?用XCode开发出来的mac app能运行在Windows上?

3.你们一边骂着微软和Win10为什么不快死,一边还说WPF为什么不支持跨平台?你们到底是想让微软快死还是多活久一些?按理说WPF不跨平台 Windows才能快速死亡、才能更和你们心意对不对?(笑

4.别没事总拿WPF说事。会显的你很闲。


给新人的话

所以、作为新人的我 到底应该学什么???

请务必学好英语! 请务必学好英语! 请务必学好英语!

0.如果特着急打算就业,就选Java+Spring全家桶。或前端+小程序。

1.如果你打算学习游戏开发且手游居多,建议你学Unity,这个游戏引擎在国内的教程贼多,B站一搜一堆

2.如果你打算学习桌面应用开发,面向公司就业且喜欢软件开发的话,学.NET Core (WPF、WinForms),据我观察 多数都是进公司维护老项目 更新新功能之类的

3.如果你打算什么都玩玩,又打算就业,建议你学.NET Core,但是它有些费精力。因为你要学很多很多东西。这条我个人认为很适合在校大学生。你可以学WPF、http://ASP.NET Core、Unity

4.我不是未来人,也不知道微软能否在国内发展起来。但就数据而言,你应该多多看看移动端。

  • 下面的图是我在b站一周的播放终端数据,多数流量都来自手机移动端,与PC端3/7开。移动端作为当下的主力,我建议至少考虑下,可以学Java (后期你还可以关注下Fuchsia这个谷歌的新系统 它还未发布)
  • Xamarin在国内不太乐观……不太推荐学 (就招聘网站上的数据写出此条)
  • iOS的话 肯定是学Swift 再买台Mac,苹果的平台我就不多说了

文末的话

最后1:就到这里吧。以后再看见争论贴 也不会上去喷与争论一番了 没什么用还浪费时间,抓紧时间把.Net精进后,看看Spring全家桶去。

最后2:感谢关注 我会在A站常更新.NET Core和Golang相关的视频教程的,前者尽量主要以Core 3.1或未来要出的5为准。Java我就不搬了……国内Java教程贼多了已经

最后3:感谢你看到这里,我相信你已经有不少想说的了,欢迎带证据指正我说错的地方 如果确实错了 我会修改文章。

最后4:你带着情绪骂我sb也好 但我不会回你。因为我现在的观点和兴趣 就在.NET Core 一方,但不是微软一方,我不是什么软吹,如果他日.NET被抛弃了,我连文带武的 跟你一起骂.NET,顺便抽自己一顿。

最后5:在知乎被骂久了,我反而期待着.NET没落的那一天,而那一天 我早已学会Spring全家桶,一起跟着Java人骂着.NET Core人……


看到这里仍有兴趣学.NET Core的,可以来找我玩~ 我在Acfun搬运.NET Core和Golang/Gin的教程(英语) https://www.acfun.cn/u/34078175


全都学Java吧。我认识的几乎没有双休。就算轻易给你辞掉或35岁让你滚蛋回家,分分钟就又来一个顶替你的人,因为真的太好招人了……

全都学Java吧。当你如果有一天因为996伤了身体,你会发现高薪,赚回来的 只不过是你的医药费罢了。企业根本看都不会看你一眼(当然 学.NET要有此情况也一样。)

全都学Java吧。说不定 哪天内卷更重了,9117都会出现。(996和9117的某岗位我都干过,但都放弃了……只想要个身为人的正常作息)