1 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 10:38:16 ] 前スレ [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/ 2006年12月にMustang Java SE 6がリリース予定 Mustangの掲げる主な目標は以下の点にある。 * 互換性と安定性および品質の向上 * Easy of Developmentの実現 * WebサービスおよびXMLサポート機能の拡張 * リソース管理や診断機能の強化 * デスクトップ環境の強化 Java SE 6 じゃじゃ馬ならし www.javainthebox.net/laboratory/JavaSE6/
45 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 00:03:05 ] >>42 いや、generics は covariant じゃないから、型安全が保持されてるって書いてあったような。 > 配列とGenericsとの併用は避けるべきだともいえそうだね。 配列と Generics は相性も悪いしね。 >>29 みたいのができないし。
46 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 00:10:13 ] >>43 > そんなとき、B[]はA[]を継承できるかっていうと それって、どーゆー時に必要になる?
47 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 00:35:27 ] 例えばSortedSetを継承してTreeSetを作りたい、 みたいなときじゃないかな。 結局配列型を継承せず 配列型を集約するわけだが
48 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 00:42:00 ] >例えばSortedSetを継承してTreeSetを作りたい Sorted配列を継承してTree配列作る? 配列に対して、そーゆー発想は無かったなぁ。
49 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 02:25:17 ] そして配列に失望するのであった。 配列は非オブジェクト指向である。
50 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 02:29:47 ] 構文糖衣を許して、[]=っていうメソッドを定義できるようにするしかない。
51 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 03:09:59 ] >>48 普通はしない ってか、Tree配列ってなんだよ
52 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 03:35:37 ] >>45 でも配列使うAPIも結構多いんだよね。 何しろGenericsができるまでは要素の型を指定できたの配列だけだし。
53 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 09:12:57 ] Number[] nums = new Double[2]; nums[0] = new Double(1.0); //OK //nums[1] = new Integer(1000); //ArrayStoreException Double[] dd = (Double[])nums;//OK Number[] num2 = new Number[2]; num2[0] = new Double(1.0); //OK num2[1] = new Integer(1000); //OK num2[1] = new Double(0.01); //OK Double[] ddd = (Double[])num2;//ClassCastException
54 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 09:47:30 ] >>39 それで「型安全が完全に保証されていない」ってんなら、極端な話すれば、 List<String> l = new ArrayList<String>(); Vector<String> v = (Vector<String>)l; は、コンパイルが通るから、 「参照型の変数は型安全が完全に保証されていない」 とかいう変な話になっちゃうような気もする。
55 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 12:42:16 ] >>54 それはキャストしてるだけでしょ。 型安全ってのはキャストなしでコンパイルが通ったら 実行時にも型に関する例外が出ないことだよ。
56 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 13:12:16 ] >>54 それはキャストが型安全じゃない事を示しただけ。 そりゃ、キャストは型安全じゃないわな。
57 名前:デフォルトの名無しさん [2006/11/25(土) 14:32:17 ] ArrayListのコードの一部だけど何か奇怪だね。 private transient E[] elementData;(92行) this.elementData = (E[])new Object[initialCapacity];(113行)
58 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 15:12:10 ] そりゃ、erasureだからnew E[initialCapacity];はできんでしょ。
59 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 15:23:13 ] 配列は変な仕様だが、 配列がないとCollectionFrameworkもつくれないわけか・・・
60 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 15:28:51 ] >>59 配列が covariant じゃなかったら 1.4 で Collection#toArray(Object[]) の 使い勝手が滅茶苦茶悪くなるし。極端に変な仕様だとも思わんが。
61 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 19:03:57 ] >>60 まあその辺はトレードオフだわな 配列がcovariantなおかげで便利な部分があるのも確かだし 一方で型安全では無いとか配列の要素への代入時にチェックが入って遅くなる(可能性がある) とか、covariantなために発生する問題もある 型安全かつ利便性をそれなりに保つためには、Java Genericsが採用したワイルドカードの ような機能がJVMレベルであれば良かったんだろうけど、今更言っても後の祭りだしね
62 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 21:01:45 ] >>59 っJNI
63 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 21:46:16 ] >59 つcons
64 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 23:09:16 ] ところで covariantの意味はなんたるか 統計学用語で varianseが分散 covarianseが共分散 ってのはわかるんだが
65 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 23:09:49 ] スペルミスだ variance covariance の間違い
66 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 23:11:35 ] おっとよく見ると www2.alc.co.jp/ejr/index.php?word_in=covariant&word_in2=%82%A9%82%AB%82%AD%82%AF%82%B1&word_in3=PVawEWi72JXCKoa0Je # covariant 【形】 《数学》共変{きょうへん}の # covariant components 共変成分{きょうへん せいぶん} # covariant derivative 《数学》共変微分{きょうへん びぶん}、共変導関数{きょうへん どうかんすう} # covariant differential 共変微分{きょうへん びぶん} # covariant differentiation 《数学》共変微分{きょうへん びぶん} # covariant equation 共変方程式{きょうへん ほうていしき} # covariant functor 共変関手{きょうへん かんしゅ} # covariant gage 共変{きょうへん}ゲージ
67 名前:デフォルトの名無しさん mailto:sage [2006/11/25(土) 23:13:54 ] ベクトル解析は三次元までしかしらないので covariantとかtensor(テンソル)とかいわれても わからん。 n次元空間とかn次元超平面とかクォータニンとか全然ピンと来ない
68 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 00:58:36 ] >>64 プログラミング言語関係の用語のcovariance・contravariance は、共変・反変と訳することが多い。varianceの訳語は 聞いたことが無いので、よくわからない で、covarianceの意味だがここで言われてる文脈では ある型AとBとパラメータ型Tについて、 A <: B => T<A> <: T<B> ( A <: B は AがBのサブタイプであるという意味) が成立するとき、Tはcovariantであると言う。 で、Javaの配列に関して考えてみると A <: B => A[] <: B[] がJava言語仕様で決まっているからJavaの配列はcovariantなわけだ 一方、Java Genericsでは上記の命題が成立しないのでJava Genericsの Generic型はcovriantでは無いというわけ
69 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 03:16:26 ] お前ら、何でJava使ってるんだ。 もういいから、違う言語使えよ。
70 名前:64 じゃないが mailto:sage [2006/11/26(日) 03:19:04 ] >>68 なるほどーすげぇよく分かったよ。サンクスコ
71 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 10:21:31 ] A <: B => T<A> <: T<B> ( A <: B は AがBのサブタイプであるという意味) この行を読もうとして変態言語のパーサの気分がよくわかった。 等幅フォントにしたら読みやすくなった。
72 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 12:49:03 ] >>69 じゃ、オマエのおすすめの言語あげてみそ
73 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 13:08:53 ] >>69 じゃないけど、MathematicaだとJ/Linkや.NET/Linkで Javaや.NETと連携できるみたいだね。 面倒な計算はMathematicaのエンジンにやらせて、 結果だけJavaで表示って方法じゃダメか? Mathematicaしか調べてないけど、他の製品にもこういうのあるんじゃない?
74 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 01:52:43 ] それが普通の人の発想だと思おうよ
75 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 02:20:17 ] >>73 ドトネトとの連携が>>69 とどういう繋がりがあるんだかわからないが 数値計算のためにわざわざドトネトを使う価値ってものが どういうものか説明しないことには意図が伝わらないな
76 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 04:31:53 ] >>75 いや、>>73 の論旨を読めてないでしょう。 JavaOnlyで行わず数値演算は、Mathmatica(あれも一種の言語だよな) 何かに任せ連携を取るということもあるという話。であって 数値演算に、Java、.NET等の汎用言語を「使わない」選択肢について語ってるのが>>73
77 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 08:07:07 ] Mathmaticaってそんな一般的? 大学の端末には確かに入ってるけど・・
78 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 15:36:34 ] 本気で数値計算やるなら大抵持ってる希ガス つーか他の製品知らない
79 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 15:53:39 ] >>76 Mathematicaの話をするならドトネトの話は関係ない
80 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 15:53:57 ] >>78 MATLABのほうが断然使いやすいんだが
81 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 20:35:23 ] MATLAB,Mathematicaは、理系で大学生以上なら一般的に知ってると思う 他の言語とのインターフェースは知らなかったよ。
82 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 23:52:44 ] MATLABは大学でも 特定の研究室に関わらないと知らないと思うぞ。 あと、高いしな。 FortranやC/C++のほうが知名度が高いだろう。
83 名前:デフォルトの名無しさん [2006/11/29(水) 20:30:40 ] 昔、Javaにポインタを導入しろとか言ってたやつがいたなw
84 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 22:24:09 ] ぬるぽ
85 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 23:26:25 ] >>82 CやJavaを使える生徒が減ったという理由でMATLABが必修になりつつある情報科があるんだよなw まず教授がCやJavaを使えないって話かもしれんがw
86 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 01:18:03 ] >>83 C#見て小躍りしたんだろうなぁ >>84 うん。ガッ
87 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 01:43:40 ] 大学生は生徒とは呼ばない。学生と呼ぶ。 生徒は中高生のことを指す。
88 名前:デフォルトの名無しさん mailto:sage [2006/11/30(木) 20:26:03 ] ++java
89 名前:デフォルトの名無しさん mailto:sage [2006/12/01(金) 09:48:41 ] Java#
90 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 07:44:53 ] #java++
91 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 10:42:01 ] Java SE 6 まだ〜?
92 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 13:37:01 ] #import <java.lang.System>
93 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 12:24:19 ] JDK7 build03 ttp://download.java.net/jdk7/binaries/ ttp://www.java.net/download/jdk7/changes/jdk7-b03.html Changelogの多さからして本格稼働した様子。
94 名前:デフォルトの名無しさん [2006/12/10(日) 10:42:44 ] 次世代Java == C#
95 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 14:05:39 ] 流石に言語機能としてはまだC#のほうが上かな。 さすがDelphi作者が作っただけはある。 Java 7からはプロパティやクロージャも検討されるから 2009年には若干C#より柔軟になる。
96 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 15:43:40 ] そーいや、クロージャの話はいろいろ出てきたけどプロパティの話はあんましみないね。
97 名前:デフォルトの名無しさん [2006/12/10(日) 19:22:49 ] リリースまだかよ。 12月も1/3過ぎちゃうぞ。
98 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 23:09:53 ] なんか、最近ようやく継続の存在意義を知った
99 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 20:13:17 ] リリースされたよ。JDK6。
100 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 20:33:55 ] ランゲージパックは無し? てか5.0のupdate10をちらっとみたけどこっちのがマニアックに凄いな selectが内部でepollで実装されてるってことはゲーム用途でもいけそう
101 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 21:36:15 ] >>100 ランゲージパックなんていままでもなかったと思うが。
102 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 21:43:47 ] そうだっけか。ドキュメントやらNBやらと違ってそのまま使えばいいのか。
103 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 21:50:39 ] 静かなリリース
104 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 22:31:28 ] まだりりきゃんでしょ。
105 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 22:32:50 ] >>102 前から、JDKの日本語ダウンロードページなんかは前からあるけど、 ダウンロード方法なんかが訳されてるだけで中身は一緒だったな。
106 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 23:17:34 ] 翻訳は https://jdk-api-ja.dev.java.net/ja/index.html でやってるよん。 早く日本語のAPIリファレンス欲しい人は手伝ってみれば良いかも?
107 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 09:59:49 ] 静かなリリースsage
108 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 12:00:47 ] おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお!! ついにリリースされたか! 気が付くのが遅かった! 早速ダウソ!
109 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 17:09:24 ] ダウンロードにNetBeans5.5バンドルのがあるけど、 日本語版NetBeans5.5って正式リリースされてたっけ?
110 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 18:04:31 ] >>109 JDK6にバンドルされているのは英語版。日本語版は12/14の予定。 いまDLできるJDK6のVMだけど、NetBeansの製品情報で見ると 1.6.0-b105と表示される。 これって本当に正式版なのかな?
111 名前:109 mailto:sage [2006/12/12(火) 18:26:18 ] >>110 thx JDK5のときも1.5.0_0*-b0*みたいに表示されてたから、たぶん正式版だと思う。
112 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 18:39:36 ] build 番号 105 なのか(w
113 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 19:13:07 ] JDK6入れてJava2Dのデモプログラム動かしてみたけど、 起動時の画面の動きが怪しいね。
114 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 19:22:25 ] さいしょはみんな bはベータのbだと思うよな。
115 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 19:33:26 ] weeklyビルドを追っていたら混乱するはずがないです。 >>113 どう怪しいのか詳しく。
116 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 20:53:04 ] SwingSet2のスプラッシュスクリーンのウィンドウの形が、 影つきの非矩形でびっくりした。 着実にGUIも進歩しているなぁ
117 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 21:23:32 ] あら、RhinoはMapをプロパティ風に使えないのか? これからはJavaアプリ間で使いまわすスクリプトも流行るだろうし研究しなきゃ
118 名前:デフォルトの名無しさん mailto:sage [2006/12/12(火) 21:37:35 ] >>115 メインの画面が出る直前に、起動時のプログレスダイアログが左端に動く
119 名前:118 mailto:sage [2006/12/12(火) 21:38:30 ] ×左端 ○左上
120 名前:デフォルトの名無しさん [2006/12/12(火) 21:55:54 ] パフォーマンスが改善したって聞いたけど、ほとんど感じない… ペン3、1GHZじゃ恩恵なし?
121 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 00:30:37 ] VMの起動が早くなった ような気がする…
122 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 01:05:22 ] nbの検索が糞遅くなった気が・・・5.0だからか?
123 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 01:30:32 ] 結局、SystemTrayから開けるメニューはAWTのPopupだけか。
124 名前:デフォルトの名無しさん [2006/12/13(水) 01:56:28 ] >>121 確かに5.0よりやや早いのを確認 VM起動前にスプラッシュ出せるようになったのも重いアンチウイルスソフト使ってる人にはうれしいかもね
125 名前:デフォルトの名無しさん [2006/12/13(水) 08:54:49 ] jarファイルのアイコンが変わったね
126 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 09:08:58 ] >>117 java.util.Mapの要素をプロパティ風に参照したいってこと? それなら少なくともそのままやるのは無理っぽい js> importPackage(java.util) js> var m = new HashMap() js> m {} js> m.foo = "foo" js: "<stdin>", line 5: Java class "java.util.HashMap" has no public instance fie ld or method named "foo". js: "<stdin>", line 5: org.mozilla.javascript.EvaluatorException: Java class "ja va.util.HashMap" has no public instance field or method named "foo". (<stdin>#5) Pnuts使うのがいいんじゃないかなあ > import java.util.* null > m = new HashMap() {} > m.foo = "foo" "foo" > m.foo "foo"
127 名前:デフォルトの名無しさん [2006/12/13(水) 16:44:55 ] 何このIronPythonのパクリ(嘲笑
128 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 16:48:02 ] 何を指しているのだろう。
129 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 16:58:14 ] Borlandが作り MSが真似をして Javaが起源を主張する
130 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 23:13:03 ] 古い歴史を持つ Rhino や Pnuts が、 どのようにすればごく最近(2003-2004)作成された IronPython を模倣出来るんだろう... 最近、歴史を学ばない半島人がオリジナルにパクリを主張することが多くて困る
131 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 01:13:19 ] PnutsなんてJavaのごく初期から数少ないJava製スクリプト言語だったよな。 しかも日本人作なんで驚いたもんだ。
132 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 04:27:57 ] Java SE 7.0 のスライド、らしい。 blogs.sun.com/dannycoward/resource/Java7Overview_Prague_JUG.pdf なんか BigDecimal で四則演算が使えてるっぽいサンプルとか、 JavaBeansのプロパティが -> で参照できてるっぽいサンプルとかがある。 Closure の構文みるに、8月の段階で提案されてた構文っぽいので 他の言語機能も構文変わったりするのかも。 それと個人的には Java SE 7.0 って機能てんこ盛りすぎに思えるので いくつかの機能は次のバージョンに持ち越される可能性もあるんじゃないかと心配したり。 ざっとみただけでも、コンパイルエラーになりそうなサンプルが 2つほどあったり……
133 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 07:05:51 ] プロパティはいらん。機能そのものじゃなくて構文がダメ。 Genericsの略式インスタンスもnew()の方はキモ過ぎる。 インタフェースのデフォルト実装クラスがあるってことだろ。 friend class構文とかと同じキモさ。
134 名前:デフォルトの名無しさん [2006/12/15(金) 07:15:41 ] 要はC# 3.0のパクリなんだろ。(ゲラ
135 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 07:46:34 ] >>133 > インタフェースのデフォルト実装クラスがあるってことだろ。 そうとも限らないんだけどね。 gosling御大も別のアプローチをブログに書いてたりするし。 その辺の話は、こっちみると良いかも。 weblogs.java.net/blog/forax/archive/2006/12/dry_dont_repeat.html
136 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 11:15:49 ] つーか、 -> はやめて欲しい。純粋にキモい。ふつーにドットにしろよ。
137 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 13:07:39 ] ドットは止めて欲しい。フィールドアクセスと区別つかんし Groovy みたくフィールドアクセスを明示する場合に foo.@bar なんて構文使うのもアレだし。
138 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:32:17 ] >>135 おお、 := はいいな・・・
139 名前:デフォルトの名無しさん [2006/12/15(金) 22:52:45 ] >>132 Javaも拡張しすぎてC++と同じ道を歩みそうな予感… ところで、みんなの職場では5.0は浸透している? うちの職場はまだ1.3...orz
140 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:00:45 ] うちは今年度からようやく1.4
141 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:09:30 ] ちょ・・・1.3てwww 去年から1.5だな。さっさと1.6にしたいが流石に時期尚早
142 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:18:55 ] OutOfMemoryとかJMXとかの強化だけでも6に移行する価値がある。 今回はバグつぶしに金掛けてるし、実用レベルまで叩かれるのも早いかと。
143 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:43:34 ] ある程度バグはあるが、weeklyに追いかけてきたから どれくらいのものかは肌で感じてるし安心感は強いな イザとなったら自分で改変もできるし
144 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:51:49 ] たまたま覗いたら JDK7 b04 が出てた。 download.java.net/jdk7/changes/jdk7-b04.html そろそろ JDK7 も本格始動?
145 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 00:00:48 ] XML構文より先にヒアドキュメントを実装して欲しい。