1 名前:デフォルトの名無しさん [2008/01/03(木) 12:29:37 ] 前スレ [Java SE 7] 次世代Javaの動向 5 [dolphin] pc11.2ch.net/test/read.cgi/tech/1178925915 [mustang/Java SE 6] 次世代Javaの動向 4 [dolphin] pc11.2ch.net/test/read.cgi/tech/1163986696/ [mustang] 次世代Javaの動向 3 [dolphin] pc8.2ch.net/test/read.cgi/tech/1157227790/ 次世代Javaの動向 2 pc8.2ch.net/test/read.cgi/tech/1147881822/ 【Java】次世代Java・J2SE1.6の動向【Mustang】 pc8.2ch.net/test/read.cgi/tech/1081698555/
620 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 10:19:34 ] >>619 > 「JavaのクロージャはこれまでのListenerの構文糖衣だぜ」ってんなら 違う。
621 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 10:32:19 ] 匿名クラスの構文糖って言いたかったんかな
622 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 11:45:56 ] クロージャのreturn周りはどうなるのかホントわかんないな。 ECMAScript風になるのか、ruby風になるのか。
623 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 11:54:42 ] C#風に、内容に expression しか書けないクロージャ(ラムダ式)と、 statements が書けるクロージャの2種類作るってのもアリだと思うんだけど。
624 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 11:54:49 ] どっちでもない
625 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 12:41:25 ] ruby風はありえないだろ 何がどこに抜けるんだかバージョンによって変わるだなんて
626 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 13:29:50 ] returnで脱出する最外レベルはメソッドであって、 クロージャやブロックではない。 詳しくは www.javac.info/closures-v05.html を読め。
627 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 04:07:09 ] Listenerを登録するという設計自体がクロージャと相性が悪いわけか なんでこんな設計にしたんだ
628 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 04:15:55 ] 他に手がないからだろ
629 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 08:58:11 ] >>627 てか他に手は無いだろ
630 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 02:03:03 ] >>627 相性が悪いって程でもないと思うが 確かBGGAでは、function typeをListenerに暗黙に変換するための 仕掛けが用意されるんじゃなかったっけか
631 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 09:54:37 ] >>630 ActionListenerみたいにメソッド一個しか無い場合は変換できるけど、 BGGAには、MouseListenerみたいにメソッドいっぱいある場合の変換の仕掛けはないよ。 named inner methodがあるFCM と比べると、BGGAとXxxListenerは相性悪い。
632 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:02:50 ] tronicek.blogspot.com/2008/03/method-references-version-2008-03-17.html method reference だそーです。 method reference に '#' 使うのが平気な感覚もってるのに accessing property に '.' 以外の演算子使うのってダメなんかねぇ…… と思ったり。
633 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:50:41 ] listOfArgumentTypesは必要かね? 継承に絡まない型推論はしない主義だから必要になるのかな。 文脈は常に強く型付けされているはずだが。
634 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:59:04 ] もう Method の静的解決 (Foo.class みたいな) でええやん。関数ポインタみたく使えりゃええんじゃろ。
635 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:00:07 ] static import で listOfArgumentTypes 書けるようにしてくれませんかね?
636 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 19:35:24 ] >>633 本来なら通常は要らんと思うけど、同名のメソッドがオーバーロードされてる 場合必要になるから、必須にしてるんじゃないかな?
637 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 19:41:39 ] それは型情報で分かるから。
638 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 20:49:02 ] >>634 ちがうよ。変数スコープが重要
639 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 21:46:47 ] >>637 contravariant な変換許すなら、型情報だけから必ず判るわけじゃないから listOfArgumentTypes 省略しないタイプも必要だと思うぞ。 省略できても良いと思うけど。
640 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:01:51 ] >>637 (System.out#println(String)).invoke("Foo") みたいな場合を考えると必要なケースもあるよってこと もちろん、必要じゃないケースもあるから省略はできてもいいと思う もちろん、上のような式を実際に書く必要はないだろうけど、文法上 書けるなら対策は必要になるわけだ
641 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 23:28:18 ] そろそろjdk1.7はリリースされるの?
642 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 00:19:26 ] 来年の始め頃じゃないか
643 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 00:27:41 ] 1.6updateN が出てから 1年ぐらいは必要じゃないかと思うが
644 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 09:45:57 ] なんだ。まだか。
645 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:34:28 ] Java7からと思ってたが、Java KernelはUpdate Nから入るのね。 JMFあたりも自動ダウンロードしてくれるならありがたい限りだけどどうだろ。
646 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 12:48:24 ] JDK7 build25 download.java.net/jdk7/changes/jdk7-b25.html download.java.net/jdk7/binaries/
647 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 06:58:13 ] クロージャーなんかよりも、入出力ストリームや Lock 使った try-finally 使いまくりのコードを きれいに書ける構文考えてくれよ。synchronized と違和感ないような (これもブロック抜けるときに モニタ開放するし)。 try(Writer out = new FileWriter("foo.txt")){ ... } catch(IOException ex){...} ↓みたいな。二重tryでもいいや。 Writer out; try{ out = new FileWriter("foo.txt")){ ... } catch(IOException ex){ ... } finally{ try{ if(out != null) out.close(); } catch(IOException ex){throw new RuntimeException(ex);} }
648 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 08:59:28 ] それは既に入る予定だが? しかもクロージャを使って。
649 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 09:30:50 ] >>647 つ control invocation syntax
650 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 14:22:07 ] 次のjava7でクロージャ以外で主要な目玉機能ってなんですか?
651 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 16:03:13 ] 俺はダグ・リー先生のjsr166y.forkjoinがどうなるかが最大の関心事 素晴らしすぎ。
652 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 16:21:19 ] 今度の JavaOne で dolphin の進捗も発表されんじゃね?
653 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:00:32 ] クロージャ以外は特にないよ
654 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:05:44 ] fork-joinはメニーコア時代の必需品になるだろうし重要だと思う。 そんな時代だと永続性ユニットとしてRDBMSだけじゃなく、 これとMemoryMappedFileあたりと組み合わせたやつとか使いそう。
655 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:35:45 ] FileじゃなくてOODBください ><;
656 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 15:47:45 ] いつまでも実現しないMVMは?
657 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:06:35 ] JDK7 build26 download.java.net/jdk7/changes/jdk7-b26.html download.java.net/jdk7/binaries/
658 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:56:54 ] LINQみたいなのは、はいらんの? quaereのような式言語っぽいやつじゃなくて言語実装として組み込まれてるのがほしい。
659 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 00:12:37 ] スクリプト関連ほんとに追加されるのかな〜
660 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 03:23:42 ] スクリプト関連は、やるだろうね。 Java一本が難しくなった今、他言語のサポートは急務 LINQみたいなのは、能力的に無理そう。
661 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 19:50:57 ] method refarenceなかなかいいんじゃないの? Integer#parseInt(String);のやつ
662 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 00:41:53 ] JavaFXをプッシュしてるけどSunは、まともなオーサリングツール作る気あるのか? どう考えても負け戦な気がするんだけど。
663 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:24:56 ] 君にはまだ早すぎる。できる開発者だけの楽しみだしw
664 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 23:38:25 ] 負け戦は確定でしょ ただでさえ中心人物がどんどんやめていってるのに
665 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 15:16:25 ] SUNは、開発者ごとJavaFXをGoogleにあげればいいと思うよ。 開発者のやる気も出るし、Android標準搭載になっていい事だらけだと思うぞ。 まあもらってくれないだろうが・・・
666 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:37:07 ] JavaFXって結局ブラウザの中でも実行できるんだっけ? デモサイトを見てもブラウザ内で実行できるのが無いんだけど単にJavaFXのブラウザプラグインがまだ無いだけ?
667 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:43:12 ] 全部javaで書いてあります。> JavaFX
668 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:47:01 ] えーとね、スクリプトをサポートする順番は、sunの発表では、rubyとかはあるけどFXは全く予定にないってところだった。 まだ熟してないんだよ。そーあせるなってw
669 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:18:10 ] 熟すときは来るのか?w
670 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 07:10:25 ] SM次第でSMのシルバーなんとkがが市場を開拓すればおのずと、 知らないだろうけど、フォトランのsun風味とかもあるし、
671 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:09:35 ] JDK7 build27 download.java.net/jdk7/changes/jdk7-b27.html download.java.net/jdk7/binaries/
672 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:02:22 ] JDK6でせっかく入れたTools APIはjava7のリッチクライアントプロファイルでは外されるんだな。 Tools APIってJDK6で入っただけでまだ標準ライブラリ化してないんだっけ?
673 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:09:04 ] >>672 リッチクライアントプロファイルからはjavacとか削るつもりなんだろ。 プロファイルによってはAWT/Swingみたいな標準ライブラリも削られる。 だからTools APIが削られる事と標準かどうかは関係ない。
674 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:47:38 ] プロファイルはJREの話だからjavacがないのは元からだ。 toolsAPIはJREのrt.jarに入ってるから削られる。
675 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:18:04 ] >>674 このスレの主だから。こいつは、なんつーか傲慢で非常にひねくれた性格なのよw 確かageたりすると、こいつ、すぐ発狂するからww
676 名前:デフォルトの名無しさん [2008/05/26(月) 14:20:08 ] >プロファイルによってはAWT/Swingみたいな標準ライブラリも削られる。 だからTools APIが削られる事と標準かどうかは関係ない。 この「だから」ってのはどうつながっていて、標準ライブラリとTools APIとどういう風に「関係がない」のかちゃんと説明できるの? 偉そうに適当な事ばかり言ってないでさ
677 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:39:12 ] AWT/Swingが削られるのはヘッドレスプロファイルだろ。サーバーサイド向け。 けどjava2Dの一部ってAWTだよな・・・。
678 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:54:49 ] headless はマジで助かる。 Ubuntuにheadlessのopenjdkが入って助かった。 でないとサーバ用途なのに、画面周りが必要だったり困りもの。
679 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:59:42 ] 1.4以降なら -Djava.awt.headless=true つけりゃヘッドレスモードになったような。
680 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 15:00:26 ] Ubuntuはもうjdk6u10入ってるのか。 新java-pluginって単にJavaFXでブラウザからドッカブルにしたかっただけだよね。 J++が吐いた糞バイトコード食ってブラウザ毎VMおとされる心配がなくなったから良いが。
681 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 15:09:12 ] >>679 ん、そうなんだけど、インストール時はdependencyの関係上画面周りの インストールが必要だったのよ。使わないのに。
682 名前:デフォルトの名無しさん [2008/05/27(火) 19:24:21 ] このスレにもageると発狂する奴がいるのか?
683 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 20:13:57 ] 研究室も貧乏臭くて真っ暗なんじゃね?図星だろうww
684 名前:デフォルトの名無しさん [2008/05/28(水) 19:35:25 ] 研究室にテロでも仕掛けるのか? 自分でまねいた種だし、いっちょやっつけちゃってよww
685 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 16:29:28 ] 研究室にテコを仕掛けてきますた。 見事に釣り合っております。
686 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:12:40 ] JDK7 build28 download.java.net/jdk7/changes/jdk7-b28.html download.java.net/jdk7/binaries/
687 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 07:16:41 ] 教えて君ですまない。 build28というのはどのくらいの進捗なの? クロージャやプロパティは使えるようになってますか?
688 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 08:00:59 ] > build28というのはどのくらいの進捗なの? まだまだ。 > クロージャやプロパティは使えるようになってますか? なってない。
689 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 08:02:52 ] >>687 クロージャ使いたかったら www.javac.info/ のプロトタイプ使うのが手っ取り早い。
690 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:06:41 ] >>688-689 ありがとう。それは残念、待ち遠しいですね。
691 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:56:19 ] 別にイラネ
692 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 16:02:03 ] 多値関数がホスィ
693 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 17:43:41 ] 俺も思う 配列で実現する シンタックスシュガーでいいんだけどな・・・ ( String a, String b ) = hoge( c); が書きたいだけなんだ・・・ Object[] hoge(String c){ } で定義する、でもいいから・・・
694 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:45:55 ] バグの温床なので諦めて下さい
695 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:59:38 ] >>694 どの辺がバグの温床?
696 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:14:57 ] javascriptでもできるようになったんだよな。 var [a, b] = (function (a, b){returen [a, a + b]})(10, 20); って・・・。
697 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 22:44:05 ] 多値とオプション値型は、 ヒープを消費しない形で多用したいので、 組み込みで入れて欲しい。
698 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 23:54:09 ] >>697 スタック使うのは、何年か前にBugDatabaseでVMの大幅な変更が必要だから却下って言われてたような。
699 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:54:28 ] VMって、戻り値に複数スタック渡せないんだっけ?
700 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 07:13:10 ] 無理
701 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 10:27:13 ] 多値だけは止めてくれ吐き気がする あれは本当にたちが悪い
702 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 10:27:38 ] VMは戻り値指定にひとつの型しか指定できないし、戻り値を返す命令もireturn lreturn freturnみたいな単一の型指定しかできないので、最低限、戻り値指定と複合return命令を追加する必要がある。
703 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 10:36:46 ] invokedynamicでも入るんだから何でも入りそう。
704 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 11:37:27 ] invokedynamicと戻り値指定変更の影響範囲の違いもわからないのか。
705 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 11:51:59 ] 実行時にはa,i,l,f,d,voidしか区別する必要ないんだから、 結構簡単なんじゃないの?
706 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 12:30:28 ] じゃあおまえがプロトタイプを作って見せてくれ
707 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 12:45:29 ] コンパイラの方も多値は基本的に代入だけだしね。
708 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 13:06:16 ] いや、だから、コンパイラが返値をObject[] に変えてくれればいいんですお。 配列の返値はOKですよね?
709 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 13:12:01 ] オプション型は、論理型への暗黙の変換か、 match case文がないとダサダサだね。 Javaには入りづらいだろうね。
710 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 13:30:19 ] >>705 戻り値の数と組み合わせの管理が必要になるだろ。
711 名前:デフォルトの名無しさん [2008/06/13(金) 13:35:23 ] 引数の参照渡しと多値関数どちらかとれといわれたらどっちがいい?
712 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 13:38:09 ] どっちもイラネ。 case節で指定できる型を増やしてくれ
713 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 13:38:22 ] >>710 それはコンパイル時に終わらないかな? *loadのスロット参照すればいいから。
714 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 13:58:13 ] > *loadのスロット参照すればいいから。 バイトコードベリファイア書き換えないと無理ね。 変更後のバイトコードベリファイアに脆弱性ないかを調べるの面倒だし。 あと、スタックフレームが連続してる保障ないはずだから、 *loadでやるのが可能なのかも疑問だったりする。
715 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 14:53:31 ] >>714 連続してなくても*loadで参照できればいいんじゃないのかな。 コンパイル時にフレームサイズもindexも決まるわけだし。 ベリファイア書き換えはちょっと面倒だね。 invokedynamicみたいな基本ポリシーy面での変更はないけれど。
716 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 15:08:26 ] > 連続してなくても*loadで参照でき るようにするためには、VMの書き換えが必要になるわけで。
717 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 15:41:36 ] というか基本的にフレーム内は連続してる前提でしょ。 もちろん実装に任されているけれど。 多値だって個数はスタティックに決まるんだからフレーム内におさめられるし。 >>714 は何が疑問なんだろ。
718 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 15:44:58 ] >>717 VM仕様で、異なるメソッドでフレームが連続していなければならないって記述してある箇所あんの?
719 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 16:01:11 ] >>718 *returnしたものが、*storeなどで参照できるってことだけだね。 多値が追加されたとしても、その辺の抽象的なVMの定義は変らないのでは。
720 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 16:02:24 ] > 3.6 Frames > A frame ceases to be current if its method invokes another method or if its method completes. > When a method is invoked, a new frame is created and becomes current when control transfers to the new method. > On method return, the current frame passes back the result of its method invocation, if any, to the previous frame. > The current frame is then discarded as the previous frame becomes the current one. あたりを読むと、モデルとしては完全に分離してるように見えるが。