06/11/20 13:40:07
ふーん、WinFXがあるのにね
3:デフォルトの名無しさん
06/11/20 14:11:39
前スレの話題
複素数を扱う前に実数を扱うプリミティブ型がなくちゃ
4:デフォルトの名無しさん
06/11/20 16:54:57
>>3
無限精度ってこと?
5:デフォルトの名無しさん
06/11/20 17:53:26
>>3
BigDecimalでいいよ。
あれをプリミティブにしてもねえ
6:デフォルトの名無しさん
06/11/20 17:55:33
Complexはプリミティブにする必要性を感じない。
conjugate()やabs(),arg(),getReal(),getImaginary(),innerProduct(),
とかいうメソッドがあったとして、これらもいちいち演算子で表現
することになったらどうする気だ。
7:デフォルトの名無しさん
06/11/20 18:39:17
Stringみたいに
Complex z = "1+2i";
と宣言できるだけでいいな。
8:デフォルトの名無しさん
06/11/20 18:40:34
全くですww
数値演算に特化したサポートはスマンが我慢してもらえると助かります・・・
複素数なんて日常つかわねえっす
9:デフォルトの名無しさん
06/11/20 18:41:15
>>7
それくらいなら
Complex z = Complex.valueOf("1+2i");
でいいんじゃないの?
10:
06/11/21 00:16:58
mustangのjavaw.exeって60~70秒に一度くらい規則正しくCPU負荷がすごく高くなりませんか?ワーカースレッドとか負荷の高い計算がない場合でも必ず起こってるようなきがします。
11:デフォルトの名無しさん
06/11/21 00:30:08
>>10
つ sun.rmi.dgc.server.gcInterval 、sun.rmi.dgc.client.gcInterval
12:デフォルトの名無しさん
06/11/21 00:38:32
>>11
ガベージコレクトしてるんですか。
しかしTigerでは気にならなかったレベルだったような気がします。簡単なアウトラインエディタを作ってるんですが、文字入力や日本語変換とかが1分に一回規則正しく瞬間的に遅くなってしまいます。以前は気にならなかったのに。
13:12
06/11/21 00:39:27
自分のパソコンがPenⅢの733MHZだから遅くて気になるのかな。
14:デフォルトの名無しさん
06/11/21 03:05:40
>>7
じゃ、今早速作れ。
構文解析は負担がかかるが。
とりあえずはメソッドを演算子代わりにすることから
始めないことには
15:デフォルトの名無しさん
06/11/21 03:07:25
>>9
その程度の簡単なものであればいいが
\int\~\infty_{\infty}\frac{\sin x}[\cos \frac{dx}{dt}]
みたいなものだととんでもなく負担が増大する。
16:デフォルトの名無しさん
06/11/21 09:02:49
複素数は虚数単位がIかJかで殺し合いが起きるので却下すます
17:デフォルトの名無しさん
06/11/21 09:10:27
Vector v = {1, 2, 3};
Matrix A = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
};
18:デフォルトの名無しさん
06/11/21 12:35:50
>>16
うむ。それもそうだ。
複素数を却下するのではなく、String表記法
について慎重に検討するまでは却下する。
が正しい。@
19:デフォルトの名無しさん
06/11/21 12:37:39
>>17
見たからにただの配列と変わらんな。
シンタックスシュガーとして
導入したとでもいうのかね。
だが、行列の演算子はどうする。
行列の積は*でいいのか?
それとも、行列の個々の要素同士の積こそが*であって
行列の積は*で表現すべきではないか?
ベクトルの内積演算子、外積演算子はどうする。
20:デフォルトの名無しさん
06/11/21 20:57:09
Java SE 6 っていつ出るの?
11月上旬っていう記事を見たんだが、まだだよねぇ?
URLリンク(journal.mycom.co.jp)
21:デフォルトの名無しさん
06/11/21 21:25:07
今、RC
22:デフォルトの名無しさん
06/11/21 21:34:22
>>20
おまえは>>1すら読めないのか
23:デフォルトの名無しさん
06/11/22 08:28:56
>>20
November と December を勘違いでもしたんじゃねーか?
と思わなくも無い。大地タソだし。
そこの記事ちゃんと読むと、記事の日付が 11/1 になってるのに
> Java SE 6のリリースまで1カ月強となった。
とか出てきて変だし。
24:デフォルトの名無しさん
06/11/22 18:06:26
いや、当初は11月初頭リリースって予定だったと思ったが・・・。
25:デフォルトの名無しさん
06/11/23 02:52:35
>>19
そんなあなたに Fortress
26:デフォルトの名無しさん
06/11/23 12:39:02
次のバージョンではGenericsを完全にしてほしい。
27:デフォルトの名無しさん
06/11/23 12:43:18
完全てどういうことだ
28:デフォルトの名無しさん
06/11/23 13:56:59
C++Template化とかほざいたら>>26をしばきたたこうぜ。
29:デフォルトの名無しさん
06/11/23 13:57:16
public class A<E> {
E[] e = new E[5];
}
ができるように。
30:デフォルトの名無しさん
06/11/23 16:07:03
>>29
erasure だけを使ってる限りは無理だろうね。
31:デフォルトの名無しさん
06/11/23 18:42:09
erasureによるGenericsは、
全ての型で使える1つのコードを生成するだけでよいという利点
があるんだけど。
キャッシュの当たり率やメモリ消費量的には有利なはず。
C#のGenericsを採用した時点で、JITコンパイラは一部のコードを
C++のテンプレートのように型毎に生成する必要が出てくるからなぁ。
32:デフォルトの名無しさん
06/11/24 15:35:44
>>29
そもそも、配列でそんなもんを使う価値が理解できない。
配列自体おかしな仕様なんだから。
List使え。
33:デフォルトの名無しさん
06/11/24 15:36:18
>>31
Java GenericsはC#のGenericsとは違うからな。
34:デフォルトの名無しさん
06/11/24 16:35:44
> 配列自体おかしな仕様なんだから。
どの辺が?
35:デフォルトの名無しさん
06/11/24 16:36:56
ということは、>>29は、利便性とデメリットを検討した上で
排除された記法っぽいな。
俺も>>29が出来てもそんなメリットとも感じないし。
36:デフォルトの名無しさん
06/11/24 20:31:36
>>34
まず一つあげてみようか。
配列型を引数にとるとその引数である
配列の要素にまでfinalを指定できないことがあげられるね。
簡単に言うと配列は型安全性が完全に保証されていないこと。
配列の配列を他の配列の配列の型に代入できたりとか。
あと、配列型は継承できないこととか。
37:デフォルトの名無しさん
06/11/24 20:49:21
>配列の要素にまでfinalを指定できないことがあげられるね。
コンパイル時、個々の要素毎でなく配列全体一括で不変にできるようにしようって話なら
adding_generics の時にも一旦出てたし、JSR 308 とかでもやろうとしてたりとかしてるね。
URLリンク(jcp.org)
> 簡単に言うと配列は型安全性が完全に保証されていないこと。
よくわからんけど、これは List も同じでは?
> あと、配列型は継承できないこととか。
配列を継承したいケースって、どんな時?
toString() 弄りたいとかはわからんでもないが、他の解決法あるし……
38:デフォルトの名無しさん
06/11/24 21:01:25
>>37
一番上に関しては List でもコンパイル時にはチェックできないし。
Collections.unmodifiableList() とか使えば実行時にはチェックされるけど。
39:デフォルトの名無しさん
06/11/24 21:05:59
>>37
36じゃないが、「配列は型安全性が完全に保証されていない」ってのは
下のコードは実行時例外が出るのにコンパイルが通るって話だろう。
ジェネリックな List だとコンパイルが通らない。
String[] ss = new String[] { "abc" };
Object[] os = ss;
os[0] = new Integer(123);
40:デフォルトの名無しさん
06/11/24 21:17:18
>>39
コンパイル時の型安全だけに限ってるのか。
実行時は List の方が緩くなるし、どっちもどっちだと思うけどね。
Collections.checkedList() もあるけど、
Class が必要になるから、必ずしも使えるとは限らんし。
41:デフォルトの名無しさん
06/11/24 23:20:57
>>38
それを配列にできないから配列は糞仕様だっていってるんだろ。
いちいりListに変換しないといけないからな
42:デフォルトの名無しさん
06/11/24 23:22:40
Developer Worksで配列はCovariantじゃないってのがあったな。
配列をGenericsで扱うと、思い通りにいかないとかってやつ。
今その話が発端になっているのかな?
たしかにあれはキモイ。だから配列は極力つかわないほうが
綺麗になるってことかな。配列とGenericsとの併用は避けるべきだともいえそうだね。
43:デフォルトの名無しさん
06/11/24 23:26:37
>>37
> > 簡単に言うと配列は型安全性が完全に保証されていないこと。
> よくわからんけど、これは List も同じでは?
そこでGenericsと、既に出たけれどもCollectionsクラスのアンモディファイアブルを
使う。配列だとListほど思い通りにいくわけでもないな。
配列はListよりパフォーマンスがよくてコード量が短いという
程度のメリットしかないな。
> > あと、配列型は継承できないこととか。
> 配列を継承したいケースって、どんな時?
そんなケースはまれだと思うが、
ある型Aを配列で扱いたいとき、
Aを継承したBも配列で扱いたい。
そんなとき、B[]はA[]を継承できるかっていうと
そうでも無いって奴だな。
そうなったらAArrayやBArrayというクラスを別途
作って対応するしかないって奴だ。
44:デフォルトの名無しさん
06/11/24 23:33:52
配列もプリミティブ型同様、
Javaの中で妥協して作られたモノだと見てもいいな。
しかしprintf(String a, Object...)は
実は正体がprintf(String a, Object[] b)というからな
これもいつしか
public <E> PrintStream printf(String a List<E> )
なメソッドがオーバーロードされるんだろうか
45:デフォルトの名無しさん
06/11/25 00:03:05
>>42
いや、generics は covariant じゃないから、型安全が保持されてるって書いてあったような。
> 配列とGenericsとの併用は避けるべきだともいえそうだね。
配列と Generics は相性も悪いしね。 >>29 みたいのができないし。
46:デフォルトの名無しさん
06/11/25 00:10:13
>>43
> そんなとき、B[]はA[]を継承できるかっていうと
それって、どーゆー時に必要になる?
47:デフォルトの名無しさん
06/11/25 00:35:27
例えばSortedSetを継承してTreeSetを作りたい、
みたいなときじゃないかな。
結局配列型を継承せず
配列型を集約するわけだが
48:デフォルトの名無しさん
06/11/25 00:42:00
>例えばSortedSetを継承してTreeSetを作りたい
Sorted配列を継承してTree配列作る?
配列に対して、そーゆー発想は無かったなぁ。
49:デフォルトの名無しさん
06/11/25 02:25:17
そして配列に失望するのであった。
配列は非オブジェクト指向である。
50:デフォルトの名無しさん
06/11/25 02:29:47
構文糖衣を許して、[]=っていうメソッドを定義できるようにするしかない。
51:デフォルトの名無しさん
06/11/25 03:09:59
>>48
普通はしない
ってか、Tree配列ってなんだよ
52:デフォルトの名無しさん
06/11/25 03:35:37
>>45
でも配列使うAPIも結構多いんだよね。
何しろGenericsができるまでは要素の型を指定できたの配列だけだし。
53:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/11/25 09:47:30
>>39
それで「型安全が完全に保証されていない」ってんなら、極端な話すれば、
List<String> l = new ArrayList<String>();
Vector<String> v = (Vector<String>)l;
は、コンパイルが通るから、
「参照型の変数は型安全が完全に保証されていない」
とかいう変な話になっちゃうような気もする。
55:デフォルトの名無しさん
06/11/25 12:42:16
>>54
それはキャストしてるだけでしょ。
型安全ってのはキャストなしでコンパイルが通ったら
実行時にも型に関する例外が出ないことだよ。
56:デフォルトの名無しさん
06/11/25 13:12:16
>>54
それはキャストが型安全じゃない事を示しただけ。
そりゃ、キャストは型安全じゃないわな。
57:デフォルトの名無しさん
06/11/25 14:32:17
ArrayListのコードの一部だけど何か奇怪だね。
private transient E[] elementData;(92行)
this.elementData = (E[])new Object[initialCapacity];(113行)
58:デフォルトの名無しさん
06/11/25 15:12:10
そりゃ、erasureだからnew E[initialCapacity];はできんでしょ。
59:デフォルトの名無しさん
06/11/25 15:23:13
配列は変な仕様だが、
配列がないとCollectionFrameworkもつくれないわけか・・・
60:デフォルトの名無しさん
06/11/25 15:28:51
>>59
配列が covariant じゃなかったら 1.4 で Collection#toArray(Object[]) の
使い勝手が滅茶苦茶悪くなるし。極端に変な仕様だとも思わんが。
61:デフォルトの名無しさん
06/11/25 19:03:57
>>60
まあその辺はトレードオフだわな
配列がcovariantなおかげで便利な部分があるのも確かだし
一方で型安全では無いとか配列の要素への代入時にチェックが入って遅くなる(可能性がある)
とか、covariantなために発生する問題もある
型安全かつ利便性をそれなりに保つためには、Java Genericsが採用したワイルドカードの
ような機能がJVMレベルであれば良かったんだろうけど、今更言っても後の祭りだしね
62:デフォルトの名無しさん
06/11/25 21:01:45
>>59
っJNI
63:デフォルトの名無しさん
06/11/25 21:46:16
>59 つcons
64:デフォルトの名無しさん
06/11/25 23:09:16
ところで
covariantの意味はなんたるか
統計学用語で
varianseが分散
covarianseが共分散
ってのはわかるんだが
65:デフォルトの名無しさん
06/11/25 23:09:49
スペルミスだ
variance
covariance
の間違い
66:デフォルトの名無しさん
06/11/25 23:11:35
おっとよく見ると
URLリンク(www2.alc.co.jp)
# covariant
【形】 《数学》共変{きょうへん}の
# covariant components
共変成分{きょうへん せいぶん}
# covariant derivative
《数学》共変微分{きょうへん びぶん}、共変導関数{きょうへん どうかんすう}
# covariant differential
共変微分{きょうへん びぶん}
# covariant differentiation
《数学》共変微分{きょうへん びぶん}
# covariant equation
共変方程式{きょうへん ほうていしき}
# covariant functor
共変関手{きょうへん かんしゅ}
# covariant gage
共変{きょうへん}ゲージ
67:デフォルトの名無しさん
06/11/25 23:13:54
ベクトル解析は三次元までしかしらないので
covariantとかtensor(テンソル)とかいわれても
わからん。
n次元空間とかn次元超平面とかクォータニンとか全然ピンと来ない
68:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/11/26 03:16:26
お前ら、何でJava使ってるんだ。
もういいから、違う言語使えよ。
70:64 じゃないが
06/11/26 03:19:04
>>68
なるほどーすげぇよく分かったよ。サンクスコ
71:デフォルトの名無しさん
06/11/26 10:21:31
A <: B => T<A> <: T<B> ( A <: B は AがBのサブタイプであるという意味)
この行を読もうとして変態言語のパーサの気分がよくわかった。
等幅フォントにしたら読みやすくなった。
72:デフォルトの名無しさん
06/11/26 12:49:03
>>69
じゃ、オマエのおすすめの言語あげてみそ
73:デフォルトの名無しさん
06/11/26 13:08:53
>>69じゃないけど、MathematicaだとJ/Linkや.NET/Linkで
Javaや.NETと連携できるみたいだね。
面倒な計算はMathematicaのエンジンにやらせて、
結果だけJavaで表示って方法じゃダメか?
Mathematicaしか調べてないけど、他の製品にもこういうのあるんじゃない?
74:デフォルトの名無しさん
06/11/27 01:52:43
それが普通の人の発想だと思おうよ
75:デフォルトの名無しさん
06/11/27 02:20:17
>>73
ドトネトとの連携が>>69とどういう繋がりがあるんだかわからないが
数値計算のためにわざわざドトネトを使う価値ってものが
どういうものか説明しないことには意図が伝わらないな
76:デフォルトの名無しさん
06/11/27 04:31:53
>>75
いや、>>73の論旨を読めてないでしょう。
JavaOnlyで行わず数値演算は、Mathmatica(あれも一種の言語だよな)
何かに任せ連携を取るということもあるという話。であって
数値演算に、Java、.NET等の汎用言語を「使わない」選択肢について語ってるのが>>73
77:デフォルトの名無しさん
06/11/27 08:07:07
Mathmaticaってそんな一般的?
大学の端末には確かに入ってるけど・・
78:デフォルトの名無しさん
06/11/27 15:36:34
本気で数値計算やるなら大抵持ってる希ガス
つーか他の製品知らない
79:デフォルトの名無しさん
06/11/27 15:53:39
>>76
Mathematicaの話をするならドトネトの話は関係ない
80:デフォルトの名無しさん
06/11/27 15:53:57
>>78
MATLABのほうが断然使いやすいんだが
81:デフォルトの名無しさん
06/11/27 20:35:23
MATLAB,Mathematicaは、理系で大学生以上なら一般的に知ってると思う
他の言語とのインターフェースは知らなかったよ。
82:デフォルトの名無しさん
06/11/27 23:52:44
MATLABは大学でも
特定の研究室に関わらないと知らないと思うぞ。
あと、高いしな。
FortranやC/C++のほうが知名度が高いだろう。
83:デフォルトの名無しさん
06/11/29 20:30:40
昔、Javaにポインタを導入しろとか言ってたやつがいたなw
84:デフォルトの名無しさん
06/11/29 22:24:09
ぬるぽ
85:デフォルトの名無しさん
06/11/29 23:26:25
>>82
CやJavaを使える生徒が減ったという理由でMATLABが必修になりつつある情報科があるんだよなw
まず教授がCやJavaを使えないって話かもしれんがw
86:デフォルトの名無しさん
06/11/30 01:18:03
>>83
C#見て小躍りしたんだろうなぁ
>>84
うん。ガッ
87:デフォルトの名無しさん
06/11/30 01:43:40
大学生は生徒とは呼ばない。学生と呼ぶ。
生徒は中高生のことを指す。
88:デフォルトの名無しさん
06/11/30 20:26:03
++java
89:デフォルトの名無しさん
06/12/01 09:48:41
Java#
90:デフォルトの名無しさん
06/12/02 07:44:53
#java++
91:デフォルトの名無しさん
06/12/02 10:42:01
Java SE 6 まだ~?
92:デフォルトの名無しさん
06/12/02 13:37:01
#import <java.lang.System>
93:デフォルトの名無しさん
06/12/04 12:24:19
JDK7 build03
URLリンク(download.java.net)
URLリンク(www.java.net)
Changelogの多さからして本格稼働した様子。
94:デフォルトの名無しさん
06/12/10 10:42:44
次世代Java == C#
95:デフォルトの名無しさん
06/12/10 14:05:39
流石に言語機能としてはまだC#のほうが上かな。
さすがDelphi作者が作っただけはある。
Java 7からはプロパティやクロージャも検討されるから
2009年には若干C#より柔軟になる。
96:デフォルトの名無しさん
06/12/10 15:43:40
そーいや、クロージャの話はいろいろ出てきたけどプロパティの話はあんましみないね。
97:デフォルトの名無しさん
06/12/10 19:22:49
リリースまだかよ。
12月も1/3過ぎちゃうぞ。
98:デフォルトの名無しさん
06/12/10 23:09:53
なんか、最近ようやく継続の存在意義を知った
99:デフォルトの名無しさん
06/12/11 20:13:17
リリースされたよ。JDK6。
100:デフォルトの名無しさん
06/12/11 20:33:55
ランゲージパックは無し?
てか5.0のupdate10をちらっとみたけどこっちのがマニアックに凄いな
selectが内部でepollで実装されてるってことはゲーム用途でもいけそう
101:デフォルトの名無しさん
06/12/11 21:36:15
>>100
ランゲージパックなんていままでもなかったと思うが。
102:デフォルトの名無しさん
06/12/11 21:43:47
そうだっけか。ドキュメントやらNBやらと違ってそのまま使えばいいのか。
103:デフォルトの名無しさん
06/12/11 21:50:39
静かなリリース
104:デフォルトの名無しさん
06/12/11 22:31:28
まだりりきゃんでしょ。
105:デフォルトの名無しさん
06/12/11 22:32:50
>>102
前から、JDKの日本語ダウンロードページなんかは前からあるけど、
ダウンロード方法なんかが訳されてるだけで中身は一緒だったな。
106:デフォルトの名無しさん
06/12/11 23:17:34
翻訳は URLリンク(jdk-api-ja.dev.java.net) でやってるよん。
早く日本語のAPIリファレンス欲しい人は手伝ってみれば良いかも?
107:デフォルトの名無しさん
06/12/12 09:59:49
静かなリリースsage
108:デフォルトの名無しさん
06/12/12 12:00:47
おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお!!
ついにリリースされたか!
気が付くのが遅かった!
早速ダウソ!
109:デフォルトの名無しさん
06/12/12 17:09:24
ダウンロードにNetBeans5.5バンドルのがあるけど、
日本語版NetBeans5.5って正式リリースされてたっけ?
110:デフォルトの名無しさん
06/12/12 18:04:31
>>109
JDK6にバンドルされているのは英語版。日本語版は12/14の予定。
いまDLできるJDK6のVMだけど、NetBeansの製品情報で見ると 1.6.0-b105と表示される。
これって本当に正式版なのかな?
111:109
06/12/12 18:26:18
>>110
thx
JDK5のときも1.5.0_0*-b0*みたいに表示されてたから、たぶん正式版だと思う。
112:デフォルトの名無しさん
06/12/12 18:39:36
build 番号 105 なのか(w
113:デフォルトの名無しさん
06/12/12 19:13:07
JDK6入れてJava2Dのデモプログラム動かしてみたけど、
起動時の画面の動きが怪しいね。
114:デフォルトの名無しさん
06/12/12 19:22:25
さいしょはみんな bはベータのbだと思うよな。
115:デフォルトの名無しさん
06/12/12 19:33:26
weeklyビルドを追っていたら混乱するはずがないです。
>>113
どう怪しいのか詳しく。
116:デフォルトの名無しさん
06/12/12 20:53:04
SwingSet2のスプラッシュスクリーンのウィンドウの形が、
影つきの非矩形でびっくりした。
着実にGUIも進歩しているなぁ
117:デフォルトの名無しさん
06/12/12 21:23:32
あら、RhinoはMapをプロパティ風に使えないのか?
これからはJavaアプリ間で使いまわすスクリプトも流行るだろうし研究しなきゃ
118:デフォルトの名無しさん
06/12/12 21:37:35
>>115
メインの画面が出る直前に、起動時のプログレスダイアログが左端に動く
119:118
06/12/12 21:38:30
×左端
○左上
120:デフォルトの名無しさん
06/12/12 21:55:54
パフォーマンスが改善したって聞いたけど、ほとんど感じない…
ペン3、1GHZじゃ恩恵なし?
121:デフォルトの名無しさん
06/12/13 00:30:37
VMの起動が早くなった
ような気がする…
122:デフォルトの名無しさん
06/12/13 01:05:22
nbの検索が糞遅くなった気が・・・5.0だからか?
123:デフォルトの名無しさん
06/12/13 01:30:32
結局、SystemTrayから開けるメニューはAWTのPopupだけか。
124:デフォルトの名無しさん
06/12/13 01:56:28
>>121
確かに5.0よりやや早いのを確認
VM起動前にスプラッシュ出せるようになったのも重いアンチウイルスソフト使ってる人にはうれしいかもね
125:デフォルトの名無しさん
06/12/13 08:54:49
jarファイルのアイコンが変わったね
126:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/12/13 16:44:55
何このIronPythonのパクリ(嘲笑
128:デフォルトの名無しさん
06/12/13 16:48:02
何を指しているのだろう。
129:デフォルトの名無しさん
06/12/13 16:58:14
Borlandが作り
MSが真似をして
Javaが起源を主張する
130:デフォルトの名無しさん
06/12/13 23:13:03
古い歴史を持つ Rhino や Pnuts が、
どのようにすればごく最近(2003-2004)作成された IronPython を模倣出来るんだろう...
最近、歴史を学ばない半島人がオリジナルにパクリを主張することが多くて困る
131:デフォルトの名無しさん
06/12/14 01:13:19
PnutsなんてJavaのごく初期から数少ないJava製スクリプト言語だったよな。
しかも日本人作なんで驚いたもんだ。
132:デフォルトの名無しさん
06/12/15 04:27:57
Java SE 7.0 のスライド、らしい。
URLリンク(blogs.sun.com)
なんか BigDecimal で四則演算が使えてるっぽいサンプルとか、
JavaBeansのプロパティが -> で参照できてるっぽいサンプルとかがある。
Closure の構文みるに、8月の段階で提案されてた構文っぽいので
他の言語機能も構文変わったりするのかも。
それと個人的には Java SE 7.0 って機能てんこ盛りすぎに思えるので
いくつかの機能は次のバージョンに持ち越される可能性もあるんじゃないかと心配したり。
ざっとみただけでも、コンパイルエラーになりそうなサンプルが 2つほどあったり……
133:デフォルトの名無しさん
06/12/15 07:05:51
プロパティはいらん。機能そのものじゃなくて構文がダメ。
Genericsの略式インスタンスもnew()の方はキモ過ぎる。
インタフェースのデフォルト実装クラスがあるってことだろ。
friend class構文とかと同じキモさ。
134:デフォルトの名無しさん
06/12/15 07:15:41
要はC# 3.0のパクリなんだろ。(ゲラ
135:デフォルトの名無しさん
06/12/15 07:46:34
>>133
> インタフェースのデフォルト実装クラスがあるってことだろ。
そうとも限らないんだけどね。
gosling御大も別のアプローチをブログに書いてたりするし。
その辺の話は、こっちみると良いかも。
URLリンク(weblogs.java.net)
136:デフォルトの名無しさん
06/12/15 11:15:49
つーか、 -> はやめて欲しい。純粋にキモい。ふつーにドットにしろよ。
137:デフォルトの名無しさん
06/12/15 13:07:39
ドットは止めて欲しい。フィールドアクセスと区別つかんし
Groovy みたくフィールドアクセスを明示する場合に
foo.@bar なんて構文使うのもアレだし。
138:デフォルトの名無しさん
06/12/15 20:32:17
>>135
おお、 := はいいな・・・
139:デフォルトの名無しさん
06/12/15 22:52:45
>>132
Javaも拡張しすぎてC++と同じ道を歩みそうな予感…
ところで、みんなの職場では5.0は浸透している?
うちの職場はまだ1.3...orz
140:デフォルトの名無しさん
06/12/15 23:00:45
うちは今年度からようやく1.4
141:デフォルトの名無しさん
06/12/15 23:09:30
ちょ・・・1.3てwww
去年から1.5だな。さっさと1.6にしたいが流石に時期尚早
142:デフォルトの名無しさん
06/12/15 23:18:55
OutOfMemoryとかJMXとかの強化だけでも6に移行する価値がある。
今回はバグつぶしに金掛けてるし、実用レベルまで叩かれるのも早いかと。
143:デフォルトの名無しさん
06/12/15 23:43:34
ある程度バグはあるが、weeklyに追いかけてきたから
どれくらいのものかは肌で感じてるし安心感は強いな
イザとなったら自分で改変もできるし
144:デフォルトの名無しさん
06/12/15 23:51:49
たまたま覗いたら JDK7 b04 が出てた。
URLリンク(download.java.net)
そろそろ JDK7 も本格始動?
145:デフォルトの名無しさん
06/12/16 00:00:48
XML構文より先にヒアドキュメントを実装して欲しい。
146:デフォルトの名無しさん
06/12/16 00:58:28
1月から開発するNetBeans Platformベースのデスクトップアプリで
JDK6を使ってみる。「WindowsVistaに対応してます」の一言で
クライアントのOKが出た。JDK6でなければならない理由はないんだけど、
何より俺が使ってみたいのだ。
147:デフォルトの名無しさん
06/12/16 01:00:31
おめでとうw
148:デフォルトの名無しさん
06/12/16 20:31:10
>145
同意
149:デフォルトの名無しさん
06/12/16 22:13:48
別にここでするレスじゃないかも知れんが
共用体が欲しいなあとなんとなしに思ってたけど
nioのByteBufferが既にそれっぽいことに今更気づいた。
150:デフォルトの名無しさん
06/12/16 23:59:17
>>146
デスクトップアプリで6を使うのはいいと思うけど、EclipseRCPにしてもNetBeansPlatformにしても
へんなのをかますと余計にめんどくさいだけだと思うんだが
重くなりやすいし、バグがあったとしても回避しにくい
普通にSwingベースのほうが開発効率がいい
まぁNetBeansPlatformはSwingベースで開発できる分まだ楽か
151:デフォルトの名無しさん
06/12/17 00:01:20
150が何いってんのか誰か教えて。
152:デフォルトの名無しさん
06/12/17 00:23:59
君にはまだ早い
153:デフォルトの名無しさん
06/12/17 00:28:01
今度こそ本当にJavaでデスクトップアプリ開発が流行るんですかね?
154:デフォルトの名無しさん
06/12/17 00:31:35
流行るってかモチベーションの問題だろ
5.0で既に十分なポテンシャル持ってたのに作らなかった。
事実やる気全開のV2Cは今や非Win用2chブラウザの重鎮だし。
155:デフォルトの名無しさん
06/12/17 00:35:59
・グループレイアウトが標準実装された
これによってGUIコンポーネント配置が容易に(絶対座標系のレイアウトやVBなどより楽になった)
・VMの起動速度大幅アップ&VM起動前にスプラッシュ表示可能
クライアント用途ではVM立ち上げ直しが多いから有効
リッチクライアント用途ではすでに普及してると思うが、クライアントサーバのように2層式が
まだ弱いのが今後大幅に改善されるかもしれない
たしかNetBeansでGUIコンポーネントとDBをつなげるやつ開発してたよね
JPA,JDBC4、RowSetなどでこの辺実装できるはずだけどどれ使うんだろ
postgreSQLだけRowSet動かないのもなぁ
postgreSQLはJDBCドライバすててるのかな
Oracleのように実装してもらわないと改善されない予感
OracleはOracleで基本がなってないのだが、JDBC4で強制的にLOBまわり改善されるのが面白い
156:デフォルトの名無しさん
06/12/17 00:38:22
>>154
V2Cいいんだけど参照のこったままになるの改善してほしいな
ひとつも開いてなくてもあきメモリーがなしってひどす
157:デフォルトの名無しさん
06/12/17 00:59:46
>>155
RowSetって使ってるとこあるの?
JDBC4.0は何故かRowSetに肩入れしてるけど
JPAとレイヤーも被ってると思うんだよなぁ
158:デフォルトの名無しさん
06/12/17 01:08:15
>>132
あくまで提案か。
実装するにはヤバイのが多いな。
BigDecimalの演算子だが
divide使うとき、MathContextの値はどうするのだろうか。
二つのBigDecimalオブジェクトのMathContextの値が異なれば
誤差が片方のMathContextの制度を基準にして除算を
することになると思うが、そうしたくない場合には
結局BigDecimal#divide(BigDecimal, MathContext)を使うことになるんだろうな。
その辺り、どう解決するのだろうか。
159:デフォルトの名無しさん
06/12/17 01:18:13
とはいえ、いまだに大量に要る浮動小数点を金額計算に使うやつらをとめれるのは大きいか
だってnewするの面倒だもんと聞いたときには何の冗談かと
あとしらないで1.05とか掛け算したんだけど、なんかコンパイルエラーが出るんですが、doubleにしたらエラー消えたからOKだとおもったとか
こんなのが業務プログラム経験10年とかでベテランですといってごろごろいるんだが
そのたびにぶちきれてる俺はいやなやつと思われてるっぽい
160:デフォルトの名無しさん
06/12/17 01:20:41
その手の奴はダメ出ししまくって修正させると「さすが大先生」とか卑屈になるんだよな
正直どうにかして首に追い込めないかとか考えてしまう。
161:デフォルトの名無しさん
06/12/17 01:23:39
javaのジェネリクスのしょぼさがなぁ。
C++のテンプレートと同じことが出来なきゃ先は無いだろ。
162:デフォルトの名無しさん
06/12/17 01:29:11
>>160
今のところ5.0導入してから半分くらいはついていけないのを確認
5.0ではListに入れる型がわかるので結合時のエラーが減りますね!とかenum便利ですね!とかwktkしてる人もいれば
なんで5.0つかうんだよとうつろなやつもいて、非常に適正がわかりやすい
>>161
目的が違うんだからいいんじゃね?C++と同じだったら逆にぶちきれるだろ
163:デフォルトの名無しさん
06/12/17 01:31:31
Javaにboostみたいなのが出てくるのも考えモノだな。
164:デフォルトの名無しさん
06/12/17 01:32:22
templateが害悪だからGenericsになったわけだが。
165:デフォルトの名無しさん
06/12/17 01:33:10
>>159
BigDecimal,BigInteger用のシンタックスシュガーが導入されれば何とかならんかね・・・
しかし・・・・丸めとかの規定ないの?仕様に。
166:デフォルトの名無しさん
06/12/17 01:40:34
123.45B とか 999999B で型推論?精度が違う場合は警告とし、左のほうに合わせる。
167:デフォルトの名無しさん
06/12/17 02:10:27
>>164
ジェネリクスが今の形になってるのはただ単純に互換性を保つためだけの理由からだよ。
だいたいタイプパラメーターにnew出来ないってありえねーよ。
168:デフォルトの名無しさん
06/12/17 02:17:31
ありえるからJavaは普通に普及してるんだけど。
169:デフォルトの名無しさん
06/12/17 02:34:32
>>167
無制限に型パラメータで new するのは C# でもできないし。
170:デフォルトの名無しさん
06/12/17 02:37:58
防御的コピーしたい場合を考えるとコピーコンストラクタくらいは使えてもよかったかな。
171:デフォルトの名無しさん
06/12/17 02:45:01
>>170
つ「スペルミスなんだけど、気付いた時には既に修正不能だったという逸話が有名な Cloneable」
172:デフォルトの名無しさん
06/12/17 03:03:58
でもスペルミスが指摘されたのはβ時代。
何が遅すぎるのやら。
173:デフォルトの名無しさん
06/12/17 03:05:23
あ、これのことね。
URLリンク(bugs.sun.com)
174:デフォルトの名無しさん
06/12/17 03:25:14
>>167
互換性が大事だと一番分かっているのはC++だろw
175:デフォルトの名無しさん
06/12/17 03:39:45
creat・・・・
176:デフォルトの名無しさん
06/12/17 12:05:10
近い未来・・・、JavaがJavaでなくなる日が訪れる。
177:デフォルトの名無しさん
06/12/17 12:19:03
>>139
5.0で浸透している。
やはりGenericsとアノテーションは重宝する。
JUnitもアノテーションに対応したことだし。
Generics
>>141
178:デフォルトの名無しさん
06/12/17 17:28:19
>>156
うちのV2Cはなったことないな。
ヒープサイズの問題でないなら本スレにバグレポした方がいい。
179:デフォルトの名無しさん
06/12/17 18:40:37
DolphinといえばSwing Application Frameworkが気になる。
URLリンク(developers.sun.com)
180:デフォルトの名無しさん
06/12/18 00:30:49
>>155
> リッチクライアント用途ではすでに普及してると思うが、クライアントサーバのように2層式が
> まだ弱いのが今後大幅に改善されるかもしれない
あれかServlet/JSPとの連携が弱いってやつな。
たしかに俺も思った。弱いって言うか扱いにくい。
RMIでないといけないから。
StrutsやJSFがSwingと合体すれば使いやすいのだが。
181:デフォルトの名無しさん
06/12/18 00:40:29
いや、ふつうに2層式だからクライアントとDBとの接続
RMIでもWebServiceでもいいけどそれらのもってきた値とコンポーネントとの関連付けが今は手動になっちまう
>StrutsやJSFがSwingと合体すれば使いやすいのだが。
これはありえないだろ
前2つよりSwingのほうが圧倒的に使いやすいし
182:デフォルトの名無しさん
06/12/18 00:46:12
JSFのSwing化はJSF登場時からすでに検討課題だから。
てかSwingコンポーネントひとつひとつが<input>タグ化すればいいだけの気もする。
バリデータとコンバータがフレームワーク毎にあることのがメンドイ?
183:デフォルトの名無しさん
06/12/18 00:52:02
各種イベントがどうしようもねぇな、WEBページベースだと
184:デフォルトの名無しさん
06/12/18 01:19:56
>>159
> とはいえ、いまだに大量に要る浮動小数点を金額計算に使うやつらをとめれるのは大きいか
> だってnewするの面倒だもんと聞いたときには何の冗談かと
valueOf()を使えと言っておけ
と思ったが10進2進変換誤差の問題があるから new BigDecimal(String, MathContext)しかないな。
にしてもBigDecimal.valueOf(String) 欲しいモノだ。
185:デフォルトの名無しさん
06/12/18 01:21:54
ValueOfableの出番だな
186:デフォルトの名無しさん
06/12/18 01:23:03
>>181
> 前2つよりSwingのほうが圧倒的に使いやすいし
Swingだと、
HTMLやXSL + XMLで書かれたページと連携するのが
不便なのだが。
187:デフォルトの名無しさん
06/12/18 01:24:17
JSF, Struts, tapestry, Seasar2 + Ajax
これをSwingと連携する方法が・・
188:デフォルトの名無しさん
06/12/18 01:25:15
レスポンスで必要なのはXMLだけだろ。
Webフレームワーク側がXML+XSLTに移行すれば皆幸せ。
189:デフォルトの名無しさん
06/12/18 01:53:43
>>188
そういうこと
通信自体はJAXB/JAX-WSが6からクライアントに来たことによってかなりよくなった
後はそのバインドされたコンポーネントだけ
190:デフォルトの名無しさん
06/12/18 03:07:51
Strutsはどうでもいいけど、JSFみたいに画面遷移を管理する仕組みがSwingにも欲しい。
Visual Web Packの画面遷移エディタみたいにSwingでも画面遷移管理。
191:デフォルトの名無しさん
06/12/18 18:16:52
さすがのJavaも98/Me非対応になったかw
192:デフォルトの名無しさん
06/12/18 22:38:49
VRAMとかもついてけないんだろうか。
そういやMMOするのも一苦労だったな、あの頃は。
193:デフォルトの名無しさん
06/12/19 23:55:07
>>190
このボタンをおしたら2つフレームを出して、ボタンの乗っているカードレイアウトのページを切り替えて・・・とか
そういうのもあるからページベースで考えるというのは無理がある
それに画面遷移の一元管理なんてべつにむずかしくはないだろ
194:デフォルトの名無しさん
06/12/20 08:39:04
>>193
JSFのページ遷移でいいんだよ。
画面遷移エディタで俯瞰で見れるのが欲しい。
195:デフォルトの名無しさん
06/12/20 20:54:04
最近思うんだがMSの.Netでいいんじゃないかと。
Java EE + ウェブコンテナ + ジャカルタ + オープンソース系の技術
これらの寄せ集めもいいが、この統一感が無い感じこれらの技術よりと
結局は同等のことが出来るMSで統一するのが一番楽に思えてきたんだよ…
若いっていいよな…
196:デフォルトの名無しさん
06/12/20 20:57:11
>>195
今はPCサーバの能力あがったから大丈夫かもしれんが、ちょいと前まではスケーラビリティの問題がでかかったんだよね
197:デフォルトの名無しさん
06/12/20 22:34:55
>>195
Java EEのJSF+EJB3でだいたいいけるよ。
198:デフォルトの名無しさん
06/12/20 23:31:45
>>195氏のためにNetBeans Visual Web Packを試してみるか。
199:デフォルトの名無しさん
06/12/21 00:21:31
>>199
JSCとほぼ同じだが、いい感じで統一感がでてると思うね。
200:デフォルトの名無しさん
06/12/21 00:34:44
>>195
俺も昔そう感じていた時期もあったが、
バージョンアップによる互換性のなさに嫌気がして、
その世界から抜け出した。
いまでも.NETで互換性の問題が出ているようだし
判断は間違ってなかったと思ってる。
もちろん、100%PureMSの生み出すパワーは魅力的なのは否定しないがね。
201:デフォルトの名無しさん
06/12/21 00:37:14
仕事で使うのが未だに1.4だらけな件…
202:198
06/12/21 01:07:05
うん、画面遷移も楽そうだった。SessionBean1とか作られてるんだがTomcatだけで動いてるのが何か不安w
203:デフォルトの名無しさん
06/12/21 07:25:51
Javaが良いのは、MSの(API解説)文章よりも
SUNの文章の方が優れていたからじゃないかと思ってる。
Java周辺(SUN/IBM周辺)の技術文章(や本)で統一感があれば
MSのサービスなんか目じゃなくなるんだろうな…
204:デフォルトの名無しさん
06/12/21 07:29:48
技術の相互互換性の問題とバージョンアップの後方互換性の問題のようだね。
足腰が不安定なオープン形の技術よりも、長期間手厚くサポートされ最後まで存続する
技術(ソフト・サービス)はMSの方だと思う。
だけど、現状で融通が利くのは>>195の指摘する限りだ。
205:デフォルトの名無しさん
06/12/21 09:19:40
昔は「MS」という名前を見ただけで発狂するJava使いが多かったが、冷静に語れる時代になったんだなあ。
206:デフォルトの名無しさん
06/12/21 11:26:19
>>205
そんな奴はJava界にとっても害悪でしかないからなあ。消えてもらって結構。
思う存分Googleでもマンセーしてればいい。
207:デフォルトの名無しさん
06/12/21 11:34:31
>>204
そうかなぁ?
MSも技術的には不安定だと思うね。
元VB使いなんだが、2.0から使ってて、バージョンアップの度に、移植に手間がかかったり、
クライアントの環境によっては動かない事があるなど、
いい思い出はない。
208:デフォルトの名無しさん
06/12/21 11:41:42
>>205
元々MS嫌いな奴らがいて、
彼らがJavaに飛びついただけ。
単純に言語的な魅力を感じて、Java使いになった人もいるわけで。
今は後者が増えたのだろう。
209:デフォルトの名無しさん
06/12/21 12:03:45
>>195
それが統一感がないと感じるのか。
それならJakarta を外してSun純正にすれば?
210:デフォルトの名無しさん
06/12/21 13:45:21
色々な開発方法が利用できることが良いとみるか悪いとみるかだな。
ASP.NETは型にはまれば楽チンだが、ちょっと型から外れることを行うときは、
一から自分でお膳立てしないといけなくて面倒なこともあるよ。
211:デフォルトの名無しさん
06/12/21 19:23:28
>>209
そういうことじゃないと思うよ。
212:デフォルトの名無しさん
06/12/21 19:26:00
>>210
そういうのところ(ニッチ市場ともいうか)以外は全部MSになってしまうってことなんだね。
Javaの出番は結局大規模上層のところなのかなぁ
213:デフォルトの名無しさん
06/12/21 20:17:53
>>212
どうしてそういうレスになるんだ?
日本語理解できてる?
214:デフォルトの名無しさん
06/12/21 23:07:37
Railsの興隆とかも、結局MSが作ってきたオールインワンなプロダクトの
フリー版が出てきたよ!ってだけの意味しかないと思うんだが、
何であんなにみんな寄ってたかってあがめたてるのか謎だわ。
まぁ、Rubyの言語的に優れたところを認めるのにはやぶさかではないが。
215:デフォルトの名無しさん
06/12/21 23:13:36
Railsの場合は宣伝パワーかねぇ。
216:デフォルトの名無しさん
06/12/21 23:34:21
JavaDocは中々優れたツールなんだけど
皆あんまり真面目に書かないんだよな
事前条件の提示とかフェイルファストとかスレッドセーフとか
確かにSunのドキュメントは細かく書かれてて戸惑いが少ない。
驚き最小限の法則に基づけばこの姿勢は大切。
217:デフォルトの名無しさん
06/12/22 02:31:53
Macが売れ出してWindowsあぼーんでJavaが大活躍。
そんな未来が、君には見えないのか?
218:デフォルトの名無しさん
06/12/22 05:17:12
それをいったらRubyにも同じ未来が!
Javaは、Macでデスクトップでの可能性が見れたという部分は大有りだがな。
GPL化されたJVMをプレインストールしてPC売り出す勇気のある会社はねえんかね
219:デフォルトの名無しさん
06/12/22 13:18:36
GPL化されてなくてもプリインストールされてるけど、なんか問題あるか?
220:デフォルトの名無しさん
06/12/22 15:17:14
>>216
自分はちゃんとjavadocコメント入れてるよ、というかうちのチームは入れないと深夜に呼ばれて質問されても文句言えないって教わってきたからだけど。
221:デフォルトの名無しさん
06/12/22 15:19:58
>>220
いいチームだな
ドキュメントコメントいれておけば補完時に説明出るしね
別途用意したドキュメントとは別次元
publicなメソッド等にはドキュメントコメントがないとコンパイルエラーでてもいいと思うんだ
222:デフォルトの名無しさん
06/12/22 16:26:51
>>216
書いてるよ。Eclipseのプラグインを
使わないと真面目に書く気起きないだろうけど
223:デフォルトの名無しさん
06/12/22 19:35:11
>>216
書いてるよ。
でも中国人の中国語が文字化けしてるよ。
224:デフォルトの名無しさん
06/12/22 22:18:32
Sun の中の人のブログ
URLリンク(blogs.sun.com)
で、言語拡張のリストっぽいのが出てる。
closure のリンク先見るに、>>132 よりはこっちのが新しいっぽい?
>>132 と比べると BigDecimal の四則演算が見当たらない。
代わりに C# のインデクサっぽいのが入ってたりする。
ついでに、closure の最新っぽい草案
URLリンク(www.javac.info)
もひとつ ついでに、>>135 で触れてる gosling案とかを実装してみたらしい。
URLリンク(weblogs.java.net)
225:デフォルトの名無しさん
06/12/23 20:35:14
型推論は個人的にちょっとまった!だな。
変数のスコープが分かりにくくなる形での推論は特に。
var型とかを用意して必ず有効な参照で
初期化しなければならないくらいのルールは欲しい。
可読性対策に問題が出るくらいなら冗長なGenericsのままのがいいす。
226:デフォルトの名無しさん
06/12/23 20:45:53
IDEが自動補完してくれたほうがいいな。
227:デフォルトの名無しさん
06/12/23 20:54:26
> 変数のスコープが分かりにくくなる形での推論は特に
って具体的にどーゆー事かわからん。
228:デフォルトの名無しさん
06/12/23 21:05:19
スクリプト言語みたいに
始めてその名称が使用されたタイミングで
参照型が作られるのはアカンということ。
229:デフォルトの名無しさん
06/12/23 21:22:49
>>224 にある奴とかは、単に変数宣言のシンタックスシュガーなだけでしょ。
スコープがわかりにくくなるんかな?
230:デフォルトの名無しさん
06/12/23 21:29:19
メソッドの頭から眺めるなら大したことじゃないが
スタックトレースからコード追うときはイラっとくるかも
231:デフォルトの名無しさん
06/12/23 21:59:35
スコープが混乱するのって
URLリンク(weblogs.java.net)
の for ループの中で algol構文のシンタックスシュガー使ってる時だけだと思うが。
後は final が付いてたり := があるから変数宣言してんのわかるし。
232:デフォルトの名無しさん
06/12/25 18:39:39
Concurrent API便利なのに使ってる人少なすぎ
233:デフォルトの名無しさん
06/12/25 23:23:49
>>232
話題にならないのはすでに2年以上も前の話だからだろ?
234:デフォルトの名無しさん
06/12/26 16:42:28
マルチスレッドでプログラムしてる人が少ないんだろうな
そしてプログラムで使える人はわかってる人。
というか、次世代じゃなくて現世代だよな。
235:デフォルトの名無しさん
06/12/26 21:00:24
Webアプリだとコンテナとフレームワークの上でガシガシ組むから基本スレッドは意識しないな。
236:デフォルトの名無しさん
06/12/26 21:15:30
Concurrent APIとかフレームワーク作る人が使うもので
フレームワーク使う人が使うものじゃないな
237:デフォルトの名無しさん
06/12/26 22:59:07
>>234
前世代だろ?
238:デフォルトの名無しさん
06/12/26 23:33:19
>>235
こんな、やつがwebアプリ作るからwebアプリって全般的に品質低いんだよ。
たとえば、J2EEは、基本マルチスレッドモデルだからインスタンス変数なんか定義して
リクエストの情報を設定したりなんかすると平気で他人の状態に書き換わったりする。。
strutsみたいなフレームワークを使ってても同様↓
ActionのJavadocより引用
------
リクエストの状態に関連する情報を保持するためにインスタンス変数やスタティック変数を使用してはいけません。
インスタンス変数やスタティック変数は同一のアクションに関してリクエストをまたがってグローバルなリソースを共有したい場合に使用します。
239:238
06/12/26 23:42:30
もっと詳しい解説があった。
とにかく、webだからスレッドなんて関係ないぜ。ってのは、よしてくれ。
URLリンク(www.atmarkit.co.jp)
240:デフォルトの名無しさん
06/12/27 00:06:25
>>232
日本語のサンプルすくないじゃん。
サンプルがないとコードがかけないと思う。
241:デフォルトの名無しさん
06/12/27 01:19:41
>>238
WEBアプリだと自分で明示的にスレッド作ることは
あまり無いっちゅうことじゃないの?
さすがにそのレベルの間違いをする人はそんなにいない・・・
と言いたいところだが、ちらほら見かけた。
StrutsのActionクラスとかにインスタンス変数書きまくって
「テスト通る時と通らない時があります!
FWのバグじゃないですか?」
とかこいてて、いますぐ死ねってまじで思った。
242:デフォルトの名無しさん
06/12/27 05:10:02
何のためにセッションやらリクエストパラメータがあるのかと小一時間>>Webアプリのへたれプログラマ
243:デフォルトの名無しさん
06/12/27 05:17:26
>>241
いやいや、マルチスレッドなのにオブジェクトを使い回すような設計になっているのが悪いんじゃないか。
いまやオブジェクト生成・破棄のコストはそんなに重大ではないんだから、
もっと素直にプログラムできるようなモデルにすべきだった。
244:デフォルトの名無しさん
06/12/27 08:12:03
>>243
設定でシングルスレッドモデルって言ってシングルスレッドで動作させる
ようにもできる。
その上でフレームワークを使うって言ったら結構なメモリを使うであろうことが
容易に想像できるわけだが。
245:デフォルトの名無しさん
06/12/27 12:32:11
もうシングルスレッドモデルはねーぞ
それにインスタンスも複数使われるかもしれないし、ひとつかもしれないという自由度だったはず
Tomcatはひとつだったはずだけど
スレッドプーリングしてるんだよとか基本を教えないでこのメソッドのみで適当に作っといてとしかいわないのも悪い
246:デフォルトの名無しさん
06/12/27 14:22:28
結構なメモリってどんな処理だ?
247:デフォルトの名無しさん
06/12/28 08:29:24
配列のインターフェイスが欲しいな。例えばjava.lang.Array見たいな感じ。
interface Array<T>{
T get(int idx);
void set(T value, int idx);
int getLength();
Array<T> clone();
Class<? extends T> getComponentType();
}
見たいな感じ。で、
String[] hoge = new MyArray<String>();
みたいに配列として使える感じ。逆もありで、
Array<String> array = hoge;
として代入も可能。タイプパラメータがあってればいい感じ。
通常の配列もこのインターフェイスを実装済みでいいかも。
248:デフォルトの名無しさん
06/12/28 08:31:24
>>247
言語仕様的にはできなくは無いだろうけど、JVMレベルでの互換性を
壊すから、まず入ることは無いだろうな。あと、従来の配列はcovariantだが
genericsはcovariantじゃないというのもある
249:デフォルトの名無しさん
06/12/28 11:17:30
>>247
配列じゃないけど indexer っぽいのは >>224 の wish list に入ってたけど。
250:デフォルトの名無しさん
06/12/28 23:45:13
>>247
ここのArray Syntax for Collectionsがあればいいんじゃない?
URLリンク(blogs.sun.com)
251:250
06/12/28 23:46:00
あ、249が言ってるのと同じだった。
252:247
06/12/29 00:47:46
構文のサポートも欲しいところなんですが、
配列を抽象化できるのも魅力かなと。
でもcovariantが・・・なるほどね。。。
BigDecimalの四則演算対応も、できれば何かの特定のインターフェイスを
実装していれば対応できるというのが希望。
それって何て演算子オーバーロード?って言われそうですが・・・
253:デフォルトの名無しさん
06/12/29 01:36:56
ArrayList<Integer> list = {12, 34, 56};
みたいな初期化ができれば、配列の抽象化にこだわる必要はまったくなくなると思う。
コレクションのための配列構文も、[]のオーバーロードみたいなもんだし。
254:デフォルトの名無しさん
06/12/29 01:44:57
型推論っていうんだっけ?
List<Integer> list = {12,34,56};
は、コンパイルエラー?
255:デフォルトの名無しさん
06/12/29 03:26:09
デフォルトをつけるかどうかだよね。
自分は、それはコンパイルエラーでいいと思う。
256:デフォルトの名無しさん
06/12/29 03:28:09
要するにこんな感じのが欲しい。
URLリンク(d.hatena.ne.jp)
257:デフォルトの名無しさん
06/12/29 10:02:43
>>253
final list = ArrayList.of(1, 2, 3);
でよくね? >>250 に載ってる
・More factory methods for colllection classes
・Shorthand syntax for declaring local variables
のあわせ技で出来ると思うんだけど。
258:デフォルトの名無しさん
06/12/29 10:23:29
> More factory methods for colllection classes
問題は Map の factory method だよな、と思う。
259:デフォルトの名無しさん
06/12/29 10:32:38
List<Integer> list = Arrays.asList(1, 2, 3);
260:235
06/12/29 12:00:42
>>238
インスタンス使い回すっていうコンテナの構造上の問題は普通に意識するだろ。
マルチスレッド以前の問題だ。
Webアプリでスレッドを用いる必要があるのはデータのインポート&エクスポートぐらいだと思う。
重い処理をする間、ユーザーを待たせないっつー意味で。
261:デフォルトの名無しさん
06/12/30 13:25:27
java.ioとnioの親和性をもうちょっと頑張って欲しいな
262:デフォルトの名無しさん
06/12/31 02:02:39
親和性って具体的には?
263:デフォルトの名無しさん
06/12/31 02:41:17
Channelはデコレートパターン向きじゃないからね
Buffered*StreamみたいなのBuffer版アダプタを
標準で用意してくれるだけでも嬉しい
264:デフォルトの名無しさん
06/12/31 02:52:32
ああ、しかし、BufferedとByteBufferだと名前が似すぎて間違えるか
265:デフォルトの名無しさん
06/12/31 10:56:51
>>263
BufferedChannel みたいなものが欲しいって事?
ByteBuffer.wrap(new byte[1]); みたいな小さい ByteBuffer 作って
ちょこまか読み書きしてないなら大して必要とも思わないけど。
ってか、java.ioとの親和性とか関係ないような。
266:デフォルトの名無しさん
06/12/31 12:14:45
ByteBufferInputStreamとかStream側にあわせるアダプタだろ
267:デフォルトの名無しさん
06/12/31 13:16:45
> ByteBufferInputStream
要るか?
268:デフォルトの名無しさん
06/12/31 13:34:33
>>267
それが欲しければアプリの中で用意すれば?
ってレベルの需要だろうなぁ
269:デフォルトの名無しさん
06/12/31 13:34:34
場面によりけり。ダイレクトバッファ使ってる場合なら欲しい。
270:デフォルトの名無しさん
06/12/31 13:51:22
writeToメソッドみたいなのがBufferに欲しい
271:デフォルトの名無しさん
06/12/31 14:46:16
>>269
ダイレクトバッファ使ってても、
InputStream や OutputStream のデコレータだったらアドバンテージないんじゃ?
272:デフォルトの名無しさん
06/12/31 14:48:28
>>270
ByteBuffer#get(byte[]) とかあるけど。
273:デフォルトの名無しさん
06/12/31 14:50:18
>>272
それを言うなら ByteBuffer#put(byte[]) じゃないかと。
274:デフォルトの名無しさん
06/12/31 14:52:27
マップファイルを外部にゲロるのに便利そう writeTo
275:デフォルトの名無しさん
06/12/31 14:55:19
>>271
コンポーネント単位で見ればそれもありでは?
nioのが効率はいいんだから、
最適化が必要になった時にnioにあわせていけばいい。
276:デフォルトの名無しさん
06/12/31 14:56:41
便利に使いたいだけなら
NIOUtils.writeTo(WritableByteChannel, ByteBuffer)
みたいなユーティリティメソッドつくっときゃ良いだけのような。
277:デフォルトの名無しさん
06/12/31 15:01:08
>>275
いや、単純に無駄だよねって話。
中途半端にやるとクラスが汚くなるだけだし。
最適化が必要になりそうならアプリ側で入出力処理を抽象化しておきゃ良いんだし。
278:デフォルトの名無しさん
06/12/31 15:06:00
>>277
内部で Channel 使った ChannelInputStream とか ChannelOutputStream で最適化する時
read(ByteBuffer) とか write(ByteBuffer) があると便利なんだよ!
すげーアホ臭いな。そんだったら最初から Channel 使えば良いし。
279:デフォルトの名無しさん
06/12/31 15:07:05
> NIOUtils.writeTo(WritableByteChannel, ByteBuffer)
要るか?
280:デフォルトの名無しさん
06/12/31 15:07:07
ん?Servletにnioを適用するための記事とか普通に出回ってるが
281:デフォルトの名無しさん
07/01/05 02:17:08
6.0でCommons Modelerを使用してPOJOを登録したんだがjconsoleのmbeanタグ
で表示されないのは既出ですか?
282:デフォルトの名無しさん
07/01/10 21:20:03
DOMとコレクションフレームワークの親和性をあげてほしいなぁ。
283:デフォルトの名無しさん
07/01/11 01:52:34
Closure の人(?) が面白いアイデアを書いてる。
URLリンク(gafter.blogspot.com)
なんか、javac弄って遊ぶプロジェクトらしい?
URLリンク(ksl.dev.java.net)
URLリンク(blogs.sun.com)
>>224 の一番最後の人が property を試しに実装してみたらしい。
URLリンク(weblogs.java.net)
protperty 慎重派の人も居るらしい。
URLリンク(weblogs.java.net)
アプリ書く人と、ライブラリ(Swingコンポーネントとか)書く人の違いなんだろか?
284:デフォルトの名無しさん
07/01/11 19:27:09
propertyってどんな機能を指してるのかよくわかんないんだけど
object.x = "hoge" を object.setX(String str)
String str = object.x を object.getX()
にmappingする機能でおk?
ObjectPascal とかだと直接フィールドを参照するか、メソッドを指定するかとか出来るけど
そーゆー事も考えられてるのかな?
フィールド指定を可能にすることで無駄なsetter,getterの記述が不要になることが
propertyを導入する最大の利点だと考えてるのでそーゆーのが考慮されてないといまいちだなぁ
285:デフォルトの名無しさん
07/01/11 20:03:56
>>284
> propertyってどんな機能を指してるのかよくわかんないんだけど
それ自体も議論の対象っぽい。
getterやsetterの呼び出しのシンタックスシュガーだけじゃなくて
暗黙的なフィールドやgetterやsetterの宣言のシンタックスシュガーまで含んでたり。
例えば、public property int hoge; って書くと、暗黙のうちに
private int hoge;
public void setHoge(int h){ hoge = h; }
public int getHoge(){ return hoge; }
が自動生成されるとか。
java.lang.Class に getProperty みたいなメソッドを追加したいって人も居るし。
JavaBeans の場合は firePropertyChange よんだりも!ってのもあるかもしんないし。
他にも色々あるんじゃない?
>>283 で紹介されてる実装だと、property つけて宣言しないと
シンタックスシュガーでセッターゲッターにアクセスできなかったりする。
286:デフォルトの名無しさん
07/01/11 20:22:31
> フィールド指定を可能にすることで無駄なsetter,getterの記述が不要になることが
でも、これって 5文字ぐらい節約できるってだけなんだよねぇ……
287:デフォルトの名無しさん
07/01/11 22:05:40
>>286
いやいや違う、漏れが言いたいのは
//フィールドの定義
private int fieldX = 0;
//値をセットするときに必要な特殊処理
public void setX(int x){
this.fieldX=x;
this.logic();
}
//プロパティの定義でgetterはそのまま使って、setterはメソッドを使う
property int x read fieldX write setX;
イメージ的にはこんな感じ。ほぼObjectPascalなんだけどさ。
フィールドの定義は省略して、暗黙的に定義してくれるとなおよさげ。
288:デフォルトの名無しさん
07/01/11 22:43:37
>>287
その辺は どー転ぶかわかんない。property 自体却下される可能性もあるし。
とりあえず >>283 のプロトタイプだとできない。
> property int x read fieldX write setX;
この構文だと、Java では フィールド名と同じメソッド名付けられるから
fieldX って名前のフィールドに加えてメソッドまであったらどーすんだろ、とか
setX 以外の名前が指定できると、現在既にあって setX を期待してる
フレームワークが困りそうだなぁ、と思った。
289:デフォルトの名無しさん
07/01/12 23:43:12
URLリンク(jcp.org)
Eclipse FoundationがJCPメンバーとして参加することに
なったらしい。ちょっと前にEclipse代表のMike Milinkovichが
JSR277とJSR291の進行に激怒してたからなんかやるだろうなとは思ってたけど。
JSR291に反対票投じたRedhatも先月推進派に転じたみたいだし、さらに今度の
Eclipseの票も加えて1/16~22にあるJSR291の投票をのりきりたいんだろうね。
290:デフォルトの名無しさん
07/01/16 01:46:34
>>287
setXxx、getXxxっていうのをプロパティとみなす仕様は変えれないと思うよ。
IDEのプロパティエディタやらJSPのELやら、既存のツールやライブラリが使えなくなる。
291:デフォルトの名無しさん
07/01/16 05:09:43
Java6の話はどこですればいいのかな?
292:デフォルトの名無しさん
07/01/16 19:56:31
>>291
現世代Javaの動向 1
スレリンク(tech板)l50
293:デフォルトの名無しさん
07/01/18 08:02:25
AjaxでハイブリッドP2P型を作成しようと思っているのですが、
これを作るにはJ2SE,J2EE,J2MEの内、どれが相応しいのでしょうか?
次世代Javaに詳しい方教えて下さい。
294:デフォルトの名無しさん
07/01/18 08:06:11
mustang で普通に起動した JVM に jconsole からアタッチできるようになったという
記事を見て jconsole を使おうとしたんだけど、起動後に "JConsole: Output" っていう
ウィンドウが開いて
java.lang.UnsatisfiedLinkError: no attach in java.library.path
というエラーが表示されるし、ローカルプロセスに接続しようとしても
「接続に失敗しました」となってしまいます。
うまく JVM にアタッチするにはどうしたらいいんでしょうか?
Windows XP, JDK 1.6.0 を使っています。
295:デフォルトの名無しさん
07/01/18 19:15:17
>>293
構成が今一良く分からない。Webサーバ+P2PでUIがブラウザなわけかい?
J2EEのServlet(Jettyあたり)を落としてきて、残りはSEでガリガリ書きなさいな。
296:293
07/01/19 07:57:58
>>295
P2Pでコミュニティとファイル共有システムを作って、ソフトウェアで提供しようとしているので、
中継ノードでピュアP2P型にするか、中央サーバーでハイブリッドP2P型にするかのどっちかになるのですが、
それぞれJ2SE,J2EE,J2MEのうち、何が相応しいのでしょうか?
教えて下さいませ。
297:デフォルトの名無しさん
07/01/19 10:32:49
>>296
まず、J2SE,J2EE,J2MEが何かぐらいは調べて置いたほうがいいだろ。
それとスレ違い。
298:デフォルトの名無しさん
07/01/19 15:30:45
JDK7 build06
URLリンク(download.java.net)
URLリンク(download.java.net)
個人的にはまだぱっとした新機能ないなぁ
299:デフォルトの名無しさん
07/01/19 20:33:11
Java6の役目はその機能ではなく、1.4.2を古いものとし、
Generics環境へのGOサインを導き出してくれることにある。
Java7もXML構文とか登場してまた汚れる(w)から
Java7のデビューはJava8のリリースからとなる。
300:デフォルトの名無しさん
07/01/19 23:12:57
Genericは結構なんだけど旧形式のコレクションも@deprecatedにしないで
共存させといて問題ないと思うのだが。これのせいで1.4からの移行が進みにくい。
301:デフォルトの名無しさん
07/01/19 23:15:09
5.1が出ないってことは、最近のJREはアーキの急遽対応がないんだな。
6は載らなかった機能が一杯あるから枝が付くとなんとなく思ってるが
302:デフォルトの名無しさん
07/01/20 01:27:40
6はおまけっぽいのがてんこもりだからね。
303:デフォルトの名無しさん
07/01/20 01:29:35
>>300
どういうこと?
304:デフォルトの名無しさん
07/01/20 01:55:04
普通に「互換性あれば簡単に乗り換えれるのに」って意味じゃないの?
305:デフォルトの名無しさん
07/01/20 02:22:19
コレクションは互換性のために残されたレガシーコレクションとはあるが
非推奨だなんて注釈もdocタグも無いはずなんだが。
306:デフォルトの名無しさん
07/01/20 02:28:02
> 6は載らなかった機能が一杯あるから枝が付くとなんとなく思ってるが
1.5.1 とか 1.6.1 とか出さないって言ってなかったっけ?
307:デフォルトの名無しさん
07/01/20 03:06:14
ああこれのことね。無視すればいいけど、うちは何も考えずに<Object>つけてるぞイミねぇ
注: ArrayListDemo.java の操作は、未チェックまたは安全ではありません。
注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
308:デフォルトの名無しさん
07/01/20 03:17:36
無視したいなら@SuppressWarnings("unchecked")でいいじゃん
309:デフォルトの名無しさん
07/01/20 06:46:59
>>307
<?>の方がよくねぇ?
310:デフォルトの名無しさん
07/01/20 13:18:36
例外にもジェネリクス対応して欲しいな。
型パラメータが付いたThrowableのサブクラスを作りたい。
例えば、
class IORuntimeException<IOException> extends RuntimeException{
}
のように定義して、
catch(IORuntimeException e){
throw e.getCause(); //<--IOExceptionをスロー
}
と使えると最高。
311:デフォルトの名無しさん
07/01/20 15:38:32
RuntimeExceptionが何故IOExceptionを投げるんだ・・・
312:デフォルトの名無しさん
07/01/20 15:49:49
IOExceptionをRuntimeExceptionでラップしたいんだろ。
313:デフォルトの名無しさん
07/01/20 16:06:04
>>310
Closure で例外を透過的に使うために、ってんで検討はされてるけど、
>>310 みたいな気持ち悪い奴じゃない。
314:デフォルトの名無しさん
07/01/20 16:31:14
Neal Gafter's blog
Thoughts about the future of the Java Programming Language.
URLリンク(gafter.blogspot.com)
315:310
07/01/21 01:49:23
キモくてスマン。
単純にチェック例外を実行時例外でラップしたいだけ。
例外にジェネリクスが使えると、色々面白そうだけど。
class Hoge<T>{
void piyo() throws WrapperException<T>{
...//色々
}
void fuga() throws T{
try{
piyo();
}cathc(ExceptionWrapper<T> e){
throw e.getCause();
}
}
}
316:デフォルトの名無しさん
07/01/21 02:15:50
> void piyo() throws WrapperException<T>
> }cathc(ExceptionWrapper<T> e){
……。
ってか、普通に考えて ExceptionWrapper<InvocationTargetException> と
ExceptionWrapper<IllegalAccessException> が実行時に同じクラスに
成り下がりそうで拙いよね……
まぁ、ある意味では「色々面白そう」だけど。
317:デフォルトの名無しさん
07/01/21 11:26:48
>>300
問題ないはずだけど
>>308
は旧式のライブラリとの境目で使う
事実上JPAでも必須だけど
>>309
明示的にするなら<Object>のほうがいいとおもう
ただ、これを使ってる時点でGenericsの恩恵ゼロだけどね
従来のライブラリ葉変更せずに使う場合>>308を接合部分につかってラッピングするべし
318:デフォルトの名無しさん
07/01/23 10:31:36
突然だけど将来的にSEとEEにApache FOPも追加してくれんかな?
そうすると標準ライブラリだけでXML何でもあり状態で便利なんだが。
EEは需要ありそうだが・・・
ただでさえjdk6は標準ライブラリだけで近代的なブラウザが書ける奇抜な言語だぜw
319:デフォルトの名無しさん
07/01/23 15:43:59
安藤幸央のランダウン[32]
Java SE 6へ移行する理由と移行をとどまる5つの理由
URLリンク(www.atmarkit.co.jp)
320:デフォルトの名無しさん
07/01/23 18:04:30
>>319
Itanium 1、2がサポートされなくなったのか。
Itanium おしまいだな。
321:デフォルトの名無しさん
07/01/23 21:53:16
>>319
なんか、細かいミスというか認識不足が多すぎる気がするよ。
Java SE 7は、もうDolphinとは呼ばれてないはずだし。
322:デフォルトの名無しさん
07/01/23 21:59:45
というか、JDKとJava2SE/JavaSEが混同されすぎ。
323:デフォルトの名無しさん
07/01/24 18:06:01
>>319
正式リリースされている 6系の話題は、現行スレでお願いします。
324:デフォルトの名無しさん
07/01/24 19:59:04
java.comがjre6を頒布するのはいつごろの予定なの?
325:デフォルトの名無しさん
07/02/02 17:04:58
JDK7 build07
URLリンク(download.java.net)
URLリンク(download.java.net)
やはりまだnew featureよりバグフィックスが目立つ
326:デフォルトの名無しさん
07/02/02 18:15:15
>>322
いまならJava SE
JDKは開発キットだからな(JREに対しての)
327:デフォルトの名無しさん
07/02/02 18:16:33
>>319
> 1.3.1以前のバージョンはEnd of Life、サポート終了の扱いです。
なるほど。古いことは気にしなくて良いとは
気が楽だ
法務省のJavaアプリが古いJVMに
しか対応していなかった問題も解決されると願う
328:デフォルトの名無しさん
07/02/02 19:20:14
1.4も1.4.2までいったから多少長かったけど、今からだとサポート期間短いよね
2世代前のものだから当たり前だが
329:デフォルトの名無しさん
07/02/03 08:40:58
>>327
MOJ乙
330:デフォルトの名無しさん
07/02/08 21:18:56
Closures for the Java Programming Language (v0.5)
URLリンク(www.javac.info)
{int,int=>int} plus = {int x, int y => x+y};
うーん、もすこしメソッドと同じような文法にならなかったのかな・・・
331:デフォルトの名無しさん
07/02/09 02:06:03
>>330
新しいのは
・nominal version が消えた。
・ユーザ定義のループ定義が草案入り。
ぐらいか。
より良い構文を考え付いたなら、
そっち方面の人のブログにでもコメントしとけば?
332:デフォルトの名無しさん
07/02/09 02:06:58
>>329
MOJ?
何それ?
333:デフォルトの名無しさん
07/02/09 09:01:30
ぐぐると一番最初にくる省庁の英語略称
そこの担当者
334:デフォルトの名無しさん
07/02/10 14:59:27
Java++
335:デフォルトの名無しさん
07/02/11 20:39:31
Java#
336:デフォルトの名無しさん
07/02/12 01:18:02
=>
ってどっかで見たことあるような
337:デフォルトの名無しさん
07/02/12 03:26:06
PerlやPHPのハッシュに使う演算子だろ。
338:デフォルトの名無しさん
07/02/12 07:48:17
Java2.0
339:デフォルトの名無しさん
07/02/12 13:04:01
>>338
それはもう古いぞ
340:デフォルトの名無しさん
07/02/12 13:24:02
JavaX
341:デフォルトの名無しさん
07/02/12 13:42:03
>>338-339
ワラタ
342:デフォルトの名無しさん
07/02/12 14:25:37
>>340
それはjavax.rmiみたいなパッケージとして存在するし
>>338
今はJava 6 の時代だろ
343:デフォルトの名無しさん
07/02/12 14:33:13
>>340
JBuilder Xを連想した。
344:デフォルトの名無しさん
07/02/12 15:56:36
JavaOSX?
345:デフォルトの名無しさん
07/02/12 17:26:37
Java Vista
346:デフォルトの名無しさん
07/02/12 17:58:03
JavaMillenniumEdition
347:デフォルトの名無しさん
07/02/12 18:33:41
Javaって、いつからOSになったんだ?
348:デフォルトの名無しさん
07/02/12 18:34:34
JNodeから
349:デフォルトの名無しさん
07/02/12 18:35:56
Japan Vistaと
Java MEみたいだ
350:デフォルトの名無しさん
07/02/12 20:05:48
JavaMX
351:デフォルトの名無しさん
07/02/12 21:06:04
JMXみてえじゃねえか
(Java Management Extension)
352:デフォルトの名無しさん
07/02/13 05:36:14
Java侍
353:デフォルトの名無しさん
07/02/13 15:41:53
ooの画面ってJavaみたいに見えるし、
実行はネイティブみたいだし、
あれはどういうテクノロジーなんでしょうか?
354:デフォルトの名無しさん
07/02/13 23:17:23
oo?OOoか?
eclipseもOOoもネイティブな実行ファイルはただのダブルクリッカブルじゃなかった?
355:デフォルトの名無しさん
07/02/14 01:53:19
>>353
Swingのように自前でUIコントロールを描画しているのかねぇ?(謎
356:353
07/02/14 08:42:19
>ネイティブな実行ファイルはただのダブルクリッカブル
ダブルクリッカブルって何ですか?
OOoはクロスGUIを使ってるからモッサリなんじゃないですか???
モッサリでも良いからクロスGUI欲しいお。
357:デフォルトの名無しさん
07/02/14 08:53:48
ググレカス
URLリンク(api.openoffice.org)
358:デフォルトの名無しさん
07/02/14 10:40:15
>>357
(><;) なんにもわかんないんです!><
/つと ノ
しー-J
359:デフォルトの名無しさん
07/02/14 13:57:37
>>356
クロスGUIつーかSwingのLnFが何やってるか知ってるか?
360:デフォルトの名無しさん
07/02/14 14:12:15
(><;) Swingを使った事はありますがLnFわかんないんです!
/つと ノ
しー-J
361:デフォルトの名無しさん
07/02/14 14:28:01
>>353
あれはC++だろ。
362:デフォルトの名無しさん
07/02/14 14:28:44
>>356
普通に考えて
Double Click + able
ダブルクリック可能って意味になるだろ
363:デフォルトの名無しさん
07/02/14 14:30:45
>>360
URLリンク(e-words.jp)
URLリンク(ja.wikipedia.org)
364:353
07/02/14 14:47:38
Java2より前のSwingしか使った事無いのですが、
今のSwingってXMLのスキンとかいうやつですか?
そのUIから、実行ファイルみたいなのをキック?
それともJNIコール?
365:デフォルトの名無しさん
07/02/14 15:03:35
>>364
言ってる意味がわからないが
勝手に言ってることを予測して答えてみる。
今のSwingは性能が良い。
スキン変更はJavaプログラムで可能。
そのためWinXPのルナスキンを利用可能。ただしこれはWin
意外のOSで使うと著作権侵害になるのでWinのとき専用。
MacのときはMacのスキンも使える。
よって見た目は綺麗。XAMLやCAMLやXULみたいな、
XMLでスキンを変えられるかどうかということについてはよく知らない。
キック? については、これも推測すると。
恐らく、Java Web Startの事を言っているのかと推測。
SwingアプリをJava Web Startに対応させるには、拡張子がjnlpという
XMLファイルを作って、そこの決められたフォーマットでSwingアプリの
main()メソッドがあるクラスへのリンクや
バージョン情報、必要なJREのバージョンなどを記述する。
すると、ブラウザ上で拡張子jnlpファイルを見つけると、まさにキックされ、
MIMEタイプを確認し、JREが入っているかどうかを確認し、バージョンチェックされ、
Java Web Startが起動し、Swingアプリのバージョンをチェックされ
Swingアプリが起動し実行される。
Java Web Startは、JNIは一切関係が無い。
366:353
07/02/14 15:09:13
OOoのような画面をクロス環境(Win、MAC、Linux)で使いたかったらどうすれば良いのでしょうか?
で、処理部分はC++を使いたいです。
367:デフォルトの名無しさん
07/02/14 15:10:08
Java2より前ってことはオプショナルパッケージのころか
そのときの知ってる人はもう少ないな
あの当時とはもはや別物だと思っていい
WebStartは今はデスクトップやプログラムメニューなどのショートカットに対応
つまり2回目からはブラウザの起動すら必要はない
そしてプログラムの追加と削除でもアンインストールができるようになってる
もちろん今までどおりコントロールパネルのJavaキャッシュからの削除なども出来る
368:デフォルトの名無しさん
07/02/14 15:18:38
OooでJavaを使うのは、文書にJavaアプレットを埋めたりするくらいじゃな
かったか?
もしかしてMetalでない各プラットフォームで固有LnFにしたいってだけの
話なら、
String sysLnfClassName = UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(sysLnfClassName);
369:353
07/02/14 15:23:15
いや、Java側から考えるのでなくて、
C++のコードがあるのですが、
GUI部分を1つ定義してWin、MAC、Linux全対応したいです。
そのときにC++側からSwing画面を開けるのかなー?、と。
370:デフォルトの名無しさん
07/02/14 15:26:58
JNIはC++ APIもあって、データのやりとりも出来るので、
GUIをSwingで作って、エントリとなるメソッドをC++から
キックすればOK。
371:デフォルトの名無しさん
07/02/14 15:39:37
>>364
Java2以前ってことはSwingというよりJFC?
XMLスキンは、恐らくSynthLookAndFeel
>>353
やりたいのは、NeoOfficeのやってることだな
GUI描画部分を、Javaにやらせるという
372:353
07/02/14 15:43:18
MACでもJNIを簡単に作れますか?
373:353
07/02/14 15:45:00
NeoOffice見ましたが、MACのみ。
クロスGUIとして使われてるわけじゃないんだ?
374:デフォルトの名無しさん
07/02/14 16:34:17
MacOSXにおいてJavaは標準サポートされてるし、JNI関係のヘッダもツールも
ある。C++コンパイラはg++。
製品バンドル版OSXなら一緒にg++を含んだ開発環境(Xcode)メディアも付いて
くるし、無料でダウンロードも出来る。Java環境の最新バージョンは1.6.0。
antも入ってる。
375:353
07/02/14 16:42:45
じゃ、Javaで画面作って、C++コードはg++でコンパイルすれば宵ってことかぁ。
”Java&C++”の開発効率がちょっぴり不安。
376:デフォルトの名無しさん
07/02/14 17:04:19
>>366
Swingの勉強をする。
377:デフォルトの名無しさん
07/02/14 17:35:14
>>375
俺はやったけど、両方わかってりゃ大した事は無かった。
つーても、やっぱc++からjavaオブジェクトを返すのにJNIEnvを使う部分があるんで、そこはちょっと効率悪いかな。
あとJNI部分のデバッグが面倒なんで、c++でロジック書いてJNIで薄くラップしてやる感じ。
java側は、ちゃんとMVCに分けて、DAOをしっかり分離してやりゃOK。
テスト用DAOに差し替えて開発して、最終的にJNIを使ったDAOでテストする。
まー規模にもよるだろうが。
378:353
07/02/14 17:38:49
サンクツ>>377
DLLコールと比べて、さらに効率悪いのかなぁ?
出来上がったアプリはやっぱりモッサリ?
379:デフォルトの名無しさん
07/02/14 17:51:13
次世代Javaの動向と関係ない話題は他所いってやれ。
380:デフォルトの名無しさん
07/02/14 17:53:03
次世代Java=C++と連携
ですが、何か?
381:デフォルトの名無しさん
07/02/14 17:54:42
ところで、次世代Javaというか有力候補のウィンドウライブラリって何?
Swingって落ち目な感じ?
382:デフォルトの名無しさん
07/02/14 18:03:33
Swingは1.4以降実用レベルになってしまったから、
SWTとかの代替候補の立場が微妙になってるのが現状じゃね?
383:デフォルトの名無しさん
07/02/14 18:12:19
あ、SWTが落ち目なんだ知らなかった。
知らないうちに勢力図が変わるんですね。
それと、デファクトだったEclipseがS∪∩の開発環境(何だっけ?)に負けたんでしたっけ?
384:デフォルトの名無しさん
07/02/14 18:20:25
其処までは行ってない。
むしろ、SWTの活躍の場は、eclipseしかない、という感じ。
Netbeansは、Jackpotがどうなるか、か?
誘導
Java 高速GUI SWT 3
スレリンク(tech板)
Java低速GUI Swing 5
スレリンク(tech板)
【Java】NetBeans Part2【Sun】
スレリンク(tech板)
385:デフォルトの名無しさん
07/02/14 18:27:26
オライリーだっけ
去年の勝ち組負け組みでEclipseを最初負け組みと書いて後で消したの
一番使われてるのに負け組みはおかしいといわれたそうだが
386:デフォルトの名無しさん
07/02/14 18:41:27
ふ~ん
じゃぁ、NetBeansとSwing使っとけば問題無いか。
Windows上だとちょっぴりモタツクだろうけど。
でも、モッサリドトネト(流行ってないくせにWinForms、WPFと2つあって最悪)よりかはましか。
387:デフォルトの名無しさん
07/02/14 18:42:36
ごめん、もう一つ教えて。
NetBeansがEclipseをやっつけたってことは、
JBuilderとかは無用の長物?
388:デフォルトの名無しさん
07/02/14 18:50:15
ごめん、さらにもう一つだけ教えて下さい。
以前のSwingではレイアウトマネージャのおかげで、
思ったように画面作り難かったのですが、
今のSwingはポトペタしやすいですか?
389:デフォルトの名無しさん
07/02/14 18:59:48
>>388
NetBeans(の5以降で導入されたMatisseというデザイナ)を使うと無茶苦茶ポトペタしやすい。
と、漏れは個人的には思っている。
390:デフォルトの名無しさん
07/02/14 19:11:20
>>380
JNI なんぞは、1.1 の頃には既にあったわけなんだが……
誘導
★お前らJavaはJNIで組もうぜ★
スレリンク(tech板)
391:デフォルトの名無しさん
07/02/14 19:14:29
>>388
個人的には、GUIポトペタ(←(・∀・)イイ!!)は、Netbeans。
ロジック書き書きは、eclipse。
両方使ってるよ。
NetbeansのSubversionプラグインは使いにくいし。
392:デフォルトの名無しさん
07/02/14 19:24:34
じゃ、Netbeans使います。
CVSはWinCVS(←もしかしてサイアク?)使ってるんで。
JNIもふつーに使われてますか?
393:デフォルトの名無しさん
07/02/14 19:27:48
誘導
【Java】NetBeans Part2【Sun】
スレリンク(tech板)
394:デフォルトの名無しさん
07/02/14 19:57:46
名前のないメソッドつくろうぜ。例えば、
public class ArrayList<E> {
public nameless E (int index) { return get(i); }
//その他省略
}
のように書いて
String s = list(2); //listはArrayListのインスタンス
みたいにインスタンス名(引数)の形で呼び出す。
他にも、Mapなら
public nameless E (K key);と書いて
String s = map("key0");とか、
さらに、オーバーロード可能にすれば他にも使い方ができそうだ。
395:デフォルトの名無しさん
07/02/14 20:06:55
>>394
じゃあ標準出力はSystem("%d%d", 100, 200);でOK?
396:デフォルトの名無しさん
07/02/14 20:18:36
関数呼び出しのときの表現を変えるのをアノテーションで定義するのはどうだろう
@Alias(value = "ltgt" , type = "literal")//自作リテラル(ここでは<>)
@Alias(value = "plus_equal" , type = "operator")//演算子オーバーロード
これで実装するなら>>394は
@Alias("nameless")
ってとこか
んで、呼び出す対象のフィールドの宣言時も@AliasUsingをつける。
まぁ設計がまずいのに無理やり使わされるのもあれだしね。
397:デフォルトの名無しさん
07/02/14 21:33:06
> それと、デファクトだったEclipseがS∪∩の開発環境(何だっけ?)に負けたんでしたっけ?
その文字を見たら昔のSunのCMを思い出した。
398:デフォルトの名無しさん
07/02/14 21:45:16
396だけど、だめだな。
細かい仕様を定義しようとすると複雑になるし、いかに丁寧に仕組みを作っても雑に使われたら困るもんな。
よく使われるやつだけ今のString型みたいにして、アノテーションで限定解除するだけでいいか。
399:デフォルトの名無しさん
07/02/14 22:40:43
>>394
>>396
次世代Javaの動向をヲチるスレであって、
勝手な妄想繰り広げるスレじゃないから。
400:デフォルトの名無しさん
07/02/14 22:48:56
>>394
C# の Indexerっぽい奴なら、>>249 とか >>250 とかで既に出てるけど。
演算子オーバーロード関連なら、他にも >>283 の一番上のリンクとかもあったし。
401:ネカマ由紀恵
07/02/14 23:05:20
Groovy でやっていることは
入れなくても良いんじゃ・・?
402:デフォルトの名無しさん
07/02/14 23:23:43
ていうか今時中身の処理が遅いからJNIなんてのは無いな。
特殊なデバイス叩かん限りpureJavaでいける。
実行速度なんて5.0 6.0で激変したしSwingも1.3→1.4以上でまともになったし。
joy pad使うとかしかJNIの存在理由が見当たらん・・・。
ここら辺は成熟してきたからこれ以上はOpenGLドライバの成熟待ちだろ。ATIもnVidiaも最近のドライバはOpenGLが糞。
そのせいで6.0でもsun.java2d.openglプロパティが使い物にならない。
Java側はドライバの対応を待つしかないからベンダと連携とって行くって言ってるし。
俺はあまり言語仕様を動的にするのには興味ないな。
仕様が複雑化してきてるし当初の仕様ポリシーから外れてきてる気がする。
個人的には値渡しの出来る構造体が欲しいかな。
一々データクラス定義してインスタンス化するのがちょっと・・・
403:デフォルトの名無しさん
07/02/15 00:06:36
>>402
public type Hoge{
String hoge;
int piyo;
}
見たいな感じかな。でも予約語が・・・
JavaBeanを簡単に生成できるシンタックスシュガーが欲しいね。
404:デフォルトの名無しさん
07/02/15 00:36:38
>>402
そこで、エスケープ解析によるオブジェクトのスタック割り付けですよ。
405:デフォルトの名無しさん
07/02/15 01:23:08
>>391
NetBeansのSubversionは動作がよくおかしくなる
というかAntとかもおかしい気がする
JDKを5.0にすると安定するから6のVMバグかも
>>392
CVSだったらNetBeans標準装備なんでそれ使えば楽
>>402
Swingは速度が目立つけど、実際は1.3で実用になるようなAPIが多数追加されて
5.0で目立つようなのが追加されていたりする
6も5.0と同じくsun.java2d.opengl使い物にならないね
JOGL自体は安定してるんだがGLJPanelのほうがイマイチなのもなおらねぇ
というかベータ時代はOpenGL有効にして動いてたような気がするのが気になる
406:デフォルトの名無しさん
07/02/15 01:34:56
>>400
その下の奴って構文解析できるのか?
class hoge{}
class A {
public static Object method(int arg){ return null; }
public static int (int lh)method(int rh){ return lh + rh; }
public static void main(String[] args){
int hoge = 0;
(hoge)method(10);
}
}
とかされたら面倒なよーな気がする。
407:デフォルトの名無しさん
07/02/15 07:18:52
>>399
昔は希望を書きまくっていた気もするが?
408:デフォルトの名無しさん
07/02/15 08:40:38
>>402
遅いからJNIするんじゃなくて、Win用C++コードをMACに移すためにJNI検討中なんです。
CocoaとかいうやつはObjective-Cだったりして困るし。
409:デフォルトの名無しさん
07/02/15 08:51:30
>>407
希望なら言語仕様作ってる人達に見える形でで出した方が通りやすいよ。
ksl とかあるんだし。
URLリンク(ksl.dev.java.net)
410:デフォルトの名無しさん
07/02/15 08:56:41
>>406
int Integer = 1;
System.out.println( (Integer)+10 );
とかと同じ扱いにすりゃ良いんじゃないかと思ったけど……
参照型へのキャストは 単項+ とか 単項- ついたらいかんのか。
つまり Integer って変数が宣言されてないときに
System.out.println( (Integer)+10 );
がコンパイルエラーになるから参考にならんと。むぅ。
411:デフォルトの名無しさん
07/02/15 17:24:26
>>399
ヲチりながら、愚痴るんじゃないの?
412:402
07/02/15 17:43:18
>>405
リペイントマネージャ乗っ取って全コンポーネントダーティーだと認識させればユーザーの操作に応じて常にスケーラブルでアジャスタブルなウェジェット組めるが流石にまだ重いだろうなw
>ベータ時代は・・・
URLリンク(bugs.sun.com)
これの応急処置だと思う。
JDialogに限らずOpenGL使ったコンポーネントが破壊される。
描画領域の破壊は-Dsun.java2d.opengl.fbobject=falseを指定すれば回避できるが・・・
FBO周り以外もバグがあるみたいでどうも-Dsun.java2d.opengl.fbobjectに関係なく-Dsun.java2d.opengl使った処理自体まずいみたい。
nVidiaのリグレッションバグなんだがOpenGL有効にしたらグラボ自体が不安定になって最悪システムクラッシュする。
グラボのドライバって既存アプリの描画に影響を与えるしな。リグレッションバグならそうそう戻す訳にはいかんだろうし。
>>408
結局JNI噛ます共有ライブラリ部分はネイティブなんだからリビルドするだろ?
てかwinのライブラリをmacで使おうって発想もな。
JNIにしたってネイティブ部分はプラットフォーム毎に用意するんだし。
J2MEはそれでカオスってるw
413:デフォルトの名無しさん
07/02/15 18:05:37
C++のコードをJavaに移植するほうが早そうだな
414:デフォルトの名無しさん
07/02/15 19:04:29
>>413ロジックのみならね。
Mac→WinだとMacしかないアプリのDLL使ったりして移植ゼロか、
Win→だとGUI周り以外はそうgdgdにならない?
415:デフォルトの名無しさん
07/02/15 19:11:21
あーJ2MEはJSR118-MR2からOpenGL実装したので専用チップ要求して更にカオスw
MIDP2.1はハードウェアサポートが強化されてるしウェジェットも地味に強化(新たに取り込まれたオプションパッケージが目立つ)してSEのノウハウもフィードバックされて結構良いんだが・・・
416:デフォルトの名無しさん
07/02/16 17:45:58
>>402
OpenGLといえばJava3Dを思い出した。
あちらも気が付けば大きな進展があるようだ。
JavaからOpenGLのライブラリを使えるようにするというやつ。
プラットフォーム非依存と呼ばれているJavaも3Dとなると
そうもいかないケースがあるものだが、
今後のJava3Dは古臭い時代遅れなビデオカードでは動かなく
なるか、(AWTのようにOS依存する)劣化表示
or
(Java2Dを使用したSwingのように)超低速表示されることになるんだろうか。
417:デフォルトの名無しさん
07/02/16 17:48:15
>>405
> >>391
> NetBeansのSubversionは動作がよくおかしくなる
> というかAntとかもおかしい気がする
> JDKを5.0にすると安定するから6のVMバグかも
EclipseでJava SE 6でAntを使っているがとくに問題ない。
おかしいってどんなエラーがでるのかね。
Subversionは不安なら、TortoiseSVNでコミットしてみるのはどうだろう。
> >>392
> CVSだったらNetBeans標準装備なんでそれ使えば楽
Eclipseと同じだな。しかしSubversion使ったらもうCVSには戻れない。
それだけ使い勝手が良いから。