Dynamic typing的一種哲學

我在意的不是這個物件的型別,而是我能對這個物件做什麼。
這是最常見的動態型別語言中的設計思維,也是最近很流行的各種dynamic typing的語言很重要的觀念。

最有名的duck typing:
If it walks like a duck and talks like a duck, it may as well be a duck.
我有好一陣子很不喜歡動態型別的語言,大概因為我第一個接觸的語言是C,有嚴格且複雜又容易出錯的型別問題,所以寫程式把每個物件的型別宣告的清清楚楚,無論是早期的Java或C#,是我比較喜歡的語言。

但是受Ruby, Python甚至是突然找到第二春的JavaScript影響,Java和C#都紛紛引進dynamic typing的機制,並且很多強者都推薦,如果是local variable,盡量用dynamic typing,可以加快開發速度,並且把型別的轉換丟到runtime時讓平台本身決定,省去很多麻煩的型別轉換問題,和可能會轉換失敗的exception。

有道理。

留言

這個網誌中的熱門文章

使用Mac的Preview來合併兩張圖片

Mac OS X 10.6.3 上的黑體-繁

關於 Kernel-Power 的 Error on Windows 7