话说 Java vs C#

发布于: 6 小时前
话说 Java vs C#

写了20多年程序,用过好多编程语言。在服务器端编程领域,最大的两个阵营应该说就是Java和C#了。

选择的前提是场景

网络上有太多人从各方面比较各种编程语言的优劣的文章,例如语言特性、技术性能、学习成本、平均工资以及在GitHub上的热度等,确实给要学习新语言的初学者以有用的建议。

然而语言本身的好坏实难论断,甚至可以说没有绝对的好坏之分。要看你在什么地方、什么时间、与什么人说话。选择编程语言和你在哪一年、在哪家公司、做什么类型的项目,什么硬件环境、客户是谁可能都有关系,大多时候是被选择。

这好比你去了上海谋生,用上了上海话,你又去了广州做生意,然后又学起了粤语,后来你出国,不得已又去学英语。你能说英语就比国语好吗?要看你在哪里、在干嘛。语言是沟通工具,你必须掌握好才好说话、说好每句话,跟咱们程序员要写好程序一样的道理。要表达你的想法并让人听懂、理解,你就得选择合适的语言、句子、词和字。

虽然有可能受限于你的团队、成本和时间等因素,不同的应用场景,有不同的选择。

互联网应用Java合适

互联网应用首要考量的是并发量,达不到压测目标就会变成个笑话。

因此要从硬件架构、软件架构开始仔细设计,离不开云、微服务、集群、缓存、限流、熔断、降级、监控、分布式和响应式等这些概念。要从头搭建着实太费劲,很明显你会想要站在巨人的肩膀上!所以看看这个世界上谁最牛、最有经验,除了国内外这些互联网巨头,你还能相信谁?

在互联网应用领域:

  1. 微服务架构跟语言扯不上太多关系,Java和.Net均可;

  2. 基础软件方面,从成本上说Linux/MySQL完胜,虽然.Net Core也跨平台,但是缺少成熟案例,选择Java更保险,除非你想吃螃蟹;

  3. 缓存离不开Redis、Memcache这些第三方软件,相对来说Java的集成程序库更多;

  4. 熔断、降级、监控和分布式应用等,选择Spring框架更容易做到,Java更经济;

  5. 应用框架方面Spring Cloud不比.Net Core差,Azure算后来者,Java更适合互联网应用场景。

综上几点,选Java。

企业级应用C#合适

企业级应用部署在企业内部独立的服务器或PC上,不论是Web还是桌面型的,大多数情况下都不要求有非常大的并发量。企业的桌面端操作系统Windows还是占据主导地位,至今为止Java开发的桌面端应用非常少见。

桌面型应用,选择C#。

如果是Web型的应用,其实两者区别不大。从项目成本方面考虑,.Net比Java会少一些,程序员工资摆在那。

工业级应用C#合适

这里说的工业级应用是指工业场景下自动控制系统,对可靠性要求较高,通常需要与各种硬件和PLC通讯。例如WCS、MES、DCS等。由于这些系统的上位机大多是Windows操作系统,实现这些通讯协议的开源软件C#比Java的多。

仅此,选择C#。

总结

总结一下,互联网应用选Java企业和工业级应用选C#企业级Web应用看你愿意了

发布于: 6 小时前 阅读数: 3
用户头像

阿喜伯

关注

互联网+工业4.0 2020.04.08 加入

还未添加个人简介

评论

发布
暂无评论
话说 Java vs C#