5

昨日、@headius / Charles Nutter が twitter で非常に興味深いアイデアを思いつきました。

@danny_l Gafter も同じ過ちを犯しました。Groovy がフォークである以上、フォークされた Java という意味ではありません。クロージャーを備えた「主にJava」が必要です。

または @danny_l / Danny Lagrouw による返信:

@headiusまたはBGGAプロトタイプは、Javaの将来のバージョンで「ボルトオン」になる可能性がありますか? それは役に立つかもしれません

それは本当に私も見たいものです。BGGA プロトタイプを最新の Java バージョンで動作させるために、ある種のバイトコード プリプロセッサを用意することはできませんか? つまり、scala、Groovy、および JRuby にはクロージャーがあり、有効なバイトコードを生成します!

私もそのお手伝いをしたいし、力を入れたいと思っています。どこから始めればいいのかよくわかりませんが。

(上記は、このトピックについて書いたブログ投稿の抜粋です)

他の人はこのアイデアについてどう思いますか?

4

2 に答える 2

3

「プリプロセッサ」という言葉は、私を C++ に引き戻して怖がらせます。

奇妙な二分法があります。私は JVM 上の多様な言語の庭園を称賛していますが、「ママ ベア」(別名 Java) がこのように断片化されるべきではないと考えています。しっかりした土台が必要です。

そうは言っても、私はBGGAの閉鎖に賛成です. また、言語はそのすべての機能を提供する必要があると思います。チームにクロージャー (またはジェネリック、またはスレッド (!!)) を処理できない人がいる場合、そのチームはコード レビューと静的分析を通じて自分自身を監視する必要があります。

おそらく、このような高度な機能を「許可しない」ようにコンパイル時に切り替えることも考えられますが、それでも少し厳しいようです。

「ボルトオン」のアイデアは、Java 分野で分断されたリーダーシップに実際に対処しようとしていると思います。この問題は、技術的というよりも政治的および外交的なものとして印象的です。

于 2008-10-11T14:17:54.553 に答える
1

これらをボルトオンにすることの問題は、断片化された言語を作成することです。

Java 言語は、Java を構成する最小の部分です。図書館と文化が大きな部分を占めています。クロージャーとジェネリックをボルトオンにするということは、それらをコア ライブラリで使用できないか、コア ライブラリでは、使用する SDK にボルトオンが存在する必要があることを意味します。これはせいぜいライブラリ内で断片化を引き起こし (一部の開発者はコアまで作業し、一部の開発者はボルトオンを必要とするため)、最悪の場合、それぞれが異なるセットを含む Java のマナーで Java の「ディストリビューション」を持ち始めることを意味します。ジャーと「ボルトオン」の。

これは、私が避けたい滑りやすいスロープの始まりだと思います。

于 2008-10-11T14:08:03.140 に答える