用于静态类型的JIT语言的html嵌入式代码可能吗?

时间:2012-12-07 05:37:18

标签: ruby-on-rails jit eruby

是否有可能设计一种静态类型的JIT语言来构建像Ruby on Rails这样的Web框架,试图获得静态类型语言的速度?

html中的嵌入式Ruby(eRuby)是Ruby on Rails的一个特性,我没有看到在静态类型的JIT或编译语言中实现的明显方法。

我不熟悉Ruby on Rails实现的内部结构,但更常见的是Ruby on Rails的其他功能在静态类型的JIT或编译语言中很难实现?

1 个答案:

答案 0 :(得分:0)

不确定。它不一定能达到你想要的效果(动态类型只是使得优化变得更难的许多事情之一,你知道的“快速”语言除了静态类型之外还会做出许多权衡以实现这种性能),但这是完全可能的。事实上,它正在完成。 ASP.NET MVC已经有了很长一段时间的Razor视图引擎,它具有静态类型的模板语言。与C#/ VB.NET相比较少的限制(例如我认为你不能宣布类)是设计决策,而不是技术问题。基本上,您需要做的就是解析模板,从代码中分离(例如)HTML,并生成输出应根据模板输出的字符串的代码。

现在,Ruby on Rails特别大量使用Ruby的动态功能。虽然许多“静态类型”语言都具有可以实现类似的反射(虽然更加冗长),但其他元编程结构可以输入得很好,我怀疑你可以简单地将RoR移植到磨机静态类型语言的运行中,尤其是如果你想让最终结果在任何地方都方便。创建一个受现有框架启发的新框架可能更好。这已经完成了。一千次。每种语言。