被全世界「拋棄」的軟體,只有中國程序員在用,太孤獨了!

每到周末,張大胖都要去龍穴寺修身養性,順便向編程大師請教一些問題。


這一次,他拿出了一幅圖。

張大胖:大師,我發現一件神奇的事情,你看看這幅圖。

大師:這是什麼?

張大胖:這是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?這作何解釋?

大師:這個....

張大胖:您的理論好像不太對啊......

大師:你走吧,為師要休息了!