前言
每当说一件事的时候,我喜欢回溯往事,这样思有所依,文有所凭,才能达到打字如尿崩,一发不可收拾的流畅度。让我们将时光回溯到08年,当时和同学们就有了学java和.net之争,当然不止这些,还有设计,测试,平面设计,网络设计之争,踏入互联网,路有千条随你选。我也不知为什么选了c#这条路,但我有些考试需要java,所以java还是有点小基础。
时光转移到18年,由于业务增长,公司需要重构系统,以支撑更强大流量,更强大稳定性。但据高层反应,.net相关架构师太少很难招,还有其他一些原因,高层决定转java体系。但想转也不是那么容易的。
思想
也许是习惯问题,有些.net人并不想转,所以学习java动力不够。从语言角度来讲,java并没有优势,但java的生态远远甩开了.net。说到大数据,我第一想起的是Hadoop,昨天又对Spark印象深刻。
生态吊打,难道我们就必须转行么?
Docker,Kubernetes基于go语言,我们就要转go么?
现在很多人工智能机器学习会为python提供原生支持,我们就要转python么?
Rabbitmq基于erlang开发,已经是队列的主要选型标准,我们就要转erlang么?
百花齐放,各有其型,才是最健康的互联网。
春秋战国,百家诸子争鸣,在史上流传了一段佳话。罢黜百家,独尊儒术之后,可还有看到类似的思想绽放么?
如果你听了博主这段话,就心安理得独守.net,那也是害了你。
从历史中寻找借鉴
历史是每一个时代发生的事,成功或失败,都有其巨大的价值。百年近代史告诉我们,落后就要挨打。当然我们平民就不吹这么大的牛逼,只从里面感悟一点一点能用的就行。历史上提出过“师夷之长技以制夷”,缩小到编程语言这个小层面来讲,就是学习其他语言生态思想的精华,来补足自身的思想不足。
王垠大神的博客具有无数不同性质的批判,嫌其他人太挫,这是他个人的思想境界。但我离他的距离有十万八千里,我就是从一个平凡人的角度来思考。
真正的跨平台
所有现成实用的中间件,并不是被语言独占的,基于AMQP协议,你可以用很多语言实现队列。我们最重要的也许不是了解erlang ,而是去了解rabbitmq的实现机制。
了解了redis的实现机制,和一些关键思想后,你也可以用很多语言实现一个类似的缓存。
我们考虑转型首先应该考虑转型的是思想,是实现的原理,其次才是语言。因为要研究思想,所以才会去了解新的语言,这是相辅相成的。
所以如果别人说转java,就不要和他们争论了,你要有自己的见解,你学java是可能为了解spring cloud的思想及应用,如何实现微服务的思想。
ES6支持了async await异步模型,是吸取了c#的思想。
.netcore的依赖注入的模式,采用当前最流行的思想,而spring框架天生就支持依赖注入和aop。
思想变的一样了,才有了赶超的机会。
譬如中国四十年经济改革开放,也是思想的巨变,虽然改革结果有人哭有人笑。
所以真正的跨平台是思想的跨平台。
社区领导者
如果.net强依赖windows平台,那无疑降低了竞争性,虽然以前的mono支持了linux,但从实际应用来看属于小众用户。"群龙无首"就描述了以前.Net社区现状,当时开源社区最大的腕算是mono团队了吧。
.NetCore开源后,迎来一个新时代,最大的好处就是支持跨平台,也支持和iis解藕了。这就有了继续强大的思想资本。
微软经过时代巨变,解放了自己的思想,社区工作者和普通个人开发者的思想受岁月流毒严重,还有很多,依旧沉浸的.net的思想体系内。
破心中神
这已经是我这三篇博文一直提的话题了,我一直在感悟思想解放。<牧神记>这本小说,也给我了很大的思想冲击。当然最大的还是现实冲击。年中,公司对善于分享的同事颁发了分享奖。这其中当然没有我。因为我之前分享的很少。此事之后,我就开始总结提炼我所学知识,在博客上分享。刚开始很差,现在渐渐写的能凑合了,不过还不够好。
破心中神第一步,选择一个方向去攻破。我为自己选了四个方向。爬虫,队列,支付中心,分布式链路追踪。现在尚不知哪个意向最终能以成品开源出来,但有方向总不至于茫然无措。
从去年开始,我陆续看了李艳鹏老师的<分布式服务原理,设计和实践>,单元测试的艺术,微服务设计。目前手里还有基本没看完。理论部分不再像之前那么茫然无措,至少不会再傻傻的被别人讲几下原理震撼住了。光看理论解决不了问题,还要结合实践求知,才能具有实用价值,目前我还在朝这个方向蹒跚起步。我已经开启了我的支付中心,队列,爬虫,分布式监控的思考时间路,从我的博文中可以反映出来。虽然都是原型,但至少已经起步了。从起步到完成,仍然是一个艰巨的任务。不要无视未知,参与进去解决它!
大牛之路
以小说届,久负盛名的三少举例,十年不断更,是一个十分困难的事情。能有此标签的,我只听过他一人。思想解放了,融合其他优质中间件思想,再配以持之以恒的实践,你就成了破了以前的心中神。善友大神的十三年mvp也是如此唯一。
思想解放,持之以恒的实践,乐于分享。这是我认为的大牛之路。
我虽然工作有年头了,但我对于这条路,才刚刚起步,路上有多少坑坑洼洼需要去填?
面向工资编程
经常看到有人说转java是面向工资编程,但很多公司高层工资更高啊,为什么不挑战自己进入更高职位?现在大前端,机器学习,算法也很吃香,为什么偏偏转了java?可见你并不是真正的面向工资编程。你只是面向.net和java两种工具编程,其实我也是。
最好的时机
.NetCore现在出来才两三年,这是出头的最好时机,太早不稳定,太晚又太成熟。这是补充.生态的最好时机。待你深挖了各大中间件核心思想后,在netcore实现你的开源,你会有很大收获。君不见开源项目有吸引力的很多人,都是微软mvp了么?
阿里以前有句话:if not me,who?if not now,when?
时光易逝,鸡血难续。如果这篇文章不能引发你的小宇宙,那算我失败。如果引发你的小宇宙,你没有实施,那就是你自己了。我同样也是这样提醒我自己的。
从此启程
2018.9.16凌晨
本篇到此结束,感谢观看。
网友评论