天天看點

為什麼老外都不願意用MyBatis?

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

為什麼老外都不願意用MyBatis?

我們看一下Google Trends的資料:

搜尋條件是這樣的:

為什麼老外都不願意用MyBatis?

World Wide:

為什麼老外都不願意用MyBatis?

United States:

為什麼老外都不願意用MyBatis?

France:

為什麼老外都不願意用MyBatis?

India:

為什麼老外都不願意用MyBatis?

Canada:

為什麼老外都不願意用MyBatis?

China:

為什麼老外都不願意用MyBatis?

Japan:

為什麼老外都不願意用MyBatis?

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

為什麼老外都不願意用MyBatis?

再看看Stack Overflow上的問題數:

為什麼老外都不願意用MyBatis?

(含有hibernate的标簽和問題數)

為什麼老外都不願意用MyBatis?

(含有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如果沒有總體設計的話,哪裡有那麼随便就能臨時改動的(臨時方案也可以用,但是沒有那麼友善)?

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