jdk7动态语言支持,java是到底是不是动态语言?

最近看objectc,它是动态语言,http://en.wikipedia.org/wiki/Objective-C#Dynamic_typing

 

又这篇文章看到jdk7中jvm对动态语言的支持http://www.oracle.com/technetwork/issue-archive/2010/10-may/o30java-099612.html

 

中文翻译

http://developer.51cto.com/art/200907/139414.htm

 

这篇文章明确指出java是静态语言(编译时类型检查),但是jdk7支持了JSR292,所以jvm支持动态语言。以前的jruby和jpython实现在jvm上都比较吃力,现在由于JSR292就方便多了。

 

但是动态语言的定义我还比较模糊,像javascript通过eval可以执行代码,类型可以运行时定义,这个无可厚非是动态类型语言。然而object c的动态从文档上看主要是运行时决定对象类型(消息调用机制),并不能运行时定义类型吧。但它就是动态语言(运行时类型检查)。

 

总之java是静态语言。


Total views.

© 2013 - 2018. All rights reserved.

Powered by Hydejack v6.6.1