タグ

ブックマーク / uehaj.hatenablog.com (3)

  • GroovyのクロージャとJava8のlambda式の違いについて - uehaj's blog

    この両者は、似ているようでいて、基的には別モノです。表にしてみます。 Groovyのクロージャ java8のlambda式 導入時期 2003年 2014年03月 ローカル変数へのアクセス 読み書き可能 実質的にfinal(変数そのものに対しては読み込みのみ) 実装方法 Closure型のインスタンス MethodHandle, invokeDynamic.. 型推論の根拠 Closure<T>のTで返り値、@ClosureParamsで引数 FunctionalInterface(SAM型) 記法 { 引数 -> 体 } { 体 } {-> 体 } (引数) -> { 体 } (引数) -> 式 () -> { 体 } 暗黙の動的なthis delegateにより実現 - 性能 ローカル変数をenclosingするため間接参照にするためのオーバーヘッドあり 性能上のオーバーヘ

    GroovyのクロージャとJava8のlambda式の違いについて - uehaj's blog
  • Java 7における5つ(かそこいら)の変更点確定版 - uehaj's blog

    Java 7の最終変更点が確定したとのことで、記事を翻訳してみました。 Project Coin: The Final Five (Or So) まず最初に、Project Coinへ興味深い提案をお送りいただいたみなさま、思慮深いコメントをくださった方々、そしてJavaプログラミング言語を発展せしめんと欲するまさしく活力のあるコミュニティの皆様にお礼申し上げます。 これ以上の波乱もなく、JDK7に含められることが決定した最終的なProject Coinの変更は以下の通りです。 Switch文中での文字列の使用 自動的なリソース管理 ジェネリックなインスタンス生成のための型推論の改善(ダイアモンド ※注1) 単純化された可変引数メソッドの呼び出し より良い整数型リテラルのための、オムニバス提案(多くを含んだ包括的な提案) コレクションのための言語サポート JSR292のための言語サポート

    Java 7における5つ(かそこいら)の変更点確定版 - uehaj's blog
  • scalaはGroovyと全く競合しない - uehaj's blog

    このところ思ってたのですが、ScalaとGroovyは競合しませんね。まったくしない。 適用領域に関して、GroovyのスイートスポットとScalaのスイートスポットに共通部分は、ほぼ全く全然無いと思います。 Scalaは、JVM上で動作しはしますが、Javaと完全なる別言語で、Java資産はライブラリとしてのみ使います。Scalaでのシステム開発では、Javaによる新規開発は無ければ無いほど良い開発となります。この点では、Scala者からのJavaの見方は、JRuby者から見たJavaと似ている。 Groovyは、これとは全く異なり、Groovy開発でJavaを除去はできません。GroovyはJavaの周辺ツール・ライブラリの一つに近い。Groovyが一番近いのは、あれですよ、JSPですよ。JSPとJavaの関係に近い。組み合わせて使うということです。 プログラミングにおける意識について

    scalaはGroovyと全く競合しない - uehaj's blog
    bobbyjam99
    bobbyjam99 2009/09/02
    "Scala者からのJavaの見方は、JRuby者から見たJavaと似ている。" / "JSPとJavaの関係に近い。組み合わせて使うということです。"
  • 1