パスワードを忘れた? アカウント作成
10778646 story
Java

Java SE 8リリース 84

ストーリー by hylom
ついに登場 部門より
あるAnonymous Coward 曰く、

Oracleは3月19日、Java言語の新バージョンとなる「Java Platform、Standard Edition 8 (Java SE 8)」の提供を開始した(ダウンロードページslashdotSourceForge.JP Magazine)。

Java SE 8の目玉となるのは、何と言ってもJava SE 7から持ち越しとなっていたラムダ式であろう。これによりこれまで匿名クラスを用いていた記述を大幅に簡略化することが可能となる。そのほかにも、インタフェースへのデフォルト実装やstaticメソッド定義が可能となったり、新たな日付処理APIの導入や、型に対するアノテーションといった新機能が追加されている。新機能は多岐にわたるため、詳細は各種解説を参照されたし(@ITの解説マイナビの解説)。一方、当初導入が予定されていたモジュール化についてはJava SE 9に延期となっている。

また、Java SE 8に対応した統合開発環境として、OracleからNetBeans 8.0がリリースされている。他のIDEについては、IntelliJが対応済み、Eclipseが6月の次期リリースで正式サポート予定など、順次対応される見込みである。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2014年03月20日 19時33分 (#2566742)

    ………というところもあるので………じゃあ、いつまでに直しますとは言わない外為どっとコム [gaitame.com]

    3月18日公開の「Java 8」へのアップデートはお控えください

    Javaの開発元である米Oracle社では、現地時間3月18日に最新バージョン「Java 8」をリリースしています。
    現在、「Java8」では『外貨ネクストネオ』のリッチアプリ版が起動しないこと、Webブラウザ版のチャートが表示されないことを確認しておりますので、アップデートをしないようお願いいたします。

    クリティカルなバグが出て、アップデート必須って時にも同じようなアナウンスしてたんですよ。

    • by Anonymous Coward

      開発者向けプレビュー版はだいぶ前から出ていたというのに、何をさぼっていたのやら > 外為どっとコム

      • by Anonymous Coward

        テスト工数の追加が通らないから大抵リリース版が出てからになる

      • by Anonymous Coward

        ブラウザ版はさておき、リッチアプリ版はjre同梱しておけばよかったんじゃないかね。(確認してないので既にあるのかもしれないが。)

        # java製ツールを入れるたびにjreがどんどん増えていき、定期スキャンの時間が跳ね上がるのは困りものではあるが。

  • 実装を定義できたら抽象クラスと同じじゃない
    だったら最初からinterfaceなんか作らずにclassの多重継承を認めればよかった

    • by Anonymous Coward
      メ…メンバ変数持てないし…(震え声)
    • by Anonymous Coward

      よし、abstract interfaceを作ろう

      • by Anonymous Coward

        meta meta プログラミング

    • by Anonymous Coward

      そう、オレも思った。

      Abstractと比べて何が違うと言うか、どういうメリットがあって、どう使い分ければいいんだと。
      あくまでラムダ式使う時はInterfaceじゃないとダメということか?

      というか、ラムダ式もいちいち別でInterfaceの定義を書くのが面倒なんだけど。
      単純にメソッドをオブジェクトとして扱えるようにして欲しかった。
      他の言語で言うクロージャとか、Ojbective-Cのブロックのように。

    • by Anonymous Coward

      激しく同意します。
      それ思ってるの、私だけじゃなかったんだ……良かった。
      実際問題、抽象クラスとどう使い分けるべきなんだろうね?
      Javaに詳しい人の回答求む。

      • by Anonymous Coward

        Scalaのtraitの影響でしょ。あるいはrubyのmix-inとか。抽象クラスとの使い分けは今までと変わらないでしょ。
        まあデフォルト実装に関しては、実装するクラスへの影響を考えて、より注意が必要になるだろうけど。

    • by Anonymous Coward
      C++から見れば多重継承を許さない代わりにI/Fができたように思えるかもしれないけど、
      私の感覚ではクラスとI/Fは意味的に違うのでメソッドをもったからクラスでいいじゃないかという感覚はないなぁ。
      クラスは関連性があるがI/Fは関連性はない(操作方法が同じだというだけ)。

      たとえばUNIXはすべてをファイルのように扱えるようにしている(インターフェース)が、デバイスやプロセスは結局のところファイルではない。なのでデバイスやプロセスの親クラスとしてファイルを据えたくない。「is-a」の関係性でいえば「プロセス is not a ファイル」だから。
  • by Anonymous Coward on 2014年03月20日 18時55分 (#2566717)

    最近ではJAVAといえば、セキュリティーホールのひとつぐらいに思うようになってしまいました。

    • by tigers_love99 (6444) on 2014年03月21日 0時40分 (#2566919) 日記
      ほんとですよねー、セキュアでマルチプラットフォームだったはずなのに。
      O社に移ってから、さらに形骸化に拍車が(以下略)
      親コメント
    • by Anonymous Coward

      「ひとつ」でいいのかい?

    • by Anonymous Coward

      WindowsXP終了に伴い、Windows7のPCに電子入札システムをインストールしていたんですが未だに特定バージョン決め打ちなんですよね。7.0update15だけなのは7.0だからまだ良いとして(良いのか?)、他には6.0update24だけというのもありました。

      大丈夫なのかな

      • by Anonymous Coward

        昨日、今日同じ作業してました。
        同じ自治体で、工事が7.0update15、調達が7.0update17とか、どうしろと。
        (当然、調達をステ。)

        • by Anonymous Coward
          両方入れてPATHを変更すればいいのでは。
    • by Anonymous Coward

      セキュリティホールを塞ぐためか知らないですが、突然今まで動いていたものが起動さえしなくなりました。よくよく調べてみると、署名がないものが起動できないように仕様変更されたそうです。例外リストというものがあることがわかったのですが、どのファイルにあるのか、どう書き足せばよいのか調べるだけで半日潰れて仕事になりませんでした。

      以前からプロキシを正しく認識できないとかいろいろ問題があり、javaで動くものをできるだけ敬遠してきたのですが、どうしても使わなくてはいけない場合があるので困っています。これを見ているメーカーの皆さん、お願いですからjavaは使わないで、別の方法を検討してください。

      • by Anonymous Coward

        署名されたJavaアプレットなりソフトを配布できないようなメーカは確かにヤバイ。

        • by Anonymous Coward

          それが、あのCISCOなんですよ。

          • by Anonymous Coward

            Java(Appletが)ダメなら、ActiveXがあるじゃないか。
            いや、ほんと勘弁してw
            せめて、WebStartかClickOnceで。

    • by Anonymous Coward

      アップデートしたら変なソフト入れられたので
      アップデートも切ったし怖くて更新できない

    • by Anonymous Coward

      エンドユーザー的には、ライブカメラの操作に使うなにか程度

  • by Anonymous Coward on 2014年03月20日 18時34分 (#2566702)

    Androidでもラムダ式使いたい。あのネストした匿名クラスを書くのがすごくだるい。

  • by Anonymous Coward on 2014年03月20日 19時03分 (#2566721)

    やっとJavaでも気楽にリスト処理が出来るようになる

    • by Anonymous Coward

      でもリスト、コレクション処理はScalaやC#のソレのようなのが求められてたと思うんだけど、
      出てきたLambda&Streamはだいぶがっかり感が…

      • by Anonymous Coward

        まあ、しょうがない。型システムを根本から変えないとダメだかんね。
        Java2.0になるまで。アレ?

    • by Anonymous Coward

      てっきり、動画のStreamかと思ってました。
      名前をもうちょっとどうにかして欲しかった。

      Key-Value Storeが扱いやすくなりそうですね。

  • by Anonymous Coward on 2014年03月21日 6時57分 (#2566970)

    Javaって他の言語なら当たり前に使える printf に相当する機能がずっとなかったり。今はあるけど

    • by Anonymous Coward

      機能搭載の遅さ(これは思想的な理由が大きいと思う)もそうですが、
      それ以上に新バージョンを業務で使えるようになるまでに恐ろしく時間がかかる。
      Javaを採用しているシステムの特性を考えると安易なバージョンアップが避けられがちになるのは仕方のない部分もあるのですが。
      # 昨年、1.4で新規開発というプロジェクトをみたときは流石に戦慄しました。

      件のprintf相当の機能は1.5からあったと思います。リリースはもう10年近く前です。

      • 新バージョンが出るとさっさと打ち切られる公式アップデートとは論外として、1.4なんて商用のExtended Support [oracle.com]すらも去年には終了してるはずなのに・・・。
        XPのサポート終了は気にするくせに、こういうとこには無頓着なんでしょうか(汗

        # Oracleの場合、それでもサポート費用さえ積めば引き続き個別サポートが受けられると聞いたことはありますが。でも年々値上がりしていくとか。

        • 大手は自前のVMやコンパイラを持ってたりするので、意外にもなんとかなってたりもします。
          このプロジェクトがそれに該当してるのか否かはしりませんが。

          Javaに限らず、世間はMS製品以外のサポートライフサイクルには実に無頓着ですね。
          新規開発は流石に酷すぎだと思いますが、1.4で現役稼動中のシステムなんてゴロゴロしてます。
          それでいて「MSはサポート期間が短い」とか言い出す人が少なくない。
          (自分がサポート終了に気付いてない製品は永遠にサポートされてると思ってる)
          MS製品以外も、サポート終了がちゃんとユーザーに伝わるといいんですが。

          親コメント
          • by Anonymous Coward

            横道それますが
            MacOSXのサポート終了告知がどこにあるのか判らない・・・
            どこか乗ってる場所はないだろうか?

  • by Anonymous Coward on 2014年03月21日 10時23分 (#2567015)

    C#erですが、Javaの良い所がわっぱりわからんです……。
    今までに出てるコメントの様な印象が非常に強い。
    (セキュリティ弱い、さらにその上バージョン依存のソフトウェアが多くセキュリティのFixが出来ない、新バージョンへの移行が異常に遅い)
    Write once, run anymoreに至っては、.NETのがマシじゃね? ってぐらいな印象です。(Monoとかあるし)
    さらに個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。
    私の環境では、eclipseを一度起動したら、二度と起動しなくなりました。一部の環境設定ファイルを削除したらいけましたが、毎回それを強いるってどんなマゾ向けですか?
    ちなみに、Pleiades+ADKで発生しました。余りにも苛々して投げたので、バージョンは覚えてません。確か4系列だったかな……。

    サーブレットとしても、Tomcatは面倒な設定だらけで開発を始めようとするだけでも一手間。
    かつての同僚は「Javaは要件に合わせて開発環境を整備するだけで1日かかる」と言っていました。
    その同僚の腕前を詳細には知らないので、それが一般的かは知りませんが、実際自分がやってみてもとてもとても面倒でした。
    プログラムが好きなんであって、環境設定が好きなわけじゃないんです。

    一応はメジャーな言語ですし、何度も何度もJava勉強しようとしましたが、Visual Studio+C#、ラムダ式とかLINQの快適さに慣れるとどうもね……。
    今回ラムダ式が実装された訳ですが、伝え聞く話を聞く限りでは、Javaの案件で最新バージョン使わせてくれるのってそもそも稀っぽい感じがぷんぷんしますし。
    ioの新実装の名前空間がnioとか、命名の風習とかもなんだかなぁ。newioでいいじゃん、なんでそこで文字数ケチるん? って思いました。
    むかーしむかしの文字数制限がある言語なわけでもないのに。
    いきなりnioと言われても、わかんないですよ、その略し方。
    それでも勉強せにゃあ、と思ってクラスライブラリのソース見たら、汚いこと汚いこと……。世界的企業が吐いたソースがあんなんなんか、と戦慄しました。

    それでも移植したいオープンソースなライブラリとかあったので、工数を減らす為に互換API自分で組んでみたりしている最中に、そういえばAPI訴訟 [infoq.com]なんてのもあったなぁ……とか思い出して、完全にやる気をなくしてしまいました。
    個人が企業に訴訟されたらたまりません。
    (個人をわざわざ訴える事はなさそうだし、実装が違えばほぼ可能性はゼロとは思うのですが、余計なリスクを抱え込みたくないです)

    フリーランスやってるんで幅が広がるに超した事は無いんですが、必須というわけでもなく。
    正直Javaが使われてる理由がわかんないです。
    これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。
    顧客の指定、惰性、という理由以外で。

    • by Anonymous Coward

      > eclipseを一度起動したら、二度と起動しなくなりました。

      いくらなんでもそれは「環境が酷い」としか言いようが。。。

    • by Anonymous Coward

      >これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。
      >顧客の指定、惰性、という理由以外で。

      発注側目線としては、言語が枯れていることがJava選択の理由ですね。
      大規模システムなんて、一度作ったら10年単位で更新しません。

      >(セキュリティ弱い、さらにその上バージョン依存のソフトウェアが多くセキュリティのFixが出来ない、新バージョンへの移行が異常に遅い)
      変化が遅いことが利点です。

      一度作ったら10年更新しないことがおかしい、という意見もあるでしょう。
      しかし、それを変えるには日本社会は許容度が小さすぎます。

      • by Anonymous Coward

        10年というので振りかってみればmonoもプロジェクト開始からとっくに10年超えてるんだよな

        #実用になったのはいつからだ?とか「安定したサポート」は(ryとか置いておいて

      • by Anonymous Coward

        >発注側目線としては、言語が枯れていることがJava選択の理由ですね。

        知名度はあっても、(穴・bugだらけで)決して枯れた言語ではないような・・・(汗

    • by Anonymous Coward

      >これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。

      OSも考慮して安いもしくは無料だから。
      Netbeansいいよ。環境の苦労から解放される。
      まぁ私もJava嫌いだがw

    • by Anonymous Coward

      > さらに個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。
      eclipseはJavaがクソな原因トップ3に入るぐらい酷いから使わない方が良いですよ。
      # ちなみにJavaがクソな原因第1位がOracleで2位がJava言語仕様、3位がeclipseね。
      NetBeansはeclipseに比べるとまだマシだけど、微妙に機能的に足りないところがある。
      ので、Javaでプログラム書くなら今はIntelliJ IDEA Ultimate一択。
      .NETプログラマがReSharperを必ず購入するのと同じで、まともなJavaプログラマはIntelliJを使っています。

    • by Anonymous Coward

      そりゃあ、最初から作る(覚える)なら、後発の言語であるC#のほうがいいでしょうね。
      JavaよりもC#のほうが洗練されていますし、作っていて面白い。さすがアンダース・ヘルスバーグ。
      しかし、C#はWindows以外のOS(例えばLinux)で完全に動くというわけではありません。

      .net互換のMonoは確かにありますが、完全に互換性があるとは言えない状況です。
      http://mono-project.com/Compatibility [mono-project.com]

      Vsiual Studioで作成したasp.netがLinuxですぐ動くというわけじゃありません。
      少なくともasp.net mvc4は、デフォルトのままでは動きませんでした。
      (まあ、.netはそんなの考慮して作られ

    • by Anonymous Coward

      何を使っても開発環境の整備なんて1日ぐらいかかるもんじゃねーの?
      最近だとeclipseとVisualStudioとXCode使ったけど、インストールしてアップデートして構成管理からソース持ってきてってやってれば、一日なんてあっという間じゃん。

    • by Anonymous Coward

      まあ平たく言えば、現代のCOBOLだよね。ITゼネコン御用達の言語になってるし。

typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...