今天,此时此地,在我生日的前两天的凌晨,我推荐这本《Spring微服务实战》,就像多年前我在社交软件“陌陌”上将我最爱的书籍写为《How Tomcat Works》一样。
当我翻开这本书,只读了前三页之后,我就感觉到这是一本适合我的书籍,因为它的内容简直就像是我写的。它把我所有在软件工程和云计算方面杂乱、数量庞大的概念串联起来。合上这本书的时候,一个清晰而壮观的软件世界在我眼前浮现起来。
对技术体系的梳理由于内容过多,在这里就不再赘述了。我要对以下这些前辈致敬,正所谓前人栽树,后人乘凉。正是由于他们的努力,才有了今天构建在虚拟世界中的一栋栋摩天大楼。
Alan Kay,2003年图灵奖得主,面向对象思想的最早提出者。他给了我们一种在线性处理体系中构建类似现实世界的抽象思想,是软件工程的奠基者,从此软件开发从小作坊升级到了工厂。
Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides。又称Gang of Four(四人组),他们编写了在1995出版的《设计模式》一书,第一次将设计模式提升到理论高度。从此工厂了规范化的工作体系。
Booch、Rumbaugh和Jacobson。在他们的共同努力下,形成了UML0.9。从此工厂的产品设计有了规范化的表达体系。
Roy Fielding。他在2000年,自己的博士学位论文中提出REST架构。从此工厂的产品体系有了更合适的逻辑结构,而且是用细粒度的组件构建复杂产品的基础。
Mike Beedle等人。他们于2001年提出了敏捷宣言。从此工厂的工人拜托了繁重冗长的会议,干活更有效率了。
James Gosling。Java之父,Java编程语言的共同创始人之一。Java语言是面向对象思想的总结,提取出了构建软件的抽象思想。从此工厂有了电气设备。
Rod Johnson。Spring Framwork创始人。Spring是J2EE的颠覆者,成为了Java企业级开发事实上的工业标准。从此工厂有了生产线。其实这个比喻不是很准确,应该说,工厂的产品有了生产线。如果工厂的产品是一座大楼或者社区,那Spring就如同物业。我对Spring从来不吝赞美,在我心中,Spring是软件工程的集大成者,体会Spring的设计思想,就能体会到软件工程的艺术。
Google公司。2006年Google提出了“云计算”的概念。云推动了整个Web乃至所有应用的技术栈发展。从此工厂搬进了雄安新区。
此外,还有很多未提到的专家们,以及像我们这样用代码创建世界的人。
很多技术概念在提出时,并无多少关联,却在信息技术的驱动下融汇到一起,形成了一幅巨大而美丽的画卷。品读这个画卷,就像阅读一部软件工程史诗。软件的编写像一门艺术,深入思考便能体会到软件艺术之美。在文章的最后,我引用《Spring微服务实战》原书作者John Camell的话作为结尾:
“我热爱编码。这是对我的一种召唤,也是一种创造性的活动,它类似于绘画或演奏乐器。软件开发领域之外的人很难理解这一点。”