Abstract
Paradigm Shift有人翻成『典範轉移』,不過光看翻譯應該看不出是什麼意思。
Introduction
在OO領域,常會聽到paradigm shift這個字,簡單的說,就是這是一種革命性的改變,過去的經驗對於學習反而有害,一張白紙反而更容易學習。
歷史上出現paradigm shift並不多,但一旦出現都是歷史的轉類點。拿programmer熟悉的歷史來說,從windows based到web based是一個paradigm shift,從procedure based到object oriented也是一次paradigm shift。
windows based程式,programmer熟悉開發的方式是visual programming,messeage passing,event drivent,object oriented,但到了web based程式,變成了scripting,原來的visual programming,message passing,event driven,object oriented全都不見了,回到類似文字模式的開發方式,導致很多原來熟析windows based開發的高手根本無法接受web based這種原始的開發方式,反而是那些初學者對於web based開發很容易接受。高手們過去的經驗反而變成了學習的包袱,這就是一種paradigm shift。
從procedure based到obejct oriented也是如此,很多原本C、Pascal的高手,習慣了function decomposition的問題分析方式,到了C++這種object decomposition的分析方式反而適應不良,但初學者學C++反而容易,因為沒有包袱,直接接受OO思維,這就是一種paradigm shift。
從君主專制到民主制度也是一樣,美國沒有任何包袱,所以能實行民主制度比任何國家都早,也比任何國家成功,但歷史悠久的國家,由於實行君主專制太久,要改成民主制度總是困難重重,這也是一種paradigm shift。
Conclusion
人常說經驗很重要,對大部分狀況,經驗是有幫助的,但遇到paradigm shift時,經驗是有害的,一張白紙反而更有幫助。