关于N家还是J家,谁家更阔绰有前途的问题,每年都要讨论一会,当然和各位兄弟在岗位上迷茫,不知位置在哪有关系,不过这个问题基本算是伪问题,这种东西放到更高的维度,真的什么都不是。
但是为什么J家好像是不错,为什么呢,依我看两个层面,
第一个是api,java的api是这样的
Java Date与Time API ( JSR 310)
Java API for RESTful Web Services (JAX-RS) 1.1 (JSR 311)
Implementing Enterprise Web Services 1.3 (JSR 109)
Java API for XML-Based Web Services (JAX-WS) 2.2 (JSR 224)
JavaServer Faces 2.0 (JSR 314)
JavaServer Pages 2.2/Expression Language 2.2 (JSR 245)
Contexts and Dependency Injection for Java (Web Beans 1.0) (JSR 299)
Dependency Injection for Java 1.0 (JSR 330)
Bean Validation 1.0 (JSR 303)
Java EE Application Deployment 1.2 (JSR 88)
J2EE Management 1.1 (JSR 77)
JCache API (JSR 107)
Java Memory Model (JSR 133)
......
.net的是这样的
.NET API for Windows Phone
.NET for Windows Store apps APIs
DirectX graphics and gaming
Azure AD Authentication Library for .NET
Azure AD Graph REST API
Azure API Management REST
Office 365 Contacts REST API
Office 365 Discovery Service API
Microsoft Dynamics AX programming reference
Microsoft Power BI Server and system technologies API
Bing Ads API
Microsoft Advertising SDKs (Ads in Apps)
......
这样就一目了然了吧,java面对的是开发社区的,只要符合规范,你怎么实现是你的事,而且等于给开发人员指了道路,通过规范的不断更新,加入社区的新想法新技术,整个态势很积极向上
.net的基本面向的是自家各类产品,你们怎么做也是被动的,这就是说如果自己写同等规模的产品,抛开语言的便利程度,要比java复杂度提升了n倍,当然n倍这个是我的臆测,可是应该是符合道理的,嗯嗯。
这个可是利益相关的,这也是为什么很多公司前期用.net后面转到java的原因,如果没有优秀的.net开发人员。你的项目失败的概率要高很多,而现在优秀的开发人员又这么难找,所以java的优势就体现出来了,社区提供了大量的框架,使开发变得简单了很多,这也是很多高手根本不用吊java也能收入颇丰的原因,第一人家单位有钱,第二人家水平高,所以为什么不用c#这种更有表现力的语言呢。
第二点是java持续在跟踪新技术。.net基本在搞微软自家产品,根本没有社区的支持,自然落伍,以大数据领域,无论hadoop,还是spark都是基于java这个生态圈的,而.net也只有从java转来的搜索引擎这个级别的框架,落后就要挨打,自然更是被人攻击的口实。
所以作为.net开发人员你要更努力,更开阔你的眼界,也要更专注,无论是业务还是技术,要在某个技术领域持续投资,不要中断。同时不要拘泥于语言,破除这些执念,要有脱离这些语言也能实现的信心和能力。
最近两年,我也经历了创业 再就业的过程,接触了很多java开发人员,很多人员的问题在于,过分依赖于框架,java等于脚本在用,基础不踏实,虽然干了三四年,可是很多基础问题都不清楚,这也是框架过于强大带来的弊病。
所以.net开发人员没必要自怨自艾,只有持续提升才是王道。
最后
不要拘泥于语言
不要拘泥于语言
不要拘泥于语言
重要的事情说三遍。