為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

Spring 團隊的Josh Long自己在Twitter上做了一個調查。1625次投票,樣本量不算大,但也能說明問題。和我答案最後的那些調查圖表基本一致。

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

我們看一下Google Trends的數據:

搜索條件是這樣的:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

World Wide:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

United States:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

France:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

India:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

Canada:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

China:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

Japan:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

其他英文技術網站上的多個統計:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

再看看Stack Overflow上的問題數:

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

(含有hibernate的標籤和問題數)

為啥中國喜歡Mybatis,而老外偏愛 Hibernate!

(含有mybatis的標籤和問題數)

三觀成型沒法改:zhihu.com/question/309662829/answer/579433240

這其實是一個很嚴重的錯覺,首先,歐美的互聯網企業程序員在激進程度上是不下於國內的,新技術、偏門技術的應用小範圍的也不少。

其次,細分在java語言的系統集成和傳統行業解決方案上,國外確實普遍在使用hibernate。

但我覺得這個選擇本身是不摻雜技術優劣的,就好像因為馬車的寬度,所以現在標準的寬軌鐵路和馬路汽車的寬度是xx一樣,更多是因為慣性。

管理風格和思路的問題而已。

以我接觸的某知名外企為例(top500),至今他們還有20年前的文檔數據庫在運行。

這種事情如果是在國內,早被幹掉了,但是他們一直用到了現在。

我當時問他們的pm是什麼原因才會使用這個系統,並且不升級。

人家說估計安全級別,這個系統是0級(最高級),但是使用頻率和系統重要性都高於5,也就是一年用不了幾回這種,安排開發預算整體升級幾乎完全沒有性價比,所以就pass了。

hibernate也是,可能hibernate確實已經不滿足使用了,但是重構和升級的優先級不高,性價比不夠,那麼風控和預算上都不給過了,誰去改??

反過來講,Facebook和tt還有谷歌這些,你聽說過他們的什麼java項目,或者更新分的hibernate項目麼?

國內就是另一種風格了,我在幾年前的回答裡有過一次關於之前某個工作的吐槽,bd簽了一個80萬的合同,boss為了敏捷推進,中斷產品線2個月緊急上線,前後投入研發成本300多萬,最後以甲方的身份幹了乙方的事,系統完全沒有可複用性,這種傻缺事,在歐美公司能繞開風控和財務麼。

這種拍腦門一句話繞開風控需求和財務的工作計劃,在中日韓都是一脈相承的。(比如這次的拼多多,是他員工智商低麼?這種體系上的缺陷一定是因為管理層人治大於制度啊。)

mybatis最大的一個特徵就是,特別特別急的情況下可以拍腦門臨時改,用一些所謂“臨時解決方案”(懂的人都懂)。

hibernate如果沒有總體設計的話,哪裡有那麼隨便就能臨時改動的(臨時方案也可以用,但是沒有那麼方便)?

公司管理風格趨向於降低風險,和公司管理風格趨向於領導個人感受,導致了在管理、文化、制度上的全面差異,最終導致了技術選型的差異。



分享到:


相關文章: