突然资讯网
首页 >> 科技 >> 正文

当音乐博士开始写代码...

日期:2021-01-18 10:36:49 来源:互联网 编辑:小狐 阅读人数:616

当音乐博士开始写代码...(图1)

说到 Spring,也许现在的者们最先想到的是 Josh Long。他凭借超快的语速与现场代码能力,让很多 Java 者折服。然而Spring 的历史上最传奇的应该是其创始人:Rod Johnson!

先不说别的,光是他的学历,就足够令人震惊了,悉尼大学的音乐学博士!不要惊讶,不是计算机!

也许就是因为这样一颗理性思维与艺术细胞结合的秃顶大佬,才能造就出 Spring 这样的产物吧。

当音乐博士开始写代码...(图2)

Rod Johnson

Rod Johnson

Rod Johnson,就是上图这位头顶略微地中海的男子,但是秃脑袋瓜并没有让Rod Johnson 变得难看,好几个同学一致认为这家伙长得很酷。

按照他身边的密友所描述的,Rod Johnson 平日里看上去就像是一个典型的英国绅士,虽然他好像出生在澳大利亚,但是现在住在伦敦。说起话来也是一板一眼,有条有理。字正腔圆而略有点尖的口音,听起来特别清楚。

大多数人都认为 Rod Johnson 似乎天生缺少一样东西:幽默感。但实际上并不是这样,例如下面这段开场白:

回到 2001 年,当我写下第一行代码时,那些代码并没有放到 GitHub,没放在上面是因为 GitHub 当时不存在,所以我想 Spring 应该比 Git Hub老三四岁...

让人不禁宛然一笑,Rod Johnson 也跟其他程序员一样是个挺可爱的人吧。

当音乐博士开始写代码...(图3)

轮子理论

提到 Rod Johnson,大家还总会想起轮子理论。

所谓轮子理论,就是指:不要重复发明轮子,这是西方国家的一句谚语,原话是:Dont Reinvent the Wheel。意思是企业中任何一项工作实际上都有人做过,我们所需要做的就是找到做过这件事情的人。拿到软件领域中就是指有的项目或功能,别人已经做过,我们需要用的时候,直接拿来用即可,而不要重新制造。

Rod Johnson 想告诉我们,Spring 就是在不重复发明轮子的理念及指导原则上做起来。

于是一夜之间,随着 Spring 在全世界的风风火火,特别是吹到我们祖国的时候,也许是爱屋及乌的原因吧,轮子理论也被众多的 Spring 粉丝当成做人做事做程序的信条及原则。

Spring 与 Expert One on one J2EEDevelopment without EJB

Spring,可以说就像是 Rod Johnson 的代名词一样,大家对 Rod Johnson 印象最深的成就自然是 SpringFramework 和 Expert One on one J2EEDevelopment without EJB。

Java 从诞生之日到如今经历了风风雨雨数十年,从低谷到高峰,JAVA 之所以是世界上最受欢迎的语言之一,Spring 框架起到了非常重要的作用。

当时间还停在 21 世纪初,Java EE 的整个框架处在臃肿、低效、脱离现实的种种现状之中,将其进行轻量化成为业内的一致的呼声,此时 Rod Johnson 就像一颗璀璨的明珠一样横空出世,积极寻求探索革新之道。

Spring 框架即以 interface21 框架为基础,经过重新设计,并不断丰富其内涵。最终于 2004 年 3 月 24 日,发布了 1.0 正式版。

配合 Spring 的诞生,Rod Johnson 在同年编著了 Expert one on one J2EE design and development 一书,堪称经典,直至今日,还有不少莘莘学子将其视为 Spring 必读宝典。

当音乐博士开始写代码...(图4)

这本书甫一面世,就在 Java 世界掀起了轩然,不断改变着 Java 者程序设计和的思考方式,影响至今。Rod Johnson 根据自己多年丰富的实践经验,对 EJB 的各种笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方式替换之。

Spring1.0 版本发布之后,Spring 框架在 Java 社区里变得异常流行,当然这也要部分的归功于它不错的文档功能和详尽的参考文献,特别是对于一个开源项目而言尤其如此。

Spring 框架的一个重要设计目标就是更容易地与已有的 J2EE(现在称之为 JavaEE 或 JEE)标准和商用工具整合。

也正因此,Rod Johnson 奠定了自己的江湖地位,成为一个改变 Java 世界的级人物。

版本变迁

Spring 几乎已经成为现在每一位 Java 人员都耳熟能详的框架,不论你是一名初出茅庐的程序员还是经验丰富的老司机,都会对其有一定的了解或使用经验。在现代企业级应用架构中,Spring 技术栈几乎成为了 Java 语言的代名词。我们不妨从最初的 Spring 开始,看看它为什么能够横扫千军,一统江湖!

Spring 版本变迁:

自 2004 年 Spring1.0 发布之后,Spring 框架迅速发展,不断进化。1.0的出现彻底改变了企业级 Java 应用程序的方式。Spring 的依赖注入与式事务意味着组件之间再也不存在紧耦合,再也不用重量级的 EJB 了。

2006 年 10 月,发布 Spring 2.0 ,具有可扩展的 XML 配置功能,用于简化 XML 配置,支持 Java 5,额外的 IoC 容器扩展点,支持动态语言。更小、更简单易懂的配置文件让 Spring 本身更便于使用

2009 年 12 月,Spring 3.0 发布,具有许多重要特性,如重组模块,支持 Spring 表达式语言,基于 Java 的 bean 配置(JavaConfig)支持嵌入式数据库(如 HSQL,H2 和 Derby)模型验证/ REST 支持和对 Java EE 的支持。XML被取代,终于可以写出一个没有任何XML配置的Spring应用程序。

2013 年 12 月,Pivotal(2013 年 4月,VMware 和 EMC 通过 GE 投资创建了一家名为 Pivotal 的合资企业。所有的 Spring 应用项目都转移到了 Pivotal) 宣布发布 Spring 框架 4.0。包含了对Java 8 的全面支持,更高的第三方库依赖性(groovy 1.8+,ehcache 2.1+,hibernate 3.6+等)Java EE 7 支持,groovy DSL for bean 定义,对 websockets 的支持以及对泛型类型的支持作为注入 bean 的限定符。

2017年9月,Spring 5.0 GA版本发布,开始支持JDK 8和Java EE 7,同时兼容JDK9。全面支持Servlet 3.1,还引入了一个全新的模块Spring WebFlux用于替代老话的 spring-webmvc;对Kotlin也有了更好的支持。

而目前,最新的是5.3.2 GA版本。

Spring 在不同的领域不断发展:移动,社交 API 集成、安全、NoSQL 数据库、云计算和大数据等等都是它正在涉足和创新的领域,使其前景更加广阔,甚至已经形成与传统的 JavaEE 平台分庭抗礼之势。

当音乐博士开始写代码...(图5)

离开

江湖,有聚必有散。

2007 年,SpringSource 从基准资本获得了 A 轮融资(1000 万美元)在此期间 SpringSource 也收购了多家公司,如 Hyperic、G2One 等。

但是等到了 2009 年 8 月,SpringSource 反倒是以 4.2 亿美元被 VMWare 收购。

而在 3 年后的 2012 年 7 月,Rod Johnson 就离开了他一手创建的 Spring 团队。

或许我们可以这样想,如果当初 SpringSource 没有被 VMWare 收购,是不是 Rod Johnson 就不会离开团队,是不是现在的 Spring 会更好?答案我们自然不得而知。

Rod Johnson当年在SpringSource博客上公布这一时声称SpringSource 将成为 VMware 下属的一个部门,而他将仍是 SpringSource 的领导者。

他当时对未来的展望是:

我很兴奋。希望你也是。这将极其有趣。

与 VMware 的合作中,我们计划创建一个简单,集成,创建-运行-合一的数据中心、私有云和公共云的解决方案。这个方案将融合应用架构的知识,连带中间件以及控件,确保一个虚拟环境在部署过程中以及运行时的最大效率及弹性。这是一个 PaaS,建立在你已知的技术之上,从而最大的减少花费与复杂度。这是一个围绕开源、可移植的中间件技术的解决方案,既可以在传统数据中心的 Java EE 应用上运行,又可以在如 Amazon EC2 之类的弹性云上运行,也可以在 VMware 平台上运行。

与 VMware 的 vSphere 以及其他云技术一起,我们将在框架和基础设施上带来一个全新的体验。SpringSource 的应用框架、及软件将成为VMware 平台的眼睛和耳朵。

SpringSource的下一步工作将是这些新的:基于我们的 Build/Run/Manage(创建运行)从桌面端到云端的最佳解决方案。让百万 Java 者都能享受到云计算带来的好处。

可能他当时心里想的是作为 Java 领域的重要厂商,在加入 VMware 后,其 Java 经验将与 VMware 的虚拟化平台相结合,增强其在企业服务市场中的竞争力。另外,SpringSource 在全球大型企业中的广泛客户资源也能够让VMware受益。不管怎么说,似乎从现在的结果来看,Spring 也做得不错,没有辜负 Rod Johnson 当初的一番期望。

传奇现今

现在的 Rod Johnson 成为了一个天使投资人,同时也是多个公司的董事(例如 Neo Technology,elastic,Meteor 和 Hazelcast 等著名的开源公司)早已走上人生巅峰。同时他依然还是经常会在技术大会上做演讲,游走在世界各地,为后来者传授各种技术经验及想法。

在去年 10 月份的 SpringOne Platform 大会上,Rod Johnson 还特地做了一个关于 Spring18 岁的演讲,也许他的样子变了,但是讲起 Spring,他还是像讲起自己的孩子一般滔滔不绝,Rod Johnson 了 Spring 的起源、历史,总结了一些 Spring 框架发展过程的经验教训:

Spring 的历史起源

Lesson 1: Fairy tales can offer useful lessons 寓言故事能有用的教训

Lesson 2: Need Clear, Shared Values 需要清晰,共有的价值

Lesson 3: Know where youre going 明确方向

Lesson 4: Quality beats quantity in a team 打造团队宁缺毋滥

Lesson 5: Market and sell your technical solution 营销你的技术方案

Lesson 6: Other people have great ideas. Borrow them but acknowledge their work 认可借鉴别人的好点子

Lesson 7: The developers you want need autonomy 者需要自治

Lesson 8: Question the “enterprise” mindset 质疑“企业级”观念

Lesson 9: Some Spring Advice 一些Spring的建议

Next For Me: Atomist - A Framework for Development and Delivery 我的下一站:Atomist—一个关于与交付的框架

Lesson 10: Raising software is like raising a child 软件像养育一个孩子

你知不知道 Rod Johnson?

你有没有看过 Expert One on one J2EEDevelopment without EJB?

☞程序员求生指南:告别大小周,摆脱监视,直奔年终奖!

☞中美科技战:打了华为,为何小米再遭殃?

☞除了国内红海拼刀,移动 App 在海外能否挖到新机会?

☞MIT 知名华人教授陈刚被捕

☞放弃 PHP,选择 Node.JS 的 8 个理由!

☞肉眼难辨别的裂纹该怎么检测?

点收藏

本文相关词条概念解析:

框架

框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。

支持

支撑,撑住《淮南子·本经训》:“标枺欂栌,以相支持。”南朝梁沉约《致仕表》:“气力衰耗,不自支持。”唐张九龄《敕勃律国王书》:“又闻被贼侵寇,颇亦艰虞,能自支持,且得退散,并有杀获,朕用嘉之。”元刘祁《归潜志》卷十二:“大抵金国之政杂辽宋,非全用本国法,所以支持百年。”鲁迅《书信集·致许寿裳》:“北新书局仍每月以版税少许见付,故生活尚可支持。

网友评论