sub*_*sub 36 programming-languages static-typing typing dynamic-typing
我想知道是否有一种编程语言可编译为机器代码/二进制文件(不是字节码然后由VM执行,在考虑打字时完全不同),它具有动态和/或弱类型,例如:
想一下编译语言,其中:
问题:
我认为一种动态但强大的类型化编译语言真的能感觉到,但它有可能吗?
Objective-C可能具有您寻求的一些属性.可以在运行时打开和更改类,并且可以向对象发送任何类型的消息,无论它是否通常响应它.通过这种方式,您可以实现鸭子类型,就像在Ruby中一样.id大致相当于a 的类型void*可以赋予接口,该接口指定(否则未知)类型将遵守的合同.
C#4.0具有许多(如果不是全部)这些特征.如果您真的需要本机机器代码,可以使用实用程序将字节码编译为机器代码.
特别是,dynamic关键字的使用允许对象及其成员在运行时动态绑定.
查看Anders Hejlsberg的视频,C#的未来,获得一本入门书:
http://channel9.msdn.com/pdc2008/TL16/