java spring干的活并不是因為java 的語言特性限制導致。
所以python應該也需要類似的東西,但是為什么沒發展起來呢?
3 回答

斯蒂芬大帝
TA貢獻1827條經驗 獲得超8個贊
我覺得可以從IoC和AOP兩個方面來看:
IoC
語言的設計目標
java是要run any where,包括咖啡壺,洗衣機,航天飛機,所以核心最初在虛擬機規范上,類庫一直是痛點,早期Sun公司解決得并不好,所以才有apache commons-xxx系列以及海量的各類jar包,附帶花樣翻新的構建工具來管理這些三方庫,用戶需要在不同的類庫里反復選擇和切換,Spring 的IoC恰好迎合了這個需求。
Python 的目標是簡化開發,被稱作可執行的偽碼,依托于成熟的C語言庫,很多是后就是對C語言庫的調用,而C語言秉承Unix傳統,只做一件事并做好,小模塊組合出強大功能,很多時候python直接調用函數解決的問題,java卻先要在用那個類庫上猶豫不決,沒辦法就把這個決定通過Spring留待運行時在調整。
開源的問題
Jdk早期并不開源,發布周期間隔很長,覺得不爽你只好自己寫一個類庫吧
Python一開始就開源,覺得核心不爽提交補丁好了
AOP
語言使用方式的不同
Java 不是腳本,要編譯打包才能運行,這是多數情況下的使用方式,后期修改要重復這個流程
也導致AOP這樣的功能對Java來說太方便了,可以動態修改程序行為,Python多數情況下是源碼運行,本來就能動態修改行為,AOP有沒有關系不大。
添加回答
舉報
0/150
提交
取消