是否有编译*编程语言与动态,甚至可能弱输入?
我想知道是否有一种编程语言可以编译为机器码/二进制文件(不是由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?