私は、プラットフォームから長い間離れていた後、Java で LoB アプリケーションを開発しています (過去 8 年ほど Fortran、C、C++ の smidgin、そして最近は .Net に固執していました)。
言語であるJavaは、私が覚えているものとあまり変わっていません。私はその長所が好きで、その短所を回避することができます.プラットフォームは成長しており、互いにほとんど同じことを行うように見える無数の異なるフレームワークを決定することは別の話です. しかし、それは別の日に待つことができます-全体として、私はJavaに慣れています. しかし、ここ数週間で私は Groovy に夢中になりました。これは純粋に利己的な観点からです: JVM に対する開発をより簡潔で楽しい (そして、「グルービー」な) 命題にするという理由だけではありません。 Java(言語)よりも。
Groovy について最も印象に残っているのは、Groovy 固有の保守容易性です。私たちは皆 (願わくば!) 十分に文書化された、理解しやすいコードを書くよう努めています。しかし、私たちが使用する言語自体が私たちを打ち負かすことがあります。例: 2001 年に、EDIFACT EDI メッセージを ANSI X12 メッセージに変換するライブラリを C で作成しました。これは特に複雑なプロセスではありませんが、多少の関与はありますが、当時はコードを適切に文書化したと思っていましたが、おそらく文書化していたと思いますが、6 年後にプロジェクトを再訪したとき (そして C# に順応した後)、私は見つけました。私自身、C のボイラープレート (malloc、ポインターなど) に夢中になりすぎたため、6 年前に自分が何をしていたかを最終的に理解するまでに、3 日間の思慮深い分析が必要でした。
今夜、私は約 2000 行の Java を書きました (結局のところ、今日は休みの日です!)。私が知っている限りの方法で文書化しましたが、Java の 2000 行のうち、かなりの部分が Java ボイラー プレートです。
これが、Groovy やその他の動的言語が、保守性とその後の理解で勝利を収めているところです。Groovy を使用すると、プラットフォーム固有の実装に行き詰まることなく、目的に集中できます。それはほぼ自己文書化されていますが、完全ではありません。これは、数年後に現在のプロジェクト (Groovy にできるだけ早く移植する予定です) を再検討するとき、そしてそれを継承して良い仕事を続ける後継者にとって大きな恩恵であると考えています。
では、Groovy を使用しない理由はありますか?