Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用于静态类型JIT';有没有可能的语言?_Ruby On Rails_Jit_Eruby - Fatal编程技术网

Ruby on rails 用于静态类型JIT';有没有可能的语言?

Ruby on rails 用于静态类型JIT';有没有可能的语言?,ruby-on-rails,jit,eruby,Ruby On Rails,Jit,Eruby,有没有可能设计一种静态类型的JIT'ed语言来构建一个像rubyonrails这样的web框架,以达到静态类型语言的速度 html中的嵌入式Ruby(eRuby)是RubyonRails的一个特性,我认为用静态类型的JIT或编译语言实现Ruby的方法并不明显 我不熟悉RubyonRails的内部实现,但更一般地说,RubyonRails还有其他一些特性很难在静态类型的JIT或编译语言中实现吗 当然。它不一定能达到您想要的效果(动态类型只是使优化更加困难的众多因素之一,您所知道的“快速”语言在静态

有没有可能设计一种静态类型的JIT'ed语言来构建一个像rubyonrails这样的web框架,以达到静态类型语言的速度

html中的嵌入式Ruby(eRuby)是RubyonRails的一个特性,我认为用静态类型的JIT或编译语言实现Ruby的方法并不明显


我不熟悉RubyonRails的内部实现,但更一般地说,RubyonRails还有其他一些特性很难在静态类型的JIT或编译语言中实现吗

当然。它不一定能达到您想要的效果(动态类型只是使优化更加困难的众多因素之一,您所知道的“快速”语言在静态类型之外进行了许多权衡,以实现该性能),但这是完全可能的。事实上,这件事正在进行中。ASP.NETMVC拥有Razor视图引擎已经有相当长一段时间了,它的特点是使用静态类型化模板语言。与C#/VB.NET(例如,我认为您不能声明类)相比,有几个限制是设计决策,而不是技术问题。基本上,您所需要做的就是解析模板,将(例如)HTML与代码分离,并生成代码,输出根据模板应该输出的字符串


现在,RubyonRails正在大量使用Ruby的动态特性。虽然许多“静态类型化”语言都具有反射功能,这可能会实现类似的功能(尽管要详细得多),而其他元编程结构也可以很好地进行类型化,但我怀疑您是否可以简单地将RoR移植到普通的静态类型化语言,尤其是如果您希望最终结果尽可能方便的话。受现有框架的启发,最好创建一个新框架。这已经完成了。一千次。每种语言。

ASP.NET MVC的Razor视图引擎如何为编译语言执行嵌入html中的代码?它不能简单地将代码插入到已经编译过的二进制文件中。我对实际的实现不太清楚,但有两种选择:(1)在构建的早期输出C#(或其他任何东西),并像编译其他源文件一样编译它。(2) 生成一个单独的程序集(可能然后将其与“真实”程序集合并,或者在请求模板时在运行时动态加载)。