【问题标题】:Generic Types, compiler and dynamic languages泛型类型、编译器和动态语言
【发布时间】:2013-06-20 23:54:17
【问题描述】:

在公开招标中有以下声明:

“在面向对象编程中使用泛型类型有助于在编译时进行类型检查。”

这是真的还是假的? 我认为这是错误的,因为类型检查编译器没有改进,这与面向对象无关,而是与语言类型(弱类型或强类型)有关。 有人请帮我解释为什么这个说法是错误的。

【问题讨论】:

    标签: language-design typing dynamic-typing static-typing


    【解决方案1】:

    这句话是真的。对于泛型类型,您可以在实例化对象时指定类型,并且可以在编译时检查其使用情况。如果没有类的类型参数,就无法检查。

    【讨论】:

    • 但在动态语言中,不存在编译器而是解释器,并且在使用泛型类型时是否具有相同的优势?以及泛型类型的验证帮助/辅助编译器??对我来说,优势在于语义级别,编程和重用方面的优势,但不在于编译器。您对此有何看法?
    • 在像 Ruby 这样的动态解释语言中,在运行时以更高的成本进行等效检查。您可以编写适用于许多不同类型的方法,并在运行时决定调用哪一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 2016-11-19
    • 2016-09-26
    • 1970-01-01
    相关资源
    最近更新 更多