标签:离职 应用层 跨平台 比较 com 数据引擎 kafka istio tco
最近几天在博客园出现了几篇关于《.NET和Java之争》的文章,事情的起因来源于一篇年后离职跳槽指南公众号,文章里面提到
.NET在程序开发中就属于门槛比较低的一类。个中原因我想大家都懂的,就不在这里赘述了。做.NET不需要你科班出身,或许一点兴趣再加上一点时间,或许一个类似某马的培训,都可以让你开始从事.NET开发了。你可以不懂指针、不懂数据结构、不懂算法、不懂汇编、不懂很多东西,但照样可以做出一个.NET程序来。而这些人往往又是对薪资的要求没那么高的,这样无形中就拉低了.NET程序员的“身价”。.NET的易学易会,很大程度上是由于它的封装性比较好。底层的东西都屏蔽掉了,你只要知道学习一下命名空间,然后寻找相关的API去调用就好了。
然后叶主席写了第一篇《.NET和Java之争》,说实话这篇文章里面没有一点技术性对比,提出的论点也模棱两可,所以有了后面的两篇反驳文章《.NET和Java之争》 读后感、虽然不抱希望但也愿.Net和Java之争暂得平息
三篇文章各自给出了作者自己的观点,但都没有客观的分析.NET和Java之争
争的到底是什么。由于笔者本人同时在用.NET,Java,Go,所以这篇文章将从.NET ,Java以及最近流行的Go技术本身和生态进行对比。
首先,我们来看看三个语言/平台都可以做什么以及各自的优势。
综上,我们可以看到.NET/.NET Core在桌面开发和游戏客户端开发具有优势,Java系在中间件和大数据方向有无法追赶的优势,go在云原生基础设施生态上有得天独厚的优势。
而在Web应用层,虽然三个平台都可以进行业务开发,但spring boot/cloud/dubbo长期积累的生态组件和同一个平台的中间件加成,使用java在分布式应用开发上稍胜一筹。有人会说Java中间件我们.NET也可以用
,但是大部分java团队开发的中间件优先支持的还是java sdk,.NET /.NET Core的sdk只能等开源爱好者去开发或者提一个不知道要等到什么时候的issue去等中间件开发团队来支持。
毫无疑问,C#在语言特性上走在java、go的前面,linq、精细的内存管理、和native交互、异步支持是C#的优势。如今.NET Core已经开源5年,各大云厂商也在加强对.NET Core的支持,如何扩大C#本身的优势,进而形成生态优势,是每一个C#使用者都应该思考的问题。
最后,NCC(.NET Core Community)从.NET Core开源之初就致力于.NET Core生态建设,如果你有时间精力,想一起来发展.NET Core社区生态,想一起来玩开源,有任何想法 欢迎联系我们。
标签:离职 应用层 跨平台 比较 com 数据引擎 kafka istio tco
原文地址:https://www.cnblogs.com/liuhaoyang/p/10357198.html