uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

Javaの延長線としてのGrails

もともとのJavaの基本理念として、マシン依存・OS依存なコードのみをCで書く、という役割分担の考え方があります。Grailsが訴求しているのは、その考え方(役割毎の言語分担)と似たところがあります。つまり、インプリメンテーション依存、プラットフォーム依存な部分を極力業務specficコードから除去分離しよう、ということです。結局のところ、DIも、LLも、CoCもAOPもORMも、このための実現技術とみることができます。Grailsがこれらすべての結集であることが、Grailsを単なるWebアプリフレームワークではなく、特筆すべき重要な技術だと位置づけるべき理由です。というようなことを山田さんやみなさんが考えられているのかなーとここしばらくつらつらGrailsをいじっていて思いました。いやもちろん、「簡単な高生産性Webアプリフレームワーク」であることも、重要なことではありますが、それ以外のものもある、と。


CoCもDIもLLもAOPもORMも、それぞれ当然単独で有用な技術なのですが、「なんのために」を考えることで構図(技術の大局的な流れ)がクリアになってきます。