这几天连续有多篇文章诋毁.NET,这类文章我十几年前就看得多了,只不过十几年前是C和C++之争,C++和Java之争。我从来不理这类文章,因为这类口水战并没有什么实际意义。

然而接连收到多位粉丝私聊说,主席,你应该写点什么反击了。我才醒悟过来,为了自己,我可以不用理会这些文章,但是为了社区,我必须写点东西。

首先,必须声明一点,我在《广州.NET微软技术俱乐部与其他技术群的区别》说得很清楚,“本群坚决禁止讨论“JAVA和.NET哪个好”、“NET有没有前途”等问题,请把讨论这些问题的时间用来研究如何提高自身.NET技术水平上。”

所以,这篇文章将会是唯一一次也是最后一次讨论.NET和Java之争。

然后,这篇文章的阅读对象是有上进心、好学但是又在迷茫中的.NET粉丝。

这些粉丝的心态我懂,我读书的时候,身边很多人跟我讲,读书没有用,读书并不能赚大钱,很多赚大钱的人都是小学毕业。

那时候我的心态就和这些粉丝心态是一样的。

幸亏后来家族里的长辈点醒我,他只说了四点:

  1. 福布斯500富豪榜里面,绝大部分都是大学毕业,所以读书无用论这种论点根本经不起推敲。纯粹是这些人为自己辩护找的借口。

  2. 即使是小学未毕业的爱迪生,和因为贫穷只读了三年书的林肯,大家尊敬他们并不是因为他们读书少,而是因为他们的成就和贡献,并且他们都很尊敬文化人,所以读书无用论是本末倒置。

  3. 建立了党和国家财政体系(包括长征和解放军后勤、建立商务部和广交会)的叶季壮将军,就是个文化人,新中国暂时还没有哪个小学文化的富豪创造的财富比他创造的财富多,所以读书无用论和读书不能致富就是扯淡。

  4. 读书无用论是使用小学课文《田忌赛马》里的手法,用小学毕业里的上等马去和大学毕业里的下等马去比,那当然是小学毕业里的上等马胜出啦,正确的比法应该是用小学毕业里的上等马去和大学毕业里的上等马去比。我当时已经是高中文化了,怎么还会中这种这么低级的招数呢?

因此我走出了迷茫,最终考上了大学。十年之后,当我在硅谷上空开飞机的时候,我才发现当年相信读书无用论的同学们不但没开过飞机,甚至连汽车都没有开过(当然现在又过了十年,中国经济发展起来了,绝大部分同学都开上汽车了)。

所以这些迷茫中的.NET粉丝的心态我很懂,不就是当年读书无用论的翻版嘛。

所以诋毁.NET的文章我不关心,我只关心我们这些会被这些文章坑害的粉丝们。我也说几点吧:

  1. 我2003年就开始用Java里的J2ME做出一个西门子M55手机程序。目前我同时使用Java、.NET(C#)、Python、Typescript四种语言和技术。所以我并没有说Java不好,我只是认为.NET也不差。

  2. 这些诋毁.NET文章的作者,并没有做过什么实际上的贡献(比如参与开源项目或者写技术文章),和鼓吹读书无用论的是同一类人,纯粹是这些人为自己辩护找的借口。

  3. 这些诋毁.NET文章的手法,是使用小学课文《田忌赛马》里的手法,用Java里的上等马去和.NET里的下等马去比,那当然是Java胜出啦,嗯,这些人好像并不知道.NET Core这匹.NET体系里的上等马吧。绝大部分粉丝的文化程度都比小学文化高多了,怎么还会中这种这么低级的招数呢?

  4. 目前流行的网游,比如王者荣耀,是使用.NET平台,这说明了.NET并不差。

  5. 最近我在整理叶季壮将军的史料过程中,发现在OCR这一块,Java就比不上.NET。在github搜OCR,按照Most Stars排序,你会发现第一页有两个C#的OCR库,而没有Java的OCR库。

  6. 当然在某些领域,Java是比.NET强,比如工作流这一块,我自己目前就是用Java的Activiti, 但是Java是可以和.NET共存的啊,特别是在微服务的年代,早就已经是语言无关了。多种语言和框架都可以共存。

  7. 这些诋毁.NET文章没有举出任何一个.NET不好的实例,而我在前面就举了三个实例,真的是造谣张张嘴,辟谣跑断腿啊。

最后单独说一下大家最关心的问题,就是Java程序员工资比.NET程序员高。

这种手法比小学课文《田忌赛马》里的手法高明点,然而很容易识破啊。

这种手法的另一个例子是:我和中国前五个富人的财富一平均,我也是亿万富翁。

See! 这种手法很清晰了吧,“Java程序员工资比.NET程序员高”没有任何意义,重点是“你做Java程序员工资会不会比做.NET程序员工资高”,这才有讨论的意义。

我的经验告诉我:

  1. .NET转Java是需要付出成本的,如果你不会.NET里的IOC、设计模式、DDD、TDD、BDD,那么你转Java,你一样还是需要付出海量的时间去学会这些东西。

  2. 只学会一种语言而不学它的框架和库是什么都干不了的。光学Java是没有生产力的,你至少要学习SSM三大框架,做点有规模的项目还要学Spring Security, Activiti, Drools等等。这都是要花不少时间的,同样的时间用来学好.NET Core提高生产力岂非更好?

  3. 你付出成本转成Java之后,收益不一定比原来.NET的高。因为除了公司内部转Java保证了你的工资待遇外,换一个公司求职你就变成了一个0年工作经验的Java新手,这在一些非算法取胜的公司里是很吃亏的,最终工资未必比你原来.NET的薪水高,毕竟你在.NET是按有经验的工资去付的。目前能够成功从.NET转JAVA的成功案例大部分都是公司内部转,保证了你的工资待遇。

  4. .NET Core正在崛起,微软重回市值第一,你花了时间转Java之后会不会错过这个时机呢?

  5. 不管你是用Java还是用.NET,只要能把事情做好了,就能拿高工资,如果老板不肯给你高工资,那你就换一家公司。

  6. 要通过把事情做好来拿到高工资,你很可能需要同时使用.NET和Java, 比如现在的我,工作流用Java,前端用TypeScript,数据采集和分析用Python,其他用C#/.NET Core.

  7. 如果抱着.NET垃圾的想法,那么当项目需要使用OCR、网游或者其他.NET擅长领域的时候,你因为不喜欢.NET而不去用.NET,从而没有把事情做好,那你可能会被降工资。

这个世界上,大概率是做实事的人会等到尊重,比如王安电脑的王安,当年排名全球第5富(目前还没有其他亚洲人能做到这点),美国人并没有因为他是华人而鄙视和打压他,反而很尊重他,被选为全美最杰出的12位移民之一,接受了里根总统颁发的“总统自由奖章”。王安卖电脑就没有打什么民族牌、爱国牌。所以还是少点空谈,多干点实事吧。

写这篇文章总计花费58分钟,这个时间比我做".NET俱乐部联盟官网"里一个PBI和写“ABP大型项目实战(1) - 目录”这篇技术文章耗时还多。所以这篇文章将会是唯一一次也是最后一次讨论.NET和Java之争,有多余的空闲时间还是用来做点实事吧。

我依旧坚持群规:“本群坚决禁止讨论“JAVA和.NET哪个好”、“NET有没有前途”等问题,请把讨论这些问题的时间用来研究如何提高自身.NET技术水平上。谁先挑起这个话题被警告三次后就请出群,目前已经有多位人士被请出群了,请合作,谢谢。”

原文地址:https://www.cnblogs.com/adalovelacer/p/dotnet-vs-java.html

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

.NET和Java之争相关推荐

  1. 从.NET和Java之争谈IT这个行业

    一.有些事情难以回头 开篇我得表名自己的立场:.NET JAVA同时使用者,但更加偏爱.NET.原因很简单 1.NET语言更具开放性,从开源协议和规范可以看出; 2.语言更具优势严谨; 3.开发工具V ...

  2. C# 和 Java 之争之我见

    这段时间以来,对java 语言及平台 和 C# 语言及.net 的平台之争在园里可谓风气云涌,俗话说" 真理不辩不明,事实不讲不请,  道理不议不透.",从大家热烈的讨论中让我及许 ...

  3. Kotlin与Java之争

    Kotlin \\ Kotlin是一门相对比较新的JVM语言,JetBrains自2011年以来一直在积极地开发. \\ 多年来,该语言在Android社区受到的关注度越来越高,并在Google IO ...

  4. .net与java之争

    在经验丰富的 Java 开发人员看来,.NET 可能与 Java 平台很相似,它们都提供了一种创建应用程序的结构化方法,都有编译为中间代码的语言,都为应用程序开发提供了一个大型 API 库.但实际上, ...

  5. java和python哪个好就业2020-Python和java哪个就业前景好些?

    之前写过一篇文章,Python和Java哪个更适合做自动化测试? 这个和Python和JAVA哪个更有发展前景?有着异曲同工之妙. Python和Java的争锋由来已久,作为测试菜鸟入门测试行业,都会 ...

  6. java面试题——java基础(四),java初级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  7. CentOS7安装Java,java高级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  8. python和java哪个好找工作-Python和java哪个就业前景好些?

    之前写过一篇文章,Python和Java哪个更适合做自动化测试? 这个和Python和JAVA哪个更有发展前景?有着异曲同工之妙. Python和Java的争锋由来已久,作为测试菜鸟入门测试行业,都会 ...

  9. java线程看不进去_Java多线程和并发基础面试问答,看过后你不会后悔

    第一:Java多线程面试问题 1:过程和线程之间有什么不合? 一个过程是一个自力(self contained)的运行情况,它可以被看作一个法度榜样或者一个应用.而线程是在过程中履行的一个义务.Jav ...

最新文章

  1. sys.stdout.write与sys.sterr.write(二)
  2. lua类库 middleclass学习笔记
  3. 基于机器学习的捡球机器人设计与实现(探索)第5篇——训练并使用Haar分类器(2019-03-02)
  4. 勒索软件防不胜防? 要先从了解它开始
  5. 年轻10岁简单又易行的妙方
  6. 基于奇异值分解(SVD)的图片压缩实践
  7. PHP 将Base64图片保存到 Sae storage
  8. 用 Python 和 werobot 框架开发公众号
  9. 【VB.NET】VB.NET文件问题的解答
  10. java存放的位置_java数据类型的种类以及存放的位置
  11. 小福利,excel的常用高阶函数介绍
  12. 显卡mx150和230哪个好_MX130与MX150差距对比分析
  13. 百度网盘上传文件时提示超过4G限制如何解决?
  14. 今日头条数据分析师分享有感
  15. 【用于图像修复、数据增强等】结合官方代码教程,在Windows 10下运行pix2pix-tensorflow(tensorflow==1.4.0 python=3.6)
  16. python中合法的八进制数是_0o12f 是合法的八进制数字。 (2.0分)_学小易找答案
  17. 控制研究的混杂因素(Confounder)
  18. 编码分布式矩阵乘法(Coded Distributed Matrix Multiplication, CDMM)问题简单介绍
  19. MySQL官方示例数据库的使用
  20. 第四章 android 命名规范和编码规范

热门文章

  1. div 包裹_如何查看到达之前收到的包裹和邮件
  2. ios 启用 证书_如何在iOS 10中启用就寝提醒,轻柔的唤醒和睡眠跟踪
  3. 电热水器工作过程 c语言,热水器工作流程图
  4. linux导出硬件信息,Linux 上生成硬件信息与配置报告: Sysreport
  5. 导入工程后编译不过,报错: apply plugin: 'com.github.dcendents.android-maven'
  6. 20161114记录一件工作的事
  7. VC++ 6.0 C8051F340 USB PC侧通信 Demo
  8. java网络编程 个人心得
  9. .NET6之MiniAPI(十六):数据保护
  10. 开源虎墩同名电影《小虎墩大英雄》定档大年初一