被全世界“抛弃”的软件,只有中国程序员在用,太孤独了!

每到周末,张大胖都要去龙穴寺修身养性,顺便向编程大师请教一些问题。


这一次,他拿出了一幅图。

张大胖:大师,我发现一件神奇的事情,你看看这幅图。

大师:这是什么?

张大胖:这是Google Trends画出的趋势图。

大师:哦?全世界都在用Hibernate,只有中国程序员在用MyBatis

张大胖:是啊,全世界都不用MyBatis,只有咱们在用,太孤独了!这是为什么呢?

大师:MyBatis,原来叫iBatis,这是淘宝二十年前使用的主力ORM框架。

大师顺手递给了张大胖一本书《淘宝技术这十年》。

张大胖:这又有什么关系?

大师:阿里Java领域对国内程序员的影响力巨大啊,贡献了很多开源工具,,比如Dragonwell JDK、Dubbo、Druid、fastjson等等。还有《阿里巴巴Java开发手册》这样的开发规约。

张大胖:那又如何?

大师:阿里的选择可能会影响到Java社区啊,你想想,一个人从阿里公司,加入了你们公司,要做技术选型,你说他会选自己不熟悉的Hibernate还是玩得滚瓜烂熟的MyBatis?

张大胖:嗯,很可能是MyBatis。

大师:这就对了。

张大胖转念一想:不对啊,国内那么多公司,不会都受阿里的影响吧,他们总会根据自己的项目特点来选型吧?

大师:好,你提到了项目特点,你说说中国的项目特点是什么?

张大胖:短平快,CRUD比较多,面向数据库表进行编程,还有就是项目周期短,要得急,上午说需求,恨不得下午就上线,加班非常严重。

大师:那MyBatis的特点是什么?

张大胖:简单易学,上手快,非常灵活,可以自己写SQL,手工优化方便。

大师:你看,MyBatis是不是很适合国内的项目?面向表编程,方便实现事务脚本。

张大胖:事务脚本?

大师:我之前给你讲过,忘了?

大师又给张大胖递过一本书《企业应用架构模式


张大胖:那国外为啥用Hibernate? 不用这么灵活的MyBatis?

大师:国外的开发环境比较好,流程规范更注重质量,有充足的时间设计和实现一个项目,并且长期去维护,如果业务逻辑复杂,使用领域模型比较好,例如DDD

张大胖:DDD我知道,领域驱动开发。

大师:既然领域模型都有了,用Hibernate根本不用关心底层存储模型,很自然就选它了。

张大胖:有点道理。

大师:再说了,国外才多少人啊,互联网用户也少,你开发一个应用,主要关注业务就行,不用那么费劲地去进行SQL调优,用Hibernate就可以了。

张大胖:可是国外很多互联网应用是面向全球的,用户数也很多啊。

大师:面向全球的应用只有巨头才能搞,国外大部分应用用户数很少的。

张大胖:所以,大师的意思是,国外都用Hibernate,中国用MyBatis,那是市场驱动的结果?

大师:对啊,不然呢?

张大胖掏出另外一幅图:

张大胖:大师您看,除了中国之外,MyBatis在日本韩国香港台湾都是主流,东亚的程序员都很喜欢MyBatis,难道他们的项目特点和我们一样?也是短平快,996?这作何解释?

大师:这个....

张大胖:您的理论好像不太对啊......

大师:你走吧,为师要休息了!