打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为什么好多公司的开发语言从C#后来变成了JAVA?

为什么好多公司的开发语言从C#后来变成了JAVA?

今天这篇文章不黑也不吹,就和大家唠唠一些我的所见及所闻,如有不妥之处请各位看官见谅。

从我之前的一些博客文章看,大家也能知道之前是一个微软技术栈的程序员,也就是主要C#,.net MVC的东东,后来换了工作,算是国内的一二线的一些互联网公司,所以在技术方向和储备上都有一些调整,开发语言也慢慢跳出微软技术栈,工作中使用了其他的开源开发语言,新项目基本是开源语言,框架也使用了不少,所以就.net 和 类java一样的开源语言框架都有一定的了解,今天有时间就谈谈为什么好多公司的开发语言慢慢从C#变成了JAVA了。

架构师 and CTO

这个因素其实会占很大的比重,小的公司初始的技术框架选择都是由架构师确定的,后来就很少改变了,公司大了之后,引入CTO,CTO肯定不会就具体的框架和模块发号施令,更多的是在一个全局的角度去看公司现有的一些核心系统,比如商城系统的订单及数据中心的日志数据系统这些宏达的模块。

在公司架构来看,每一个项目都是部门级别的,最后不太可能每个公司每个部门有不同的开发语言,自设鸿沟,核心系统之间语言和通信肯定是相同相似的。

当然我们的职能部门,如OA系统,运营系统,更多的是给公司内部人员或者职能人员使用,可以使用另一种语言,因为这两套系统基本在核心系统之外,不太需要和其他系统联系起来,最简单的我们想不到公司数据平台接入OA系统有什么战略意义。

于是问题来了为什么架构师和CTO会选JAVA作为第一语言呢?

  • 其实选择.net的语言的架构师和CTO也不少。
  • 混到架构师和CTO的基本都是工作多年,而混到多年的基本大浪淘沙就剩大部分JAVA少部分C#(历史原因)。
  • 由于这部分架构师和CTO过去的经历是使用JAVA开发语言所以熟悉,这个就用了。
  • 比较有影响力公司的CTO或者架构师参加一些QCon大会,为了有面子,基本倾向于公司使用JAVA等架构,这也是我们很少能见到国内一些技术大会有人分享.net架构的,除了stackoverflow。

总结而来就是 CTO架构师过去的技术经验基本决定了公司技术的选型,在架构师CTO这个圈子,大家都在用JAVA顺势而为。

框架及生态

首先一个发展的比较好的公司或者成长经历了扩张的公司,都会衍生出好几个核心系统,而不是简单的一套三层架构搞定的。

多个系统在之后会经历SOA等服务化的分割,然后需要通信,需要事务管理,需要日志监控,需要异步处理,然后在网上一搜,发现基本每个方向的优秀解决方案都是有java的影子,或多或少会影响我们的选型,单就RPC框架来说开源生态就有好几种,并且背后的推手都是雅虎,google,facebook这样的一等一的互联网公司,但是.net背后基本也就是互联网能力不够的微软和算不上2线的stackoverflow了吧。

生态大家也都知道就是mysql+linux+tomcat 对抗 sqlserver+windows+iis,微软收费大家知道,跨平台这件事java完胜,最后发现搭建一套虚拟机集群linux是多么的顺手,一套win的虚拟机集群即伤财又伤神。

总结:框架开源语言丰富,并且好多框架背后都有facebook,google这样的巨头做推手,.net的后盾就少很多。linux在虚拟化这件事基本完胜win,高昂的授权费如果有上千台服务器的话,这将是一大比费用。

技术的激进性

就是说不同圈子社区对于新技术的敏感性,由于开源社区受众众多,一个新概念的出现,开源社区就会如雨后春笋般出现文章及概念或者框架DEMO了,微软社区除了官方的推进,其余都属于打酱油,而且微软主要精力基本在他的AZure上了。

以炒了一年多的微服务,两年多的大数据为例,我们已经将大数据用在了生产环境中,docker也在测试中,这些激进的想法和实践在.net方向上肯定很难这么快推进吧。

微服务有spring boot等概念,先不说效果怎么样,起码社区在推进,但是基本没有听过微软针对于微服务有什么新框架出来。

总结来说,不黑不吹,过去两年公司和项目的需要,自己学习了java web,spring这一套,研究了hadoop,hive的大数据框架,正在学docker,正式环境尝试前后端分离快速开发h5界面,这些尝试在之前的经历中都是没有的,可能是随着工作经验增长,能力有所提高就比较自信敢在生产环境尝试,之前也是受限于.net的系统本身业务方向原因,更多的经历耗费在了业务上,而不是处理技术问题吧。

相信微软在解决跨平台这件事,社区积累出现优秀框架,整个微软技术将会更加优秀。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
阿里架构师汇总了45个牛逼的Java技术点
进阶Java架构师必看的15本书
如何成为一名优秀的安卓开发工程师?看这份进阶指南后我茅塞顿开
什么是架构师和如何成为一个架构师
前谷歌高级Java架构师分享工作8年经验(如何成为一名架构师)
系统原理分析架构
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服