0

Would it be possible to design a statically typed JIT'ed language to build a web framework like Ruby on Rails, an attempt to gain the speed of a statically typed language?

Embedded Ruby (eRuby) in html is a feature of Ruby on Rails that I don't see an obvious way to implement in a statically typed JIT'ed or compiled language.

I am not familiar with the internals of the implementation of Ruby on Rails, but more generally are there other features of Ruby on Rails that would be very difficult to implement in a statically typed JIT'ed or compiled language?

4

1 に答える 1

0

もちろん。それは必ずしもあなたが望むものを達成するわけではありません(動的型付けは最適化を困難にする多くのことの1つにすぎません。あなたが知っている「高速」言語は静的型付けに加えて多くのトレードオフを行い、そのパフォーマンスを達成します)が、それは完全に可能です。実際、それは行われています。ASP.NET MVCには、静的に型指定されたテンプレート言語を備えたRazorビューエンジンがかなり前からあります。C#/ VB.NETと比較したいくつかの制限(たとえば、クラスを宣言できないと思います)は設計上の決定であり、技術的な問題ではありません。基本的に、必要なのは、テンプレートを解析し、(たとえば)HTMLをコードから分離し、テンプレートに従って出力する必要のある文字列を出力するコードを生成することだけです。

現在、RubyonRailsは特にRubyの動的機能を多用しています。多くの「静的に型付けされた」言語は、似たようなものを実現する可能性のあるリフレクションを備えており(ただし、はるかに冗長です)、他のメタプログラミング構造は問題なく型付けできますが、RoRを工場の静的に型付けされた言語の実行に単純に移植できるとは思えません。最終結果をどこでも便利なものにしたい場合。既存のフレームワークに触発された新しいフレームワークを作成する方がおそらく良いでしょう。そして、それはすでに行われています。千回。言語ごと。

于 2012-12-07T20:46:54.590 に答える