最近研究动态语言,对静态语言、动态编译语言与动态语言之间的区别及优劣感到有些迷糊,自己总结下,第一次发帖有什么不对的欢迎各位高手指教:
静态语言:现在流行的JAVA、C#等语言应该都是静态的,相关语法在编写代码阶段就已经经过编译校准,如果编写代码不对,就会报错;
动态语言:
区分动态编译语法及动态语法,以C#为例,在.NET4.0中提供了动态编译相关类库,主要通过CodeDOM及Compiler类实现,具体类名不再详细描述,网上有详细描述,这种语法的主要作用为把符合CodeDOM标准的代码及文件动态编程成程序集,在编译时校准,编译完成后,可以通过反射的机制,实例化程序集中的相关类,并调用方法,缺点是加载后的程序集不能自动卸载必须通过应用程序域进行卸载。
动态语法为通过JSP、CSP等脚本语法编译程序集,但是在编译阶段并不校准,通过DLR机制在运行时进行校准。
问题是:动态编译语言与动态语言都可以实现动态效果,但是谁的性能高,谁的语法简单呢?
时间: 2024-10-09 18:27:23