動的言語(groovy)を業務アプリで使うか。

検証前の何となくの仮説。

 

結論:大規模システムでは、動的言語でなくても、問題ない。(ノウハウが蓄積していれば別ね)

 

理由:

動的言語は、モジュール(クラス、メソッド)をある程度細かい粒度にした上でいい感じの単体テスト書かないと、後々デバッグが大変。それって大規模では厳しい。。。

 

動的言語のメリット、拡張性、コード行数の少なさなどは、フレームワークの拡張などである程度対応できる。

 

・逆にフレームワークをそれなりに作っておけば、静的言語の方が、制約を強制しやすいっていうのもあるかな。上2つに比べれば弱い理由。

 

だから、grailsに経験ないチームが無理にgrailsなんかを導入するメリットってあまりないなーと。ただ、grailsを標準機能だけで、殆ど作れるマスタメンテアプリに利用する、とかはあるかなあ。

 

そうなると、Scala使えって話になるが。。。最近のJavaはそこそこいけてると思うよ。

ScalaDSLフレームワークを作るのが最適と思う。

 

テストや周辺ツールは、Javaで開発する場合もgroovy使うとかは真剣に検討すべきだと思う。