由优劣语言之争引起的思考

题图 From unsplash

昨天上午由阿里云中间件公众号和架构师小秘圈公众号发布的一篇文章在.net开发者中掀起了一阵巨浪,文章中提到的语言的先进与落后之争让基于.net开发者们义愤填膺,不少嫉恶如仇的开发者纷纷前往公众号去谴责作者的这种行为。

欲使其灭亡,必使其疯狂

作为高级工程师和架构师圈子里有着出色影响力的优秀公众号,在公开场合发表这种充满意识形态的争议性文字,实属罕见,我觉得应该是小编未能注意到作者在正文的某个角落夹杂着的个人观点引起的疏漏。在读者在公众号后台留言之后,编辑很快就对内容进行了修改,于是很快原文就看不到这段令人不适的文字了。

互联网时代,任何意识形态之争或语言优劣之争,都只是图一时的口舌之快。优秀的开发语言也好,开发者也好,都应该拥有一颗博大的胸怀,时刻怀揣着用技术改变生活的梦想,用心去体会开发语言的妙处。坦率而已,我觉得,没有最优秀的语言,只有最适合的语言,就像有人喜欢吃甜椒,有人喜欢吃辣椒一般,没有必要因为自己的喜好,就讽刺别人的爱好。而只要是能解决问题的语言,都可以成为是优秀的语言。也从来没有什么优秀的语言能够使大脑聪明的道理,任何运用得当的开发语言或者技术,都会让精神愉悦。Java也好,.C#也罢,都是开发者们用来解决问题的工具。平和、包容、开放的心态,跳跃敏捷的思维方式,是我们解决问题的法宝。而那些抱着狭隘技术心态、自以为是的开发者,不过徒增笑柄而已。

平台开发OR业务系统开发

在这个事情的背后,我觉得实际上反应的是某些狭隘的平台开发者(或中间件)对于业务开发者的鄙视链。随着互联网的飞速发展和工作岗位职责的进一步细分,也让平台开发者与业务开发者之间的技术体系变得截然不同。尤其是近年来PaaS市场的风起云涌,更是让平台开发者成为时代的宠儿。最近看到有人分享的蚂蚁金服面试经:[https://github.com/aylei/interview]。在这篇文字中,我们可以看到,作为平台开发者所需要掌握的技术体系,无论是go语言,或者k8s这些,都需要非常深入的了解。 而平台开发者必须深刻领悟当今时代最先进技术的发展方向和技术的技术深度,才能应对平台建设过程中所带来的挑战。而这种挑战也同样引起了IT产业技术非常深远的变革,如果说devops以前只是一群学术圈的技术专家们推出来的理念,那么到了今天,随着各种平台型公司的广泛推广,更是让这种理念得到普及。

而业务开发者的知识体系则相对不同,更侧重于将技术灵活的运用到实际产品的开发过程中。最顶尖的开发者同样是我们所尊敬的行业专家。经常可以在博客园看到一些专家的分享,讨论高级工程师的发展道路。之前看到路过秋天的分享[https://www.cnblogs.com/cyq1162/p/9073634.html],作者介绍了他招聘架构师过程中遇到的一些常见的现象,实际上值得所有高级.NET工程师关注。随着时代的变迁,优秀的开发者关注的重点,应该不仅仅只是在业务范围内,有时候对业务系统、技术的每个细节都应该了如指掌,形成一套完善的知识体系。事实上,像路过秋天这样的顶尖开发者所拥有的技术层次让我这个十年经验的开发者一阵冷汗。在过去若干年的项目开发过程中,由于太过于在于业务细节的实现,而忽略了对于技术本质的探索,导致了我的知识体系看起来广大,实际上不过是浮在水面上的薄冰,触之即碎、太阳一晒就什么都不剩下了。

从某种意义上来说,.NET开发者面临的是最差的时代。由于.NET技术更大的应用场景是业务系统的开发过程,虽然.NET技术的开发成本和开发效率相较于其他平台来说有不错的优势,在前期能够让企业开发者以最快的速度完成系统的建设,但是在互联网飞速发展的时代,由于高昂的windows授权费用和深度与windows的高度绑定等众多原因,.NET只能应用于互联网企业的非线上系统之中,鲜有胆大的企业把他应用在互联网的系统中,在加上.NET开发者梯队构成的原因,最终让大量优秀的企业纷纷选择了Java。头部玩家们的背离,跟随者们的抛弃,让.NET技术逐渐丧失了天时、地利、人和,终于与时代脱节。

.NET的未来在传统产业转型

即便如此,.NET作为一款优秀的语言体系,在面向B端的传统软件开发领域,有着广阔的市场拥趸,在传统产业的信息化系统中占比非常大的比重。例如,许多制造业巨头或者零售业巨头,其制造信息化系统或仓储物流管理系统往往会使用.NET构建。 作为旧时代IT企业的代表,微软实际上一直处于被误读的状态。微软一直以来对开源社区持有着的是非常开放的态度,如果是一个真正狭隘的企业,根本不会让金山有希望在Office这个赛道上获得一点点胜算。而微软一直以来对开发者非常的亲和,我想除了微软之外,也几乎找不到其他家公司能够把帮助文档写得像MSDN这么详细。

微软新任CEO纳德拉提出的“云为先”的战略以及.NET Core技术的诞生,我们可以看到微软放下了心理的包袱,以更加包容的心态来迎接本该属于他的成功。而当下传统产业的互联网转型,必将迎来.NET Core发展的新契机。对于.NET开发者来说,也意味着未来依然存在变数,唯有坚持不懈的学习,才能不被时代淘汰。

往期推荐:

原文发布于微信公众号 - 歪脖贰点零(growithus)

原文发表时间:2019-02-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券