web-dev-qa-db-ja.com

Groovyはなくなりますか?

この質問は何度も尋ねられたと思います。しかし、これらの言語の将来はどうあるべきかを考えてもう一度尋ねたいと思います。

私は最初に Groovy を紹介され、本当に気に入りました。構文はよりシンプルで、Javaに非常に近いため、すばやく学習できました Grails

次に Scala があり、Webフレームワーク Lift がありました。私はまだScalaを学習していて、構文が非常に難しいと感じることがあります。

しかし、私はまだGroovyの将来はどうなるのだろうと思います。 Groovyの作者が Groovyを作成したことはなかったでしょう とScalaについて知っていたとしたら、未来はあるのでしょうか。もちろん、Groovyは長い道のりを歩んでおり、Grailsは今日多くの大企業で使用されています。

今日、GrailsとLiftを比較すると、Grailsが勝者となるでしょう。より多くの企業がそれを使用しています。しかし、これまでに述べたことすべてを踏まえると、Groovyに投資すべきかどうか知りたいと思いますか? Groovyは廃止され、Scalaより良い選択ですか?? BMWのCEOがメルセデスを運転していると言ったら、なぜ私たち全員がメルセデスも運転すべきでないのでしょうか?

(この質問が本当に広範で閉じられているかどうかは理解しています。ただし、他の人のためにオープンなWikiにしたいと思っています。)

30
Amir Raminfar

Groovyがなくなるとは思いません。Groovyは現在、自立した存在です。 GrailsフレームワークはGroovy言語を中心に構築されており、これが生き続けるための十分な理由です。 Groovyはキラーアプリケーションを入手しました。

Grailsが唯一の重要なGroovyプロジェクトだと言っているのではなく、Gradleもかなり優れています。 GORMは本当に便利です。ガントは、Antよりも優れた改良点です。

Groovy/Grailsが今ではSpringSourceの傘下にあり、両方に取り組んでいることは言うまでもありません。

BMWのCEOがメルセデスを運転していると言ったら、なぜ私たち全員もメルセデスを運転してはいけないのでしょうか。

ジェームズ・ゴズリングが選んだものを推測しますか?

23
Chiron

@The Legend of 1982のコメントと同様に:

Groovyは、Javaの動的な代替手段であり、Javaに十分に近い構文を使用して、多くの開発者が切り替えを行えるようにする(またはそれに手を出さないでください)。

  • Grailsは、Matt Raibleが大規模なJVM言語のWebフレームワークの比較チャート/分析を行うたびに、常に上位2つのフレームワークに入ります。彼はおそらく最も完全な分析です。

  • GParsは、GroovyでScalaの機能を大幅に向上させる新しい並行性lib/APIです。

速度の問題は、Groovyがinvokedynamicおよびその他のコンパイラトリックの使用方法を理解するにつれて、時間とともに改善されます。

6
Martijn Verburg

Groovyは非常にナイスであり、過小評価されている言語です(あなたが述べたように、Groovyは独自の作成者でさえ)。私としては、Javaエコシステムでの役割は、C/C++ワールドエコシステムでのLuaの役割に似ています。はい、それほど速くはありませんが、それにもかかわらずです。

グルービーが死ぬのはとても悲しいことですが、これは ロードマップ がそれほど悪くないことを示しています。

実際、Groovyは非常に素晴らしい、きちんとした表現力のある言語です。 Scalaに関しては、GroovyとScalaはちょうど異なるニッチにあると思います。

3
shabunc

GroovyやRubyの一般的な卓越性を打ち消すためではありませんが、Webトラフィックの90%以上がPHPまたはいくつかのJavaフレームワークで書かれたサイトへのトラフィックです。

「Grailsは多くの大企業で使用されています」はどこで入手したのかわかりません。これは、「フォーチュン500企業すべてがPythonを使用している」と言っているようなものですが、実際にはtrueですが、pythonビジネスにとって重要なものなら何でも。

Railsなど。Grailsを使用しないのは正しいことです。小規模なきちんとしたサイトには最適ですが、十分に拡張できません。また、大企業の多くは複雑に相互接続されたシステムを備えており、主要なWebアプリケーションを構築する際の課題は、データを提供または消費する他のすべてのシステムへの接続方法を中心に展開します。慣例によるコーディングは、この領域では機能しません。

言語の主な競合相手であるGroovyは、実際には同じ空間(JVMでのスクリプト)で動作するJPythonであり、同じ種類(自動テスト、自動ビルドなど)に使用されます。

3
James Anderson

Groovy 2.0のパフォーマンスにより、GroovyはJavaに非常に近いリーグになりました。参照 http://Java.dzone.com/articles/groovy-20-performance-compared この記事のベンチマークは非常に非常に大雑把ですが、Robert Hundtによるもの(https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf)に基づいて、Groovy 2.1の新しいベンチマークに取り組んでいます。 Google Goのパフォーマンスを他の言語と比較するために作成されました。記事を書き終えるまで2〜3週間必要ですが、これまでのところ測定値は非常に良好に見えます。 @CompileStaticおよびJDK7を使用するGroovy2.1のパフォーマンスは、Java JDK6(!)を使用した場合)とほぼ同じです。

Groovyは、ScalaよりもKotlinやCeylonと競合するようになると思います。 Scalaは(非常に興味深いものですが)より学術的な研究言語であり、GroovyやKotlinのような作業を行うための言語ではありません。単にミックスイン、拡張メソッド、真のクロージャーが欠けている場合Javaのことは、これを取得するために行う必要のある大きなステップです。Groovyの構文は、Java Kotlinと比較したセールスポイント。

2
OlliP