2012-08-23 135 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