是否有编译*编程语言与动态,甚至可能弱输入?

我想知道是否有一种编程语言可以编译为机器码/二进制文件(不是由VM执行的字节码,当考虑打字时,完全不同),它具有动态和/或弱类型,例如:

考虑一种编译语言,其中:

  • 变量不需要声明
  • 变量可以在运行时创建
  • 函数可以返回不同类型的值
  • 问题:

  • 有这样的编程语言吗?
  • (为什么不?
  • 我认为一个动态而强大的类型化编译语言真的会感觉到,但这有可能吗?


    我相信Lisp符合这个描述。

    http://en.wikipedia.org/wiki/Common_Lisp


    Objective-C可能有一些您寻求的属性。 类可以在运行时打开和更改,并且可以将任何类型的消息发送到对象,无论它是否通常对它作出响应。 这样,你可以实现鸭子打字,就像在Ruby中一样。 类型id ,大致相当于一个void* ,可以赋予接口来指定(否则未知)类型将遵守的合约。


    C#4.0具有许多(如果不是全部)这些特征。 如果您确实需要本机机器码,则可以使用实用程序将字节码编译为机器码。

    特别是, dynamic关键字的使用允许对象及其成员在运行时动态绑定。

    查看Anders Hejlsberg的视频“The Future of C#”,以获取入门指导:

    http://channel9.msdn.com/pdc2008/TL16/

    链接地址: http://www.djcxy.com/p/72309.html

    上一篇: Is there a compiled* programming language with dynamic, maybe even weak typing?

    下一篇: Static/Dynamic vs Strong/Weak