7から持ち越しとなっていたラムダ式であろう。これによりこれまで匿名クラスを用いていた記述を大幅に簡略化することが可能となる。そのほかにも、インタフェースへのデフォルト実装やstaticメソッド定義が可能となったり、新たな日付処理APIの導入や、型に対するアノテーションといった新機能が追加されている。新機能は多岐にわたるため、詳細は各種解説を参照されたし(@ITの解説、マイナビの解説)。9に延期となっている。8.0がリリースされている。他のIDEについては、IntelliJが対応済み、Eclipseが6月の次期リリースで正式サポート予定など、順次対応される見込みである。11リリース、リリースサイクル変更後初のLTS版この議論は賞味期限が切れたので、アーカイブ化されています。新たにコメントを付けることはできません。8」をリリースしています。現在、「Java8」では『外貨ネクストネオ』のリッチアプリ版が起動しないこと、Webブラウザ版のチャートが表示されないことを確認しておりますので、アップデートをしないようお願いいたします。クリティカルなバグが出て、アップデート必須って時にも同じようなアナウンスしてたんですよ。Cowardブラウザ版はさておき、リッチアプリ版はjre同梱しておけばよかったんじゃないかね。(確認してないので既にあるのかもしれないが。java製ツールを入れるたびにjreがどんどん増えていき、定期スキャンの時間が跳ね上がるのは困りものではあるが。Cowardそう、オレも思った。Abstractと比べて何が違うと言うか、どういうメリットがあって、どう使い分ければいいんだと。ラムダ式使う時はInterfaceじゃないとダメということか?というか、ラムダ式もいちいち別でInterfaceの定義を書くのが面倒なんだけど。単純にメソッドをオブジェクトとして扱えるようにして欲しかった。他の言語で言うクロージャとか、Ojbective-Cのブロックのように。Coward激しく同意します。それ思ってるの、私だけじゃなかったんだ......良かった。実際問題、抽象クラスとどう使い分けるべきなんだろうね?Javaに詳しい人の回答求む。CowardScalaのtraitの影響でしょ。rubyのmix-inとか。抽象クラスとの使い分けは今までと変わらないでしょ。デフォルト実装に関しては、実装するクラスへの影響を考えて、より注意が必要になるだろうけど。私の感覚ではクラスとI/Fは意味的に違うのでメソッドをもったからクラスでいいじゃないかという感覚はないなぁ。クラスは関連性があるがI/Fは関連性はない(操作方法が同じだというだけ)。UNIXはすべてをファイルのように扱えるようにしている(インターフェース)が、デバイスやプロセスは結局のところファイルではない。デバイスやプロセスの親クラスとしてファイルを据えたくない。(#2566717)最近ではJAVAといえば、セキュリティーホールのひとつぐらいに思うようになってしまいました。日記ほんとですよねー、セキュアでマルチプラットフォームだったはずなのに。CowardWindowsXP終了に伴い、Windows7のPCに電子入札システムをインストールしていたんですが未だに特定バージョン決め打ちなんですよね。7.0update15だけなのは7.0だからまだ良いとして(良いのか?)、他には6.0update24だけというのもありました。Coward昨日、今日同じ作業してました。同じ自治体で、工事が7.0update15、調達が7.0update17とか、どうしろと。Coward両方入れてPATHを変更すればいいのでは。Cowardセキュリティホールを塞ぐためか知らないですが、突然今まで動いていたものが起動さえしなくなりました。調べてみると、署名がないものが起動できないように仕様変更されたそうです。例外リストというものがあることがわかったのですが、どのファイルにあるのか、どう書き足せばよいのか調べるだけで半日潰れて仕事になりませんでした。以前からプロキシを正しく認識できないとかいろいろ問題があり、javaで動くものをできるだけ敬遠してきたのですが、どうしても使わなくてはいけない場合があるので困っています。これを見ているメーカーの皆さん、お願いですからjavaは使わないで、別の方法を検討してください。Coward署名されたJavaアプレットなりソフトを配布できないようなメーカは確かにヤバイ。Cowardそれが、あのCISCOなんですよ。CowardJava(Appletが)ダメなら、ActiveXがあるじゃないか。いや、ほんと勘弁してwせめて、WebStartかClickOnceで。(#2566702)Androidでもラムダ式使いたい。あのネストした匿名クラスを書くのがすごくだるい。[xamarin.com]などC#でクロスプラットフォーム開発ができる製品もありますね。Cowardまあ、しょうがない。型システムを根本から変えないとダメだかんね。Java2.0になるまで。Cowardてっきり、動画のStreamかと思ってました。名前をもうちょっとどうにかして欲しかった。Storeが扱いやすくなりそうですね。相当する機能がずっとなかったり。Coward機能搭載の遅さ(これは思想的な理由が大きいと思う)もそうですが、それ以上に新バージョンを業務で使えるようになるまでに恐ろしく時間がかかる。Javaを採用しているシステムの特性を考えると安易なバージョンアップが避けられがちになるのは仕方のない部分もあるのですが。昨年、1.4で新規開発というプロジェクトをみたときは流石に戦慄しました。件のprintf相当の機能は1.5からあったと思います。リリースはもう10年近く前です。[oracle.com]すらも去年には終了してるはずなのに・・・。Oracleの場合、それでもサポート費用さえ積めば引き続き個別サポートが受けられると聞いたことはありますが。年々値上がりしていくとか。(#2567047)大手は自前のVMやコンパイラを持ってたりするので、意外にもなんとかなってたりもします。このプロジェクトがそれに該当してるのか否かはしりませんが。Javaに限らず、世間はMS製品以外のサポートライフサイクルには実に無頓着ですね。新規開発は流石に酷すぎだと思いますが、1.4で現役稼動中のシステムなんてゴロゴロしてます。それでいて「MSはサポート期間が短い」とか言い出す人が少なくない。(自分がサポート終了に気付いてない製品は永遠にサポートされてると思ってる)MS製品以外も、サポート終了がちゃんとユーザーに伝わるといいんですが。(#2567015)C#erですが、Javaの良い所がわっぱりわからんです......。今までに出てるコメントの様な印象が非常に強い。(Monoとかあるし)さらに個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。私の環境では、eclipseを一度起動したら、二度と起動しなくなりました。一部の環境設定ファイルを削除したらいけましたが、毎回それを強いるってどんなマゾ向けですか?ちなみに、Pleiades+ADKで発生しました。余りにも苛々して投げたので、バージョンは覚えてません。4系列だったかな......。サーブレットとしても、Tomcatは面倒な設定だらけで開発を始めようとするだけでも一手間。同僚は「Javaは要件に合わせて開発環境を整備するだけで1日かかる」と言っていました。その同僚の腕前を詳細には知らないので、それが一般的かは知りませんが、実際自分がやってみてもとてもとても面倒でした。プログラムが好きなんであって、環境設定が好きなわけじゃないんです。Studio+C#、ラムダ式とかLINQの快適さに慣れるとどうもね......。今回ラムダ式が実装された訳ですが、伝え聞く話を聞く限りでは、Javaの案件で最新バージョン使わせてくれるのってそもそも稀っぽい感じがぷんぷんしますし。ioの新実装の名前空間がnioとか、命名の風習とかもなんだかなぁ。しむかしの文字数制限がある言語なわけでもないのに。nioと言われても、わかんないですよ、その略し方。それでも勉強せにゃあ、と思ってクラスライブラリのソース見たら、汚いこと汚いこと......。世界的企業が吐いたソースがあんなんなんか、と戦慄しました。[infoq.com]なんてのもあったなぁ......とか思い出して、完全にやる気をなくしてしまいました。個人が企業に訴訟されたらたまりません。(個人をわざわざ訴える事はなさそうだし、実装が違えばほぼ可能性はゼロとは思うのですが、余計なリスクを抱え込みたくないです)フリーランスやってるんで幅が広がるに超した事は無いんですが、必須というわけでもなく。Javaが使われてる理由がわかんないです。これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。顧客の指定、惰性、という理由以外で。eclipseを一度起動したら、二度と起動しなくなりました。いくらなんでもそれは「環境が酷い」としか言いようが。Coward>これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。>顧客の指定、惰性、という理由以外で。発注側目線としては、言語が枯れていることがJava選択の理由ですね。大規模システムなんて、一度作ったら10年単位で更新しません。>(セキュリティ弱い、さらにその上バージョン依存のソフトウェアが多くセキュリティのFixが出来ない、新バージョンへの移行が異常に遅い)変化が遅いことが利点です。一度作ったら10年更新しないことがおかしい、という意見もあるでしょう。それを変えるには日本社会は許容度が小さすぎます。Coward>発注側目線としては、言語が枯れていることがJava選択の理由ですね。Coward>これこれこういう理由でJavaの方がいいんだよ、という合理的な説明を誰かして下さると助かります。OSも考慮して安いもしくは無料だから。Netbeansいいよ。環境の苦労から解放される。個人的な所感として、eclipseは不安定、Netbeansは情報があんまりない。eclipseはJavaがクソな原因トップ3に入るぐらい酷いから使わない方が良いですよ。ちなみにJavaがクソな原因第1位がOracleで2位がJava言語仕様、3位がeclipseね。NetBeansはeclipseに比べるとまだマシだけど、微妙に機能的に足りないところがある。Ultimate一択。.NETプログラマがReSharperを必ず購入するのと同じで、まともなJavaプログラマはIntelliJを使っています。Cowardそりゃあ、最初から作る(覚える)なら、後発の言語であるC#のほうがいいでしょうね。JavaよりもC#のほうが洗練されていますし、作っていて面白い。アンダース・ヘルスバーグ。C#はWindows以外のOS(例えばLinux)で完全に動くというわけではありません。.net互換のMonoは確かにありますが、完全に互換性があるとは言えない状況です。Studioで作成したasp.netがLinuxですぐ動くというわけじゃありません。mvc4は、デフォルトのままでは動きませんでした。Coward何を使っても開発環境の整備なんて1日ぐらいかかるもんじゃねーの?最近だとeclipseとVisualStudioとXCode使ったけど、インストールしてアップデートして構成管理からソース持ってきてってやってれば、一日なんてあっという間じゃん。Cowardまあ平たく言えば、現代のCOBOLだよね。ITゼネコン御用達の言語になってるし。多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。service.閉じるスラド読み込み中...。