2012-08-23 191 views
2

剛剛開始編程的人問我關於編程語言不同方法的優點。聲明變量類型的好處

例如,一些允許程序員省略變量聲明並使用它們(如PHP)。其他人需要聲明,但不一定要使用類型。而其他人則需要完整聲明該變量(包括其類型)。

那麼每種方法的優點是什麼?爲什麼(不)聲明變量和/或其類型更好?那些不需要類型的我相信可以爲程序員提供更高的效率。您只需要一個變量並使用它,而不用考慮它在需要時可能具有的類型。有可能你可以稍後改變它的類型。

但是還有更多嗎?

+0

我認爲這個問題屬於[程序員](http://programmers.stackexchange.com/),而不是Stack Overflow。 – davidbuzatto

回答

8

你所認識的是編程語言的核心區別。您正在描述靜態和動態類型的語言。這方面有大量的資源。 http://en.wikipedia.org/wiki/Type_system http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)

對於你所描述的內容來說還有很多。兩者都有其優點和缺點。兩者都不是更好,但每個人都可能擅長某些任務。

+6

一種語言可能需要或不需要聲明變量,有或沒有類型,_independently_靜態類型與動態類型系統。當然聲明在動態語言中相當流行,所以你通常不會在那裏找到它們,而大多數靜態語言卻愚蠢地做適當的類型推斷,但是在[Hindley-Milner類型系統](http://en.wikipedia .org/wiki/Hindley-Milner_type_inference)你原則上可以在沒有聲明的情況下完全離開,而這仍然是最純粹的靜態類型。 – leftaroundabout

+0

@leftaroundabout「當然聲明在動態語言中是相當流行的」您的意思是類型註釋是正確的?許多動態類型編程語言中都存在沒有類型註釋的變量聲明。 – sepp2k

+0

@ sepp2k我的意思是特別鍵入註釋_in_聲明。 – leftaroundabout