spring的問題-能耗、學習曲線

正在战斗中發表於2024-06-17

說實話,在過去將近20年中,spring對於it行業的幫助還是很大的,尤其是資訊系統建設方面。

但在我看來,spring的發展也許進入了一個困局。

開始的時候,spring的確是一個還是算小巧的工具,但是現在已經變成了一個龐雜的大東西。

的確,它好像什麼都可以解決,但是變得過於繁複,龐大,效能上也有下降。

從工程的某個角度看,spring的確加快了系統的建設!但看待一個事物,總是要多個方面,不能失於片面。

運維問題

從運維角度看,用java寫的東西,天然就不是一個綠色的程式,應為java本身就很慢,再加上spring自身複雜的結構,導致一個功能可能變得

很慢,所耗費的能源還是很客觀的。

有人做了研究,具體什麼標準不太清楚,但是大體反應了一個現實:

Which Programming Languages Use the Least Electricity? - The New Stack

注:這個表格來自下文的論文中

java是c的大概兩倍,但是考慮到spring的複雜結構,我覺得至少是3倍的關係。考慮到全球有那麼多伺服器都是執行java程式,可想而知,這個能耗。

還有一個參考文獻:Ranking programming languages by energy efficiency (states.github.io)

這是在電腦科學雜誌上發表的:

現在人們還不是太關注這個方面,但是考慮到惡劣的自然環境和日益減少的能源,我們的程式是不是應該更應該考慮執行效率了?

對於現在這個世界,節能應該是一直需要關注的事情。

最近人工智慧晶片的問題,充分說明了節能的重要性。

只可惜,我們的科學家和工程師並沒有認真做好他們自己的事情,這也側面反應了為什麼我們的某些方便和外國人還是有很大的差距,因為首先

態度就是一個巨大的問題,我們太缺乏學術心態,缺乏長遠的目光。

學習角度

從學習角度出發,spring正在變得越來越複雜。此外它所推崇的方便可能讓它自己的效率進一步下降,進一步複雜。

考慮到這是一個很流行的框架,也許大家需要浪費越來越多的時間了。

當然,也有人認為,這是一個學習曲線還算不錯的框架,我也承認這個。但我認為,作為一個javaee框架,沒有必要搞得那麼複雜。

如果只是用spring開發javeee應用,我建議還是儘量只使用spring的核心部分即可,其它所謂的security等等之類的東西,也許需要慎重考慮。

如果考慮到用於開發專案,那麼也許脫離這些複雜的東西會可能更好一些。

我只能說,spring有時候的確是有點方便,但是我們需要考慮它的代價。做事情總是顧頭不顧尾,遲早會出問題,我特別討厭那樣的人。

相關文章