PHP 就是: Quick and Dirty
Java 就是: Beauty and Slowly
Ruby 就是: Quick and Beauty
python 就是: Quick and Simple
如果PHP要實現跨請求的持有內存資源,這意味著PHP必須實現對象內存分配機制和垃圾收集器,而這將意味著PHP語言的復雜性上升,PHP內存泄露的危險大大增加,最終將得不償失。
其實我們應該跳出編程語言的簡單對比,而比較一下不同的編程模型背后的哲學:
1、Java - controll whole world模型 單進程運行,進程內部多線程調度,所有的資源都自己提供。
2、Ruby - controll process模型 多進程運行,進程內部可以持有資源,帶有GC,部分依賴外部資源實現(例如Cache)功能
3、PHP - controll request模型 多進程運行,進程不持有任何資源,不帶GC,完全依賴外部資源實現擴展功能
比較和探討一下3種不同的模型,以及他們的優勢,劣勢,長處,短處,適合做什么,不適合做什么。這才是一個有意思的話題。