语言之争与读书有感
移动互联网无处不在的今天,不同的学习方式让我们受益颇多。有人喜欢通过手机阅读各类技术专家的公众号分享;有人喜欢通过逛逛不同的博客,来了解当前时下的技术;也有人喜欢通过社区的形式,跟优秀的导师们一起梳理和发展技术发展的脉络。而我依然坚持着古老的学习理念、追求纸质书籍的实质感和仪式感,通过阅读作者的精美作品的形式来获取知识。
当然,某种意义上讲,这种方式获取的知识或许是成本比较高的一种形式,因为..书越来越贵了。犹记得多少年前购买的技术书籍,约300页,大概只需20-30元,而如今,基本上都是六十元。当然,这也是因为读者越来越少,而印书的成本越来越贵的原。真正的好书,本来也值得花一点点钱去认真的拜读、认真品味其中的妙处。
过年几天时间,我在家里认真的拜读了由阿里巴巴中间件团队技术改造过程中的若干问题而整理输出的技术书籍《企业IT架构转型之道-阿里巴巴中台战略思想与架构实践》。这本书系统的介绍了阿里巴巴启动中台战略的原因及架构演变之路,以及阿里巴巴为何会使用共享服务中心、以及共享服务中心搭建的原则和技术选型、高可用和高并发等问题。众所周知,阿里巴巴的技术栈主要都是Java,而笔者是一名.NET开发者,一直以来也是从事企业级架构开发的路线,我觉得这本书,值得大家来阅读。尤其是在语言之争死灰复燃的今天,更具有学习价值。
阿里巴巴集团是国内开发者技术圈中梦想的技术殿堂,每一位阿里巴巴输出的优秀的技术人员,往往都会成为每家企业的开发者的典范,尤其是阿里巴巴输出的架构师,他们拥有丰富的高并发实战经验、具备广阔的视野和远景,更是成为IT业界最为珍贵的资源,阿里巴巴集团也输出了大量优秀的开源技术框架,这些无不令中国的开源技术社区获益颇多。可以毫不讳言的说,阿里巴巴集团对中国的开源技术社区做出的贡献几乎无可比拟。
笔者认为,微软也是同样一家类似于阿里巴巴集团的优秀的技术企业,.NET也是一种优秀的技术,在过去若干年的发展历程中,如果不是由于微软的封闭政策,倒也不至于.NET与互联网逐渐绝缘。然而随着.NET CORE的开源,意味着这种局面实际上已经有所改观。.NET Core体系之中,提供了一系列的技术组件,可以让开发者们更加方便的应用,例如,.NET Core开发的服务,同样能够运行在容器之上,也可以使用UWP或Xamarin开发跨平台应用、同样也可以用.NET Core开发基于树莓派的程序,可以使用ML.NET进行机器学习的开发。可以说,其他语言能做的,.NET 同样可以实现。
作为Java开发者,勿因为一时的所谓百分比而沾沾自喜,开发语言取得的美好成就,从来不是个人的成就,而是天时+地利+人和+偶然或必然。而作为.NET开发者,同样也无需自暴自弃,他山之石,可以攻玉的道理,大家实际上都非常清楚,作为.NET开发者,应当适当的涉猎与非本语言相关的技术资料来实现技术储备。
笔者的上一篇文章中《由优劣语言之争引起的思考》,大部分的回复都是说,语言不过是解决问题的武器,优秀的开发者,往往善于使用不同的武器来解决问题,灵活的运用不同语言的特点,可以让开发者应对技术问题时,能够无往而不利。不管是.NET开发者也好,还是Java开发者也好,都承载着的是企业飞速发展的梦想,不同的语言,实际上都是为了推动企业快速进步的动力。尤其是在当今,微服务和容器技术的广泛应用,更是让语言不再成为企业开发者的鸿沟。在企业发展过程中,所遇到的无穷无尽的业务问题,才是开发者们真正需要考虑的核心问题。
开发者应时刻保持创新精神。或许有相当一部分企业已经完成了企业级架构的建设,初步建设了较为完善的企业级信息化管理体系,这些系统的功能都已经比较稳定,或许只需要小范围的运营维护才行。然而,哪怕是百分之十的变更,也不得不让系统进行重构。如何让建设的系统能够成为宝贵的积累,而不是糟粕,让新的系统架构能够与时俱进,则往往需要开发者们具备创新意识。在企业级信息化体系中的创新者,不见得是来自于外部的创新者,而大部分往往是企业内部具有创新意识的优秀员工。尤其是掌握企业信息化系统核心业务流程和技术细节的开发者,更具有创新潜力。
除此之外,作为开发者,最重要的心态,依然是开放的心态,海纳百川、包容万物,时刻学习。