1 :
デフォルトの名無しさん :
04/03/16 20:58
華麗に削除依頼
あれほど半角#には気をつけろと・・・
4 :
デフォルトの名無しさん :04/03/16 21:18
誰か立て直してくれ。 C#から虎へ〜JDK1.5について!Part2
5 :
デフォルトの名無しさん :04/03/16 21:19
いいよ。ここが本スレで。
じゃあ、そうするか
8 :
デフォルトの名無しさん :04/03/16 23:38
9 :
デフォルトの名無しさん :04/03/16 23:40
とりあえず、LinuxユーザーはJavaを使えばいいんでないかと。 それから AWTとSWINGとSWTの区別がついてない人がいるみたいですが 注意と。
10 :
デフォルトの名無しさん :04/03/16 23:41
11 :
デフォルトの名無しさん :04/03/16 23:44
out-of-boxってなんですか?
個人的には、Javaコードでプロファイリングを織り込めてしまうの がありがたいな。
14 :
デフォルトの名無しさん :04/03/17 01:01
Enhanced for loopって iterator()のあるクラスじゃないと使えない?
なんでCだかC#なんだ? かえってC#厨が邪魔しにくるだけじゃないのか?
16 :
デフォルトの名無しさん :04/03/17 01:13
WebSphereでの正式対応がおそらく3年後なので、はっきり言ってどうでもいい > JDK1.5
18 :
デフォルトの名無しさん :04/03/17 02:14
ていうかなんでC#が関係あるんだYO! C#厨が立てたスレかYO!
JDK1.5なんで死語だろ J2SE1.5だろ それとCは関係ないだろ。 スレ立て直しだろ。 J2SE1.5についてだけ語るスレにするべきだ。 さもないと前スレのようにC厨とかC#厨とかがスレを荒らすのでウザイ。
隔離スレ認定
21 :
デフォルトの名無しさん :04/03/17 02:43
;∵;,". ;;∴”:゚・,'.゚Д;∵ζ;,". ;∵;,".;;∴”:゚,'. );∵;,". ;∵;,". / ヽ ─ _- ;∵;,". ./ /| ..| 舞えやぁ! -─_`;, / | ..| │←>>C#&Anders Hejlsberg ヽ ゝ ″ / | | ..| | .| │ ∵;/ /| │ 巛 ∧ ∧ | | / / | .| ( ゚∀゚)、 / /⌒ / .{ │ _」_ノ 丿 / . / | | (____/ヽ ノ ./ ( ) / /\ /  ̄ (_/ ..\ /ノ | | / / ../ / / / / / . (__ノ ────────── ──────── ──────
C#厨はバカばっか。Java以外の言語は全て糞。
23 :
デフォルトの名無しさん :04/03/17 02:51
そうやってJava厨のフリして自作自演して 「Javaしかできない奴って(ry」とか言うんだろC#厨。 嫌な奴。
24 :
デフォルトの名無しさん :04/03/17 02:53
巷の企業の不正、例えば雪印、また道路公団なんてものを見てれば判るが、 内部告発、セルフフィードバック、自己批判がゆるいのはその組織、集団に 勢いが無い証拠。適正な外圧が加われば長くはもたない。 あと、外部の批判に感情的ってのもあるな。 身に覚えのある痛いところを突かれそうな組織ほど、マスコミの取材はさけるし、 オーム信者でもなんでも見てたらわかるだろ?よーするに身内でオナニーできればそれでいい。
25 :
デフォルトの名無しさん :04/03/17 02:55
>WebSphereでの正式対応がおそらく3年後なので ベータでよければ、もう対応してるけど・・・
26 :
デフォルトの名無しさん :04/03/17 03:00
しょうがねえ。このスレでJ2SE1.5の話題をしろってのかよ。。。。。。。。。。。。。。 いっちょいったるか。 1.5でjava.util.concurrentがでたってことは OSの仕組みを復讐しないとあかんのか。 瀬間ふぉとかミューテックスとか
27 :
デフォルトの名無しさん :04/03/17 03:02
・JavaができればC#はできるし ・C#ができればJavaはできる ・CとJava(C#)ができれば、C++ができる ・C++ができれば、CとJava(C#)ができる この関係が崩れてるやつは、言語を習得できてない
28 :
デフォルトの名無しさん :04/03/17 03:02
セマフォもミューテックスも シンクロナイズと変わらないと思うけど。 つまり、OSの仕組みを復習する必要はない。
>>27 しかしその三つの言語知っているだけでは何かが足りない。
そうだ! Prologだ! Lispだ! Perlだ!
ってか。
今日本屋いったらJavaとEclipseの本を読んでるオタ風不細工メガネデブの隣で かわいい女の子がVB.NETの本を熱心に読んでたよ。 なんか時代は変わったと思ったね。
32 :
デフォルトの名無しさん :04/03/17 09:50
perlはいらないよ
33 :
デフォルトの名無しさん :04/03/17 10:23
J2SE1.5から 今までGenericsでなかったクラスがいくつかGenericsになるわけか
34 :
デフォルトの名無しさん :04/03/17 10:44
まあ、C#に比べたら真のgenericsじゃないけどね。(ゲラ
それは逆だと思うけど。
36 :
デフォルトの名無しさん :04/03/17 10:52
リフレクションでgeneric typeかどうかも分からない糞仕様なんて・・・
そんなもん仕様の問題じゃないし。 APIがまだ実装されてないだけじゃね?
http://www.artima.com/intv/generics.html JavaとC#のgenericsについて、ヘジが語ってる。
どうもあれだな。
Javaは様々な機能を独自のやり方で取り入れて行ってる。
C#は、昔のJavaからスタートして、C++っぽい考え方で仕様を拡張して行ってる。
ってな感じがする。
ヘジはJavaの欠点ばかり指摘しようとしてるが(っつーかJava対抗だから当たり前だが)、
俺はC++臭のするgenericsよりも、シンプルでwild cardが使えるgenericsの方が好きだな。
>>36 JavaでもC#でもわかるけど・・・C++のことか?
ヘジルスとゴスリングとでは 知識の幅の広さの違いが感じられる。 プログラミング経験量の違いもでているんだろうか。
ところでgenericとか誰が必要としてるの?
JDK1.5なんて必要ありません genericsも必要ありません enumも必要ありません boxingも必要ありません foreachも必要ありません IDEも必要ありません 進歩したら学習コストがかかるからね
43 :
デフォルトの名無しさん :04/03/18 18:16
Vector< T extends X >って構文の意味がわからんよ。 Vector< X >では駄目なんか? また、newのある意味がわからんよ。 daleteが無いんだから、別にnewが無くても構成上支障は無いはず。
44 :
デフォルトの名無しさん :04/03/18 18:23
タイガーだのパンサーだの、負け組みにはネーミングの共通点があるのか? おそらく押さえ込まれてるのを無意識にでも自覚しているので、文字通り 虎の威をかる狐になっちゃうのかな?
45 :
デフォルトの名無しさん :04/03/18 18:28
>>44 最後の一行が言いたかっただけ、と読んでみました。
46 :
デフォルトの名無しさん :04/03/18 18:29
>>45 いや書きながら思いついて自然とそうなったよ。
むしろ何かパンサーと似てるなとか思ったから。
47 :
デフォルトの名無しさん :04/03/18 18:40
翔って名前つける親はDQNが多い。 親は自分が社会的に地味なので、子供に派手な名前をつけて希望を託す。 名は体を表すと言うが、地に足がついてないような名前はどうかね?龍とかさ、わからんでもないが。 MSとかAMDなんか地名が多いよね、雪山の名前とか都市名とか。 ところで次のJDK1.6のコードネームってなに?
49 :
デフォルトの名無しさん :04/03/18 22:17
>>42 かかんねえよ。
foreachあんんて滅多につかわないし
enumはシンプルで重宝するし。
学習コストはgenericsと真APIだけだろ
それでもかなり有益だが。
>>47 それって日本語に訳してるだけじゃん。
AMDのCPUもわざわざ日本語に訳して解釈するのかい?
Thunderbird → 雷鳥
Barton → 豚
ムスタング → 馬
とか
53 :
デフォルトの名無しさん :04/03/20 14:53
げねりくそめちゃ便利だ foreachとか使いまくってるけど。 てか、今まで作ったコード書き直してるんだけど これがすごい大変なんだな(泣)
>>53 後方互換性あるのだから、とりあえず新規分だけ使えばいいのでは?
キャストしてバグでていないなら、Generic 使って書き直す価値は無い。
じぇねりっくよりenumだよなぁ 既存のコード買えてまでなおしたくなるのは
じゃばよりC#だよなぁ 既存のコード捨ててまでいこうしたくなるのは
じゃばより漁師だよなぁ 既存の生活捨ててまでいこうしたくなるのは
58 :
デフォルトの名無しさん :04/03/20 21:51
もちろん、書き直す必要はないけど せっかくげねりくそあるから書き換えたくなるじゃん。 まじで便利だよ。 C#もいいけど、りなくそで使いたいからさ。
Generics使うからといってコードをすべて書き換えなくちゃならない理由はないだろ
Javaがどんどん汚されていくな もう余計な構文糖の追加はいらんよ
>>60 そうでもなさげ。
JavaでC++のtempalteが使えるGenericsがでると聞いたときは
ショッキングでまさかと思ったがよく調べてみたら
C++のtempalteほど汚くはならなかった。
C++のような危険な使われ方をせずに済みそうだ。
型キャストなくす”だけ”しかできないGenericsなんてイラネ。 俺も最初はC++のtemplateがJavaでも使えると思って期待したけけどさ。
型強化のためでしょ? テンプレートのようなぐちゃぐちゃを目指した訳じゃないから javaの方向性としてこれでいいんじゃないの?
65 :
デフォルトの名無しさん :04/03/21 02:53
>>59 キャストがめっさ減る
そして美しいソースコードへ変貌する
だから、どうしても書き直したくなる
>>63 キミ自身がリアクション取らなかったんだからしょうがないでしょ。
少なくとも1999年に generics の案が JCP に出た後、5年間もあったし、
その前からも議論はあったわけで。
生簀の魚みたいに口開けて待ってるだけだと損するよ。
>>63 それだけじゃあねえだろ。
おかげでtypesafe Enumとか可変長引数とかを使いやすくなったのだから。
C++のtemplateのようなリスキーな機能はバグばかり出すプログラミングが横行するからイラネ
>>66 なにげに、J2SE1.5の仕様策定でJCPが下した決断は正しいと思うな。
ジェームズゴスリングは目先の利便性よりもあとあとの問題の対応で困らないように慎重に慎重に検討しているようだ。
69 :
デフォルトの名無しさん :04/03/21 11:43
java,c++初心者ですが >型キャストなくす”だけ”しかできないGenericsなんてイラネ。 他に何ができるんでしょうか? 何個くらいありますか?
>>69 簡単に言うと、
GenericがC++に登場したのはコンテナの問題があったから。
ベースクラスがないC++では、いちいちクラス毎のコンテナを作るか、
プリプロセッサマクロでシコシコ作る労力が必要だったけど、
templateの導入でその辺が解消された。
標準ライブラリもSTLへ書き直された。
というか、それ以前はまともなライブラリが存在しなかった。
Javaは最初からベースクラスが存在していたので、
コンテナを作る労力の問題はなかったけど、
いちいちキャストを行う必要があった。
それを不要にしたのが今回のGeneric拡張。
事情は違うけど、どっちも構文的にクソの類に近づいているとは思う。
71 :
デフォルトの名無しさん :04/03/21 12:12
えーと ちょっとわかってないのですが、 結局、javaとc++はどこが違うんですか? ベースクラスがある、なしは 言語仕様の問題ですか?
まぁ俺もgeneric多用するコードはよくないと思う キャストが面倒なだけなら本来はラッピングしたクラス用意すべきだし コーディングの手間を減らすには多少の効果はあるけどね 積極的に使用すべきものはtype safe enumだけかと 型が厳密な綺麗なコードってのは人が取っつきにくいコードでもあるからねぇ どこで妥協すべきかってのは難しい問題 javaは現在主に使われている言語ではお堅いほうだからね 俺はそれがいいと思ってるんだけど、そう思ってない人も多いみたいで
>>71 つまりJavaのGenericは動的な部分が残るってこと。
現状では型安全の強化+キャストの代行って意味合いが強い。
対してC++のtemplateは、可能な限り静的に展開される。
ただしC++の方式は、用法に気をつけないとtemplateの
展開で生成されるコードが無闇に増大し、プログラムが
大きくなりすぎるというリスクがある。
> 対してC++のtemplateは、可能な限り静的に展開される。 可能な限り? C++のtemplateって動的に展開される事もあるんだっけか?
今まで散々Javaにないからといってgenerics不要論唱えてきて 急に採用されたからって照れ隠しに反対してる馬鹿数名。
76 :
デフォルトの名無しさん :04/03/21 12:53
>キャストが面倒なだけなら本来はラッピングしたクラス用意すべきだし generics使うのと何が違うの?
低能でも使える道具は良い道具。しかしさらに良い究極の道具は低能には使いこなせない。 セスナ機は誰でも簡単に操縦できるが高性能戦闘機は難しい。携帯電話を使いこなせる近 所のおばちゃんはパソコンが難しいと言う。JavaはできるがC++は難しいというプログラ マーは大量にいる。 ここ数年で急増したJavaプログラマーは、C++など他の言語の習得に失敗した専門学校上 がりのDQNが多い。濃縮された低能集団が大量に集まっている。質より量で低能プログラ マーを大量投入しなければならず、人件費の平均単価は下がる一方だ。 日本の企業はいまだに能力による待遇差別を嫌う。君がいくら有能なJavaプログラマーで あっても、大量の低能プログラマーとほとんど同じ賃金を受け取ることになる。 仕事が速い有能プログラマーや、定時間内に集中して仕事をするプログラマーは、残業手 当が少なくなってしまう。低能プログラマーは仕事が遅いため多くの残業手当を手にする。 ただでさえ低い賃金に悩んでいる有能プログラマーは、低能プログラマーの高い残業手当 を見て憤りを感じ、これを続けることで有能なプログラマーが壊れることになる。 Javaは良い言語だが、そのスキルは将来の収入アップには繋がらない。向上心を持っても 無駄だ。低能集団の中の有能なプログラマーは出る杭として打たれる。 それでもJavaは良い言語。「個性を望まない」「みんな同じを望む」という日本の教育で 作られた大量の低能達をうまく使いこなすにはJavaが一番だ。安価な歯車になって人生を 全うする覚悟があるならば、是非ともお奨めしたい。今の日本に必要とされる人材だ。
78 :
デフォルトの名無しさん :04/03/21 13:19
>>78 他の言語でも似たようなもんだろ。
そもそも本物のスキルって何だ?
80 :
デフォルトの名無しさん :04/03/21 13:23
要は複雑怪奇な糞仕様をIDEで隠すこともできず破綻し始めてるということだな
糞仕様ってどのへんが?
破綻ってどのへんが?
複雑怪奇ってどのへんが?
どのへんがってこのへんか?
IDEってどのへんが?
>>77 JavaをVBに置き換えれば本来の文章になるね。
>>79 他の言語というか、開発者数の問題だな。
マイナーなうちは、他の言語もできる、スキルを持った人が大半を占める。
メジャーになると、その言語しかしらない人が増える。
Javaも普及したもんだ。
88 :
デフォルトの名無しさん :04/03/21 17:39
eclipse3.0M7って1.5に対応してるの?
>>88 関数ポインタを何か特別な物だとお思いのようで。
何かトラウマでも?
>>88 スゲーナ、アンタの周り、アホしかいないのか。どこの会社の人?
>>C++プログラマの99.99%は関数ポインタを使えない。
まあ、C++なら使わなくても問題ないしー。
>関数ポインタ
制御文を式で代用出来るから表記が簡潔になる。
と初心者は有難がるが、実は最新のIDEでも
間接的にしか定義をトレース出来ないから、
見通しが悪くなる罠。
理解できないからといって、そんなに卑屈に
なる必要は無いぞ。
>>88 よ。
メソッドポインタのないC++は糞
>93 卑屈になるなといってるのに・・
メソッドポインタのないJavaも糞
強い型付の言語で汎用ルーチン書こうとするとGeniricsが欲しくなるのは 仕方ないように思うよ。
>関数ポインタを何か特別な物だとお思いのようで。 オブジェクト指向が使えない→関数ポインタが使えない これは真 関数ポインタが使えないけど、オブジェクト指向が出来る人 まあ、多少はいるけど・・・ オブジェクト指向ができれば、関数ポインタも使えるから 関数ポインタが使えない事とオブジェクト指向が出来ない事は 等価だな。 >制御文を式で代用出来るから表記が簡潔になる。 >と初心者は有難がるが、 え、この人何言ってるのw
ここで糞と言われている全てのことはD言語で解決
>>97 > 関数ポインタが使えないけど、オブジェクト指向が出来る人
> まあ、多少はいるけど・・・
と
> オブジェクト指向ができれば、関数ポインタも使えるから
が矛盾してるぞ。
> え、この人何言ってるのw
お前に言うべきせりふだよ。(藁
つまり構文的にはアセンブラが一番美しいということでよいですね?
すると必然的に見た目が似ているHSPも美しいということになりますよね
HSPは確かに美しいが、スレ違いだ。
typedef int (Test::*testfunc)(int); testfunc f = &(Test::func); Test* t = new Test; int result = (t->*f)(5); まあ、確かにそりゃないよ〜って思う。 こんな構文じゃ、使えない奴が多くても驚かんね。
>>98 D言語は存在そのものが糞。
まずはstring型実装してコンパイラ安定させろ。
話はそれからだ。
105 :
デフォルトの名無しさん :04/03/22 10:01
Genericsとかって要るの? 安全にコレクションのやりとりしたけりゃオブジェクトの配列を使えばいい String[] strs;
コレクション(コンテナ)=配列ですかそうですか。
>>105 サイズ可変のものを安全に操作したい。
マップを安全に操作したい。
108 :
デフォルトの名無しさん :04/03/22 10:57
>>72-73 Genericsを多用すべきでないと言うことは
JavaでGenericsが出たら心がけるべき
使用方法というのがあるとか?
すくなくともコレクション系やNumberクラスをメソッドの引数にするようなものには
よく使いたいのだが。
>>75 何言ってんだこいつ。
急に採用されたと思いこんでいるみたいだな。
何年も前から慎重に議論されてきたことだというのに。
>>77 自身はC++もJavaもフルに使いこなすことができないんだろうな。
「Javaは糞、俺はC++できるぜ」といっておきながら
JavaにはないC++の機能をフルに使いこなすこともできない、
Javaにある機能すらフルに使いこなすこともできない
使いこなせるレベルはただのC言語レベル。
実際こういうのが多いんだよね。C++厨の仮面を被ったC厨ってのが。
ユーザーがgenericsを直接使ってライブラリを作る必要はそうないだろ。 だから多用も何もないよ。 あくまでgenericsで構築されたコンテナライブラリを使うだけ。 だからヒステリックに反対したり大げさに騒ぎ立てる必要はない。
112 :
デフォルトの名無しさん :04/03/22 11:02
やっとtemplateが採用されたか。 次は演算子オーバーロードだな。
113 :
デフォルトの名無しさん :04/03/22 11:04
JavaもどんどんC++の真似を始めてるな
>>112 残念ながらC++のtemplateのようにはいかない。
>>111 Generics使うとデザインパターンでも役に立つモノがあるわけだが。
StrategyパターンとかBridgeパターンとか
演算子オーバーロードするならMLみたいに キーワード演算子も対応してほしい。
>>113 C++ しかできない人にはそー見えるのかもしれん。
>>117 真似に見える時点でC++もできてない。
つーかデフォルト引数だろ。 似たようなメソッド3つも4つも 作って何が楽しいのかと。
そうだね。 デフォルト引数は欲しいね。
デフォルト引数はバグの元としてC++/Delphi->C#で廃止された。
名前付き引数のほうがいいな。
なにそれ?
>>114 C++のようなtemplateは、そもそも要らない。
125 :
デフォルトの名無しさん :04/03/22 22:55
デフォルト引数は、python や ruby には存在するね。 D には…ないのか。
>>116 危険で無駄な機能は不要だよ。
Jakarta Veloocityで代用できる。
少なくとも演算子オーバーロードが
ただのenumではなくtypesefe enum、
ただのtemplateではなくGenericsのようなしっかりとした
堅牢性の高い仕様でなければ不要と言わざるを得ない。
> しっかりとした 堅牢性の高い仕様でなければ不要と言わざるを得ない。 採用されるまでは「不要だ不要だ」と言っておきながら、採用されたとたんにこれか。
>>127 今でも不要と思っているけどね。あれもこれも必要とつけていくと、気付くと C++ のようになる予感。
>>127 ちょっとまてよ。
で、何が採用された?
Genericsなど、実際に採用されたものはC++のtemplateとは異なるものだ。
あれでは「C++のtemplate機能は不要といったにもかかわらず採用された」
ということはできない。
よってGenericsが不要といったわけでもなければC++のtemplateは採用されたわけでもない。
すまんが
>>116 の「キーワード演算子」ってのがわからんのだが、何?
>>130 任意の識別子を使って中置演算子を作れるってやつじゃないの
>>133 悪意を持った人間が
10 minus 4が40を返すように定義される「可能性」があるからです。
add() メソッドが足し算することが保証されているわけでもないのにな。
そもそもメソッドと演算子は仕組みが違うし。 演算子は引数が一つか二つに限られたメソッドみたいなものだし。
>>135 同意。
「10 mius 4 が40を返すように定義される可能性」と,
「minus()メソッドが掛け算を行うように定義される可能性」では,
前者の方が可能性が高いと言える理由が分からない。
演算子のオーバーロードが普通のメソッドに比べて「より」危険である理由を
説明してくれる人は誰かいないの?
>>137 頭痛の種は二つより一つの方がまだましだからです。
演算子オーバーロードの危険性ってのは、 定義済み演算子の意味をも変更できるから危ないってことでしょ。
本音:S○Nのパースの実装が糞なので演算子オーバーロードなんてJavaには組み込めません
>>137 C++の演算子オーバーロードって、ユーザが想像もつかないようなことが起きやすい
っすよね。アホが勇み足で=だの[]だの&だのに変なオーバーロードをかけていたせ
いで、えらい目にあったことがある人、手を挙げて〜。
↓ 自作自演開始
お前ら演算子のオーバーロードについてあまりめったなことを口にしないほうがいいよ。 何が起こるかわからないからな。今回の事がいい教訓になっただろう。
今回のことってどういうこと?
145 :
デフォルトの名無しさん :04/03/23 01:08
>>137 機能性の高さからメソッドのオーバーロードがあれば演算子のオーバーロードはいらん
といえるが
演算子のオーバーロードがあればメソッドのオーバーロードはいらんとは
言えないだろ。
とりあえずここではメソッドがstaticだとして説明するぞ。
doMethod(int x, int y)というメソッドを
演算子で x doMethod y のように定義できたとしても
doMethod(int x, int y, String z, Number a, FileInputStream b)
なんてメソッドを演算子で定義できるか?
三項演算子のような演算子を再定義できるようにしろというのか?
かえって可読性が低下するだけだぞ。
それにdoMethod(AudioInputStream x, Socket y)
doMethod(AudioOutputputStream x, URL y)
なんて二つのメソッドを同じ演算子で使うようにしたいとき
型の違いによる煩雑さが増すだけだ。
それに演算子の優先順位も決定しなくてはならない。
混乱が増えるばかりだ。スパゲティコードを作りやすくなる。
それにくらべJ2SE1.5の新機能はスパゲティコードを作りやすい方だと言えるか?
>>143 よ
146 :
デフォルトの名無しさん :04/03/23 01:10
1.6ではpropertyとdelegateが導入されます。
>>145 俺に聞くなよw
ただ一つ言えるのは
>>145 の発言はしっかりログとして保存されるということだ。
削除依頼だすなら今のうちだぞw
なんかいらない機能増えてるなぁ… そんなにキャスト嫌いなのか?? 私は嫌いじゃないんだけど…
じゃあ参照保持する変数もObject型だけで十分ですね。 キャストすればいいだけですから。
151 :
デフォルトの名無しさん :04/03/23 17:03
まあ今なかったりかつてなかった機能を必死に拒絶したくなる気持ちも分からなくもない。 2chで突っ込まれると劣等感を感じるみたいだしな。 Del厨も正規表現ライブラリいらないとか言い張ってウザいの何の。
>>149 get するときのキャストが嫌いっつーよりも
set するときの型チェックが嬉しいのでは。
setArray(ArrayList<Integer> al) こんな感じになるのかなぁ??
List<Hoge> list = .....; list.set(index, new Foo()); で、Foo が Hoge の下位クラスでなければコンパイルエラーになるのが 嬉しいって事では?
155 :
デフォルトの名無しさん :04/03/23 18:09
Genericsがあるのにtypedefがないって、 unko< tinpo< omeko< hiroyuki< sine< damepo< ore > > > > > obj; みたいなクラスは、ただひたすら直気書きするしかないのか?
>>155 class Obj extends unko<tinpo<omeko<hiroyuki<sine<damepo<ore>>>>>{ ... }
すれば良いだけでは?
>>156 ただ可読性を上げる為だけにクラスつくんの?
ありえなーい。
>>155 みたいな思考でtypedef欲しいってのも相当アホだけどね。
>>158 そうか?俺は一般的なtypedefの使い方だと思うけど。
hash_map< ClassA, ClassB, ClassA::HashFunc >とかベタで使う奴の方が
俺はアホだと思う。
ヘッダファイルみたいなもんが無い Java では 複数のファイルで共通の typedef 宣言を参照させるのは難しい。 プロジェクト内の .java ファイル全部に同じ typedef 書き連ねるつもりか? くらいの問題点は2,3分考えりゃ誰でも気が付くと思うんだけどなぁ…
だいたいデフォルト引数が使えないJavaだが、 Genericsのパラメータにデフォルト値は付けられるのか? (ドキュメント流し読みではそんな記述は見つけられなかったが・・。) typedefも使えない、デフォルト値も駄目ときては IDEのサポートでもなければ、とても使用に耐えないような気がする。
>>160 むしろJavaはヘッダしか無いと言った方が正しいのでは?
単にusingでインポートさせればいいじゃん。
>>161 まぁ、使えない人は使わなくてもいーんじゃないでしょーか。
> むしろJavaはヘッダしか無いと言った方が正しいのでは? ? > 単にusingでインポートさせればいいじゃん。 思いつきで言われてもねぇ。やりたければ自分で実装してみれば?
165 :
デフォルトの名無しさん :04/03/23 21:40
>演算子のオーバーロードが普通のメソッドに比べて「より」危険である理由を >説明してくれる人は誰かいないの? 他人の作ったライブラリーで演算子のオーバーロードしてあるクラスを ポリモーフィズムさせて使ってみな。 おまけに、自分で作ったクラスも加えてみれば もはや使い物になりませんと。
166 :
デフォルトの名無しさん :04/03/23 21:43
167 :
デフォルトの名無しさん :04/03/23 21:45
>ただ可読性を上げる為だけにクラスつくんの? >ありえなーい。 たかがクラスを一個作るだけだろ。 eclipse使いなら5秒でできる。
>>165 a + b を a.add(b) に解釈するような単純な演算子オーバーロードの実装でもだめなの?
あと、メソッドならポリモーフィズムを使っても問題にならないという理由が理解できないんだが。
数値型ならそもそも派生することがナンセンスだし、
C#の event のようなものなら、+= の右辺は派生クラスである(実装したリスナのような)ことが当然じゃないのか?
170 :
デフォルトの名無しさん :04/03/24 01:06
>>169 演算子オーバーロードって、たかが可読性のためにメソッド一個定義するわけ
ですが。どう違うのですか?
誰かがつくった仕様書で 引き継いだPGが即日仕様を理解して実装できる。 そのために
>>170 あほ。演算子オーバーロードなぞいらんわ。
> C#の event のようなものなら、+= の右辺は派生クラスである(実装したリスナのような)ことが当然じゃないのか? ・listenerA += (listenerB += handler) ができない。 ・(listener += handler)(sender,e); ができない。 とかはどーなんだろーね? っつーか、C#のイベントの += と -= は add と remove で何が悪いのかさっぱり理解できない。
>>170 可読性よりも記述性じゃないかと。
極端な話だが、演算子の無いLISPと演算子の塊の様なC、
どっちが書きやすいだろうか。
可読性も大事だと思うです。
プログラムは書く時間よりもコンパイルする時間よりも 読む時間のほうが長いからなあ
genericsって、結局コンテナ問題の妥協の産物でしかないんだろうか。
>>154 うむ、非常にうれしい。
>>155 そのような記述方法が制限されるということはないだろうか?
無駄に継承すればいいってもんでないのと一緒
>>160 >>168 ヘッダファイルやtypedef、演算子オーバーロードがどうしても欲しければ
Jakarta Velocityで解決
181 :
デフォルトの名無しさん :04/04/07 01:58
>>147 これだけ時間が経過しても具体的に反論できないのか。
>>148 集合論を持ち出して何の意味がある。
スパゲティコードと位相幾何学との相関を求めよ。
182 :
デフォルトの名無しさん :04/04/07 02:07
>>180 Javaから省いた蛇足がVelocityなんだなw
蛇足っちゅーか Java にないけど使いたくてしょうがないから Velocity の連中は作っちゃったって話だろ?
Javaの精神を理解してないね。Velocityの連中は。
185 :
デフォルトの名無しさん :04/04/07 02:24
Javaに見捨てられたVelocity。 いやJavaを見捨てたVelocityというべきか?w
>>180 Velocity 使わんでも自分が欲しいプリプロセッサ探すか、作ればいーだけの話。
>>184 それをいうならC#や.NET作った連中なんか全然理解していないだろw
Velocity作った連中のほうが良く理解している。
マルチタスク実現へJava言語改良
http://www.itmedia.co.jp/news/articles/0404/07/news018.html Sun幹部によると、2005年に一般リリース予定の「J2SE 1.6」には、
Javaバーチャルマシン(JVM)のアプリケーション共有を強化する「分離」機能
が備わり、ローカライズコンピューティング処理実行のための分離が可能になるという。
米Sun Microsystemsは、Javaバーチャルマシン(JVM)内部でのアプリケーションマル
チタスク実現に向けてJava言語の改良に取り組んでいる。カリフォルニア州サンノゼで
開催のClusterWorld Conference & Expoで4月6日、同社幹部が明らかにした。
またJ2SE 1.6では、Javaプログラム間の高速通信を可能にするSockets Direct Protocolの
サポートが計画されている。カウンディンヤ氏によると、J2SEに施された改良は、その後間
もなくJ2EEにも組み込まれる予定。
1月にβ版がリリースされたJ2SE 1.5は、6月のJavaONEカンファレンスで正式リリース
の運びとなる見通し。J2SE 1.5では、Javaプログラミングの簡易化に焦点を当てている。
189 :
デフォルトの名無しさん :04/04/07 12:43
J2SE1.6では今までOSだけでしかできなかったことがJavaだけでできるようになるのか。 汎用プログラミング言語初?
>>188 Tiger でやってるJITコンパイル後のネイティブコードをJVM間で共有するってのを促進するだけでしょ。
191 :
デフォルトの名無しさん :04/04/07 14:09
1.5って起動が鬼はやじゃね?
192 :
デフォルトの名無しさん :04/04/07 14:18
>>190 そうかねえ。
OSに依存せずにスケジュール管理ができると期待しているけれども
193 :
デフォルトの名無しさん :04/04/07 14:21
>>193 しかも3000人解雇でしょ。
普通に考えて間に合わないんじゃないかな。
195 :
デフォルトの名無しさん :04/04/07 14:25
235 名前:デフォルトの名無しさん[sage] 投稿日:04/04/07 10:17 リッチ・グリーン氏 3/31のコメント。 同氏は、「Java Desktop System」などのSun製品を売り込み、また、底辺からたたき上げ、採用を増やしている技術が勝利を収めているというビジネストレンドについても説明した。 このトレンドは、Sunの製品よりも、IntelのハードやLinuxに有利に働くかもしれないが、SunはソフトウェアでMicrosoftを追い越していると同氏は語った。 数日後、 「SunでJava推進の先頭に立ってきたリッチ・グリーン氏が同社を去ったことは、この提携がSun社内の対立を引き起こし、ひいてはJavaコミュニティーの内部対立につながる可能性を示すものだ」とカーペンター氏は指摘する。 Sunでは、グリーン氏の退職は同社のリストラ計画の一環だとしている。 <もうわが社にはJava信者は要りません。逝ってよし!> IBMはグリーン氏を拾ってやれよ。悲惨すぎるぞw
196 :
デフォルトの名無しさん :04/04/07 14:26
>>196 聞いても無駄。彼は技術的なこと何も知らんのだから。
>>194 IBMが昔30万人を一斉解雇したことにくらべれば3000人解雇なんてたいしたことじゃないし
IBMもJavaの凍結死に一役買ってるね。 WebSphere5はいまだにJ2SE1.3ベース。 おかげで、現場でいまだに1.4を使ったことのない人多数。 こんな状態で1.5をリリースしてもどうなることやら。
>>193 > β使った人は知ってると思うけど、あのバグだらけのTigerが
> あとたった2ヶ月で正式リリースだって。
バグがあるならお前がJCPに報告すればいいだろうが。
それともお前は英語ができないのか?
お前にとってはバグでないものもバグを見なしているだけか。
実際どんなバグがあるかも明示できないお前が手抜きしている現実を浮かび上がらせているわけだが。
>>200 手抜き、ではなくて能力の限界でしょ。
あとJCPに報告すんのは固まってない段階の仕様にバグがあるときだけだよ。
>Javaと.NETの連携技術の改善に向け協力する。 JavaVMとCLRではないところがミソかな。
203 :
デフォルトの名無しさん :04/04/07 14:43
204 :
デフォルトの名無しさん :04/04/07 14:44
205 :
デフォルトの名無しさん :04/04/07 14:47
>>199 > IBMもJavaの凍結死に一役買ってるね。
どこが買っているんだよw
Eclipse3.0, WADの開発が着々と進みDeveloperWorksも相変わらずJavaに関する記事を紹介しているだろw
ドトネト厨はどこまで妄想をもっているんだろうなw
> WebSphere5はいまだにJ2SE1.3ベース。
> おかげで、現場でいまだに1.4を使ったことのない人多数。
WebSphereと WebSphere Studioとの区別も付かないアフォですかねこいつは?w
> こんな状態で1.5をリリースしてもどうなることやら。
1.3と1.4,1.5との違いも即座に理解できないなんてチミはプログラマ失格だね。
あ、そうか、ドトネト厨はVBからVB.NETに移行して苦労しているから
1.3から1.4,1.5に移行するのに相当苦労すると妄想しているんだw
>>204 話し合いの末自分から辞めることを選んだろうと予測。
完全オープンソース化をする気なら減給するかクビにするしかないが、
それでもいいか? と聞かれ退職することを選んだんだと予測。
アホアンチ荒らすなボケ
>>205 なるべくなら、ここでは.NET厨無視の方向で。
実は自作自演なのかもしらんけど。ageてるし。
209 :
デフォルトの名無しさん :04/04/07 14:52
リッチ・グリーン氏 3/31のコメント。 同氏は、「Java Desktop System」などのSun製品を売り込み、また、底辺からたたき上げ、採用を増やしている技術が勝利を収めているというビジネストレンドについても説明した。 このトレンドは、Sunの製品よりも、IntelのハードやLinuxに有利に働くかもしれないが、SunはソフトウェアでMicrosoftを追い越していると同氏は語った。 数日後、 「SunでJava推進の先頭に立ってきたリッチ・グリーン氏が同社を去ったことは、この提携がSun社内の対立を引き起こし、ひいてはJavaコミュニティーの内部対立につながる可能性を示すものだ」とカーペンター氏は指摘する。 Sunでは、グリーン氏の退職は同社のリストラ計画の一環だとしている。 <もうわが社にはJava信者は要りません。逝ってよし!>
211 :
デフォルトの名無しさん :04/04/07 15:00
212 :
デフォルトの名無しさん :04/04/07 15:04
>>211 で、リッチーの首切りはどう解釈するの?
213 :
デフォルトの名無しさん :04/04/07 15:30
Javaでタスク管理、いいねえ。 java.util.concurrentを使うようになるのか?
ノシ
216 :
デフォルトの名無しさん :04/04/08 13:57
>>193 >>213 これって複数のJavaアプリ立ち上げてもJVMは一つで済むってことですかね?
217 :
デフォルトの名無しさん :04/04/08 14:00
つまりセキュリティホール。(ゲラ
>>216 おいおい、んな機能すでにJavaに取り込まれているぞ。
これでセキュリティホールだったらC#のCLRなんか穴だらけだなw
少なくともJavaよりも穴が多いのは事実だが。
そうなんですか…。 >「J2SE 1.6」には、JVMのアプリケーション共有を強化する「分離」機能が備わる。 >この機能によってローカライズコンピューティング処理実行のための分離が可能になり、 >第2のJVMを要求することなくJVM内部でマルチタスクが行えるようになるという。 この意味がよく分からないので…。
>>219 予想でしかないのだけれど。
例えば、2つのアプリケーションでrt.jarが共有できるってなことかと。
メモリ効率向上と高速化(JIT結果の共有)が期待できそう。
既にクラスローダがそれっぽいことしてるので、もっと踏み込むはず。
詳細が早く知りたい。
1つのVMを起動しっぱなしにして、クライアントアプリを毎回そのVMにアタッチさせて早く見せかける手法か?
J2SE1.6が未来のJavaOSになる可能性もあるわけか
>>221 それだったらすでにある。
昔の古いヴァージョンでうごくJavaアプリは起動するたびに
(Windowsの場合)java.exeを起動していた。複数起動すると
java.exeが複数起動するという効率の悪い仕様だった。
しかし今はその問題は解決されている。
今までサービスやプロセスなどの管理をOSにまかせっきりだったが J2SE1.6によってOSでしかできなかったことがJavaでもできるってか? ということはマルチスレッドしかできなかったことを マルチプロセスmマルチタスクで実現できるのか。
>>223 ほんとかよ。J2EEサーバ立ち上げるとjava.exeだらけだぞ。
つまり、今までOSの機能を使って実現されていたプロセス間通信が ピュアJavaコードによってなされるってこと? いや、今までJavaがプロセス間通信をサポートしていたのかは知らんが。
プロセス間通信じゃなくてマルチプロセス機能?
結局なんなのかよく分からないんですが。
>>229 Javaで書いたLinuxエミュレータ
>>225 それはLinuxがプロセスリストにスレッドも列挙してるからだろ。
でも
>>223 が言ってることは謎。あるとしか言わないから詳細がわからん。
>>225 バージョンはいくつ?
ついでにJ2SEのバージョンも
233 :
デフォルトの名無しさん :04/04/09 01:43
>>792 これってどうよ?
private final double[] vector;
public DoubleVector(double[] vector) {
this.vector = (double[]) vector.clone();
}
public double max() {
double max = (-1) * Double.MAX_VALUE;
for (int i = 0; i < size(); i++) {
max = StrictMath.max(max, get(i));
}
return max;
}
誤爆した
>>225 とりあえずApplet, JavaweStart対応アプリでは
すでに解決済み。
古いバージョンのコンパイラでつくったバイナリでは無理。
>>231 Linux のプロセスリストに java.exe があったら怖いな。
> 古いバージョンのコンパイラでつくったバイナリでは無理。 ?
>>236 ln -s java java.exe でO.K.
ところでrt.jarの共有って、1.4のコンパイラで-source 1.4つけてコンパイルすれば有効になる?
> ln -s java java.exe でO.K. んなアホな事するか。 > ところでrt.jarの共有って、1.4のコンパイラで-source 1.4つけてコンパイルすれば有効になる? ?
>>237 たとえばJ2SE1.2でコンパイルしたUMLツールのIIOSSとか。
いくつも起動すると起動した数だけjava.exeが沢山立ち上がる。
J2SE 1.4 でコンパイルしなおせば > いくつも起動すると起動した数だけjava.exeが沢山立ち上がる。 にならない、とか考えてるわけ?
IIOSSはJ2SE1.4には未対応だよん。 未だに1.2だか1.3でシコシコSwing使っているんだから おもたくてしょうがない。
winで1.4.2だけどたくさん起動するとjavaw.exeがガンガンたまっていくぞ
やっぱりAppletやJavaWebStartだけにしか対応していないっぽい。 Eclipseとかはだめぽ
>>245 それはつまり、AppletやJavaWebStartを起動するJavaプラグインが
個別のAppletやJWSごとに別スレッドを立てているだけか。
きっとブラウザを複数プロセス立ち上げてそれぞれでApplet動かしたら
java.exeが複数動くんだろうな。
>>223 の話と違うな。てことは223の勘違いってことでFA?
>>246 > きっとブラウザを複数プロセス立ち上げてそれぞれでApplet動かしたら
> java.exeが複数動くんだろうな。
いや、そうはならなかった。Applet, JavaWebStart対応アプリを複数起動しても
java.exe, javaw.exeは一つだった。
Windows2000とSun J2SE1.4.2_04上でJavaWebStartアプリをコンパイル&実行してますが、 新しく起動するたびにタスクマネージャのプロセスにjavaw.exeが増えていきます。 223や247の環境はどうなってるんでしょうね? それとも、こちらの環境でのコンパイルをEclipse付属のコンパイラにやらせたのが原因? (Eclipseは内部に独自のコンパイラを持っている)
> それとも、こちらの環境でのコンパイルをEclipse付属のコンパイラにやらせたのが原因? なんで原因になるんだ?
Windows XP - J2SE 1.4.2_04 で試してみた。 Applet: 複数起動してもプロセスにjavaw.exeは一つもない。 ブラウザを複数プロセス立ち上げても同じ。 Java Web Start: 起動した数だけプロセスにjavaw.exeがある。 Java Application(.jarをダブルクリックして起動): 起動した数だけプロセスにjavaw.exeがある。
Appletはブラウザのプロセス上のスレッドで動いている。 Java Web StartやJava Applicationはそれぞれのプロセスで動いている。 1.6ではJVM上のプロセスで動くようになる。 こんな理解でよろしいか?
>>251 1.6 って3年後くらいか?
.NET の Longhorn みたいにあまりにも先の話はむなしい。
ベータが今年秋で、来年リリースだと 言ってるだろうに、ソース嫁。
今秋β版が登場し、2005年に一般リリース予定。だそうです。
255 :
デフォルトの名無しさん :04/04/09 14:43
まあ、最後のJ2SEだけどね。(ゲラ
Javaは相変わらず遅いままか
少し前に 1.2 から 1.4 にリプレースしたばかり。 1.6? とりあえず 3 年は仕事には関係ない。
258 :
デフォルトの名無しさん :04/04/09 23:39
>>159 public class HogeMap extends hash_map< ClassA, ClassB, ClassA::HashFunc > {}
でええやん。
たくさんあるなら同じパッケージにまとめてimportさせるよろし。
> public class HogeMap extends hash_map< ClassA, ClassB, ClassA::HashFunc > {} Java と C++ が混じってるのか?
条件コンパイル入れてくれたらなあ。 デバッグプリントとかつけはずししたいし。
261 :
デフォルトの名無しさん :04/04/10 10:43
>>260 final なデバッグフラグならコンパイル時に消去されるので問題なし。
public static final boolean DEBUG
〜
if(DEBUG){
System.out.println();
}
まあ、大概はassertで片付く気もするが。
ログ使うって方法もあるんじゃない
264 :
デフォルトの名無しさん :04/04/10 11:40
>>258 ちなみにJavadocで、そのクラスの説明は何て書くの?
あぼーん
>>262 正確には定数式である事が条件なので final で修飾しただけではダメ。
> public static final boolean DEBUG = Boolean.getValue("debug");
とかなってる場合は
> if(DEBUG){
> System.out.println();
> }
はコンパイル時には絶対に消去されない。
>>266 そういった議論がなされている時点で、
○○でやれば無問題って意見は却下だよなぁ。
しかし、
>>260 みたいなことをしたければ
Velocityのようなシステムを使えってのには同意だ。
別に言語仕様に含めるもんでもないからな。
Velocityは関係なかった。すまそー。
書いた後でちょっと考えたら
やっぱ
>>267 では問題あるような気がしてきた。
Logger とレベル設定じゃ、あかんのか?
>>269 そもそもリリース版でメソッド呼ぶコストがキニナル(そんなのが気になるような
ら、そもそもスレッドスタックが深くなりがちなJavaなんぞ使うべきではない
が)場合の話ではないかな。
もし本当に問題になるなら、デバッグ版だけAspectJつかうか、IoCコンテナで
インスタンス作ることにしといてデバッグ版だけLogging全てかますProxyでラ
ップ掛けとく、あたりがいいんじゃないのかな。
Logjでええんじゃん
>>271 >260 がコストとかを気にしてるようには見えなかったんで。
実際、JDK Logger や Log4J のパフォーマンスが問題になるのは
よほどのことが無い限り、無いと思う。
アンタが言うとおり Java を使ってるんであれば。
AOP や IoC コンテナを使えばパフォーマンスも良いかもしれないし
柔軟性も高いかもしれない。 が現時点で人によう勧めん。
274 :
デフォルトの名無しさん :04/04/12 08:48
そんな程度のことでパクリだパクリだいってどうすうのやら。 M$もJITをパクって.NETを作ったわけだし。
もともとパクリだパクリだって騒ぎ出したのはJava厨だけどね。 そのJavaもパクっているってこった。
>>274 IBM の JRE では .NET が出る前からやってる手法だし。
278 :
デフォルトの名無しさん :04/04/12 18:36
そのうち、どちらともなくアルファベットを使うのはパクリだといいだしかねない勢いだな。
つまりドトネトがIBM JREをパクったわけか
内容を見ずに言葉の誤解があるような。
PreJITよりセキュアなら全然オッケー。 ノータッチデプロイメントといいドトネト製品はどうもセキュリティの脆弱性が高すぎて。
>>281 脆弱性が高いって変な表現だなぁ
ちなみにノータッチデプロイはJavadeいうアプレットだと思うんだけど。
セキュリティモデルはちゃんとある。
けどデフォルトでは有効になってないっておち?
>>282 M$がいっているやつのほうよ。
ドトネト厨が速度が速いからJavaWebStartのほうがいいと豪語してる。
実際のところ、セキュリティ上の問題を抱え込んでる。
285 :
デフォルトの名無しさん :04/05/28 12:44
jdk-1_5_0-beta2 age
C#のパクリ
bold が若干きれいになったような気がする…
>>286 じゃあ、1.5を朴ってC#++を作れ。
bata2のあとは何? 正規版はいつごろ?
>>289 > bata2のあとは何?
BugParadeで tiger-rc で検索したらいくらかひっかかるけど
tiger-beta3 で検索しても何も見つからないので、
Sun としては次は RC を出したいのではないかと推測。
> 正規版はいつごろ?
2004年の前半とかいってたよーな気もするが。
俺の考えでは beta2 -> RC まで1ヶ月、RC -> 正式版 まで1ヶ月かかると推測。
とすると最も早くても7月の終わり頃ではないかと思われ。
年の前半っていうことは、8月くらいに出ればいいんだよ。 後半の場合は、次の年の3月くらいまで。 あと、夏ごろリリース予定、は、夏ごろにリリース予定日が発表されるという意味。
demoの jvmti っていうのが何をするものかわかりませぬ あと、sample の jnlp も
>>292 JavaNetworkLaunchingProtolco
お前らベタ2が出てますよ
Beta2age
あおぅ、三日も前に既出だった 吊ってくる
Beta1もそうだったけど、ReaderのJISAutoDetectのアルゴリズムにバグがあるね。
ありゃ、登録済みか。さっき自分で登録したけど無駄だったか。
SwingのOpenGL描画うまくいった人いる? うちのノートのRadeonじゃろくに動かなかったんだけど。
302 :
デフォルトの名無しさん :04/06/03 11:21
yahooのチャットもできない。
>> 301
GeForce FXで試したけどえらい遅かった。まだ問題あるみたいね。
ttp://java.sun.com/j2se/1.5.0/docs/guide/2d/new_features.html#ogl > Note: The latest drivers from both Nvidia and ATI have known issues
> on Microsoft Windows that might cause rendering artifacts in your application.
> We are actively investigating these driver bugs and are working
> with the manufacturers to have them resolved in future driver updates.
java2dの描画もopenglを使うようになったって聞いたけど
-Dsun.java2d.opengl=true まだあまり効果無いよ。遅くなることもある。
現状でもJava2DはDirectDrawが効くモードにすると遅くなることもあるよ つーか、Win自体がそうなんだけど GDI(DDB)のほうがDirectDrawより速いこともあることはある
インストールディレクトリの名前がJDKだね。 JDKっていう言葉は1.1までで、それ以降はJ2SEかJ2SDKになってたと思うんだけどね。
それにしても一体何時になったら本物がリリースされるんだ?
β2いじってるとぱっとみβ1のJava2Dのバグが無くなってたので一安心 OpenGLによるアクセラレーションは確認してないがDirectDrawつかってる 1.4より遅くなければいいや
310 :
デフォルトの名無しさん :04/06/11 01:20
DirectDrawにOpenGLで勝つのは至難
速度的な物よりもDirectDrawでのアクセラレーションが限定すぎるのが現状問題 OpenGLで回転拡大縮小程度が加速されればそれなりに使いやすくなるかと あとは通常合成の他に加算合成をいれてくれぇ〜
WindowsではデフォでDirectX(Draw + 一部D3D)とGDIだよ。
>>311 System.setProperty( "sun.java2d.translaccel", "true");
System.setProperty( "sun.java2d.ddscale", "true");
これはやってる?
>>312 311じゃないが、そんなの知らなかった!ありがとう!
>>312 それって1.5での話だよね?
1.4でのアクセラレーションが限定的すぎるといってるだけ
>>314 それって1.4の話だよね?だったら、他所行ってやれやヴォケ
>>315 そのつぎの話をしてるんだからいいんじゃない?
現状(1.4)がアクセラレーション効かないのが多い、 1.5ではどこがアクセラレーションきくかという話 もしかしてJava2d触ってるヤツって少ないのか? 1.4のアクセラレーション効く場所とか分かってないようだし
System.setProperty( "sun.java2d.translaccel", "true"); System.setProperty( "sun.java2d.ddscale", "true"); これやれば1.4でアクセラレーションをアルファの描画と スケールにかけられるって話なんだが。 分かってないってのはどこが?
正確には効いてないじゃないな その設定でアクセラレーションが効くときは背景が透過しなくなるんだよ 効くには効いてるが実用にならないってこと あと、いかにもDirectDrawそのままですという感じでクリッピングエリアに 描画がかかるといっきにソフトウェア描画になって使い物にならない このへんは自動的にやってほしかった 速度だけならともかくハードウェア描画になるときはアンチエイリアスが かかるし(DirectXの設定に従ってると予想)見た目での違いが そのままでる(ソフトになると急にゼロ補完)ので厳しい そしてソフト描画になるとbitmaskにしないと遅くて使えない ラッピングされているが上の苦しみというか
そもそもJavaでOpenGLなんて遅くて使い物にならないから無問題。
Javaが従来遅かったのはハードウェアアクセラレーションを積極的に使ってこなかったから。 Windowsだってすべてソフト描画だったらWindow描画だけで大変に重い。 1.4からは描画にvramを使えるようになってそれなりにアクセラレーション効くようになったが 依然限定すぎるというところ。 1.5でどれだけきくようになってるか見物といったところだろう。 でも、ネットで検索してもこの辺の資料がほとんど無いことからみんなサーバーサイドしか やってないのが分かるね。
323 :
デフォルトの名無しさん :04/06/11 20:58
クライアントサイドのJavaなんて、アプレット以外は死滅して久しい訳だが。
>>323 バカを指摘されて涙ぐみながら、Javaの死滅を語るバカハケーン
>>321 sun.java2d.ddscale みたいな設定の説明ってどこに書いてあんの?
>>325 日本語の資料ではsunの一つのみかと。
でも、このシステムプロパティはセットしても1.4では事実上使い物にならないので注意すべし。
329 :
デフォルトの名無しさん :04/06/12 04:21
言語界の三菱ことJavaには未来はあるのですか?
>>321 おいおい。その理屈はおかしいだろ。
> Windowsだってすべてソフト描画だったらWindow描画だけで大変に重い。
つまり、Window描画はハードウェアアクセラレーションを使っていると言いたいんだよな?
それはまさかDirectXアプリだけのことじゃないよな?
Windows描画ってことはGDIのAPIもハードウェアアクセラレーションを
使っているってことだろ。
> Javaが従来遅かったのはハードウェアアクセラレーションを積極的に使ってこなかったから。
そのJavaは内部でWindows描画に何を使っているんだ?
ハードウェアに直接命令を出しているわけないよな。
当然GDIのAPIだろ? ハードウェアアクセラレーションを使っているGDIのAPIだろ?
331 :
デフォルトの名無しさん :04/06/12 09:05
332 :
デフォルトの名無しさん :04/06/12 10:00
>>330 winならGDI使ってるけど
その動きはjavaのバージョンで大きく異なる
GDIレベルだとほとんどアクセラレーション効かないし、直接bit演算
出来ない時点でJava2Dのほうが性能的に下回るかと
速度以外に目を向ければかなりのものだとは思うけどな>Java2D
volatileimageは積極的にDirectDraw使うんでせめてDirectDrawで
カバーできる範囲くらいはちゃんとやってほしいというところ
334 :
デフォルトの名無しさん :04/06/12 12:32
ハードの性能ぎりぎりまで引き出したい時はC++使えばいいんだけどさ、 そうじゃない時はJavaでいい。 個人レベルでハードの性能ぎりぎりまで使うって事はないでしょ。 Javaが遅いってのはプログラマの腕がへっぽこなだけだと思うんだけどな。
Javaが速度的にネックとなる場所は少ない
ただ、画像とか扱うと重いのはどこでアクセラレーションきいていてどこがきかないか
それがなかなかはっきりした説明がないから
実際にゲームとか作った人じゃないとこのへんの最適化のコツはつかめないと思われ
だから
>>312 のようなやつがでる
>>334 じゃ、NetBeansのプログラマはへっぽこって事で。
NetBeans3.6は重さあまりきにならんけどな
>>337 のマシンはへっぽこな予感
339 :
デフォルトの名無しさん :04/06/13 01:41
genericsに関する質問 Unsafe type operation: Should not invoke the method add(E) of raw type ArrayList. References to generic type ArrayList<E> should be parameterized ってどういう警告ですか? こっちもお願いします。 Unsafe type operation: The method test(ArrayList<Test2>) in the type Test should not be applied for the arguments (ArrayList). References to generic types should be parameterized
コード貼れよ
341 :
デフォルトの名無しさん :04/06/13 11:15
あと一年、1.4でも十分かな?
>>339 要約すると「ちゃんとgenericとして扱ってくれよ」
>>219 SEの話題じゃないけど、
携帯電話で別々のアプリが一つのJVMインスタンスで実行できたら、
携帯電話のJavaアプリも便利になるな。
一番単純な完全分離型でいいから早く欲しいな。
携帯でメモリに余裕があるとは考えにくいからどうだろうね
345 :
デフォルトの名無しさん :04/06/13 15:11
>>339 英語読めないし、
そもそも、genericsなんて使った事あるやつなんて
まだいないっしょ。
346 :
デフォルトの名無しさん :04/06/13 15:21
>>339 一つ目は ArrayList を使うときに ArrayList<Test2> とやってないと思われる。
二つ目は Test クラスでは test(ArrayList<Test2>) とメソッドを宣言しておきながら
一つ目ので間違えて ArrayList にしちゃったものを引数に与えていると思われる。
348 :
デフォルトの名無しさん :04/06/13 19:04
J2MEはJavaじゃねぇ。Javaの面汚し。
349 :
デフォルトの名無しさん :04/06/13 23:01
英語読めるのうらやましい。 みんな英語読めるの? Java1.5のドキュメントって日本語ないよね。 そうじゃなきゃ、俺は使えない。
プログラミングしようと思ったら英語はできないと半年は時流に取り残されるよ。
がーん
中学レベルの文法+プログラム関連の単語、でざっと読む。 まとまった解説とかは日本語で書いてくれるえろいひとのサイトを読む。 でかなりいけると思われる。
>>352 そのまとまった解説サイトが出てくるまでに半年はかかるんだってば。
オプソなJava処理系はいつになったらJDK1.5に追いつくんだろうか Swingすらまともに実装されてない現状では何年たっても無理か やはりJavaはオプソの敵だ
1.4すら使いこなせないお前らがそんなこと言うな
>>354 そーゆー事は Swing を自力で実装してから言え。
英語読めなくてもドキュメントのプログラム見ればだいたいわかんじゃん。
>>349 とりあえず1.5の新機能(genericsとか)に関しては
「Java 1.5 Generics」
とそのまんまのキーワードでぐぐればいくつか解説出てくるし、そこを
見ながらサンプル作って試せば大体どんな感じかは分かるはずだが。
だが、彼にはできないのだよ。そこが不思議。
文学的な表現してるわけじゃないし、慣用句が使われてるわけでもないのに、どうして読めないんだろう。 辞書でいっこずつ単語ひきゃわかる程度なのに。
>>360 プログラム用語がわかってないと辞書ひいても読めんかも。
それだと、日本語でも読めないわけで。
>>362 日本語でも(プログラム関係の文章は)読めてないんでは?
tiger の解説記事なんてググればすぐ出てくるし。
まあ2chで概説機構なんてのは幾らなんでもムチャだ。
日本語の雑誌で探すのはどうだ? どうせ出たらすぐ特集組まれるだろうし 少し前のJAVAPRESSでも Tigerの新機能を逆アセンブルしてる記事があったよ 俺としてはおもしろかったし、わかりやすかった
JDK 1.5.0 Beta 3 Build 56
正式リリースはいつなんじゃ
1.4.x で動いていた自作のネットワークプログラムが
1.5 beta-2 に移行したら
java.lang.OutOfMemoryError: Java heap space
なんて素っ頓狂なエラーでハングするようになった。
止むを得ずソース細かくコンソール出力を入れて細かく追ったら、
>>297 だった。嵌ったよ。
1.3でも挙動が変わったし、相変わらずJavaはその辺がいい加減だな。
実際のところAutoDetectに頼らないといけないって状況自体がイマイチだ AutoDetectだとMS932とれんよね? 他にはEUCと分かっていても一部文字が取得できないし UTF8かMS932かしかwebアプリの選択肢はない
>>369 バージョンが大きくかわって、細かい挙動の変更がない環境なんかないよ。
あるなら挙げてほしい。
>>372 うそつき
ずっとボーランドでやってきたが大きく変わってるよ
4→5あたりで、デフォルトが変わったTFormのプロパティがあって、MLで質問流れまくりだったなぁ。
JDK 1.5.0 Beta 3 Build 57 age
376 :
デフォルトの名無しさん :04/06/29 09:36
Eclipseも3.0がついに出たことだし J2SEもそろそろ1.5が出てほしいな
おいおまえら、Java2SE5.0Betaが出てますよ。
378 :
デフォルトの名無しさん :04/06/29 09:50
>>331-332 なんじゃ? J2SE5.0ってなんじゃ?
J2SEが1.4からいきなり5.0に数値がインフレ起こしたのか?
よくわからぬネーミングというかナンバリングだ
あれかな。 1.4 -> 1.5 だとマイナーバージョンアップっぽいから メジャーバージョンアップっぽく 5.0 にしてみますた、ってとこかな。 ところで、APIリファレンスとか java -version の結果とかは 未だに 1.5.0 なんだけど、これは正式版では変わるのかな?
380 :
デフォルトの名無しさん :04/06/29 10:22
今年のJavaOneの最大の目玉が5ですか?(プ 中身はC#1.0以下だけどね。(ゲラ
>>379 System.getProperty("java.version") と "1.5" とを直接比較するプログラムとかは
書き直さなきゃダメかもね。
これは互換性が低下してもいいよねってゆー暗黙のアピールなんだろか? っつーか -source 1.5 すると -target 1.5 しなきゃいかんみたいだし。 これだったら generics の実装は erasure で無くてもよかったんじゃ…
C#が未だに1.0で2.0が出るか出ないかってところなのにJavaは既に5.0。C#の5倍すごい。
>>383 いままでが1.4だったから、正確には((5.0 / 1.4) / (2.0 / 1.0))倍だよ。
1.8倍。
>>384 C#が1.0でJavaが5.0でどこから1.8なんて数字出てくんの?
234すっ飛ばして5するわりにJ2SEって。。。 2005年の5かな。それともとうとう狂ったかな、サン。
388 :
デフォルトの名無しさん :04/06/29 16:36
LonghornではJVM廃止されて.NETが肩代わりするらしいね。
肩代わりではなく、アメリカお得意の強制委譲だろう。
このスレタイはdeprecatedだ。立て直せ。
よくわからんからただの誤植だと思ってたけど、マジで5.0からになるの?
バージョン番号インフレさせてなにやらすごそうに見せたいんだろ。 売り文句がない時によく使われる手だよ。
むしろ凄そうに見せるときは、,NETとかXPとか良くわからない英略語を 使用する場合が多いと思うが。
dlしたが、ファイル名は jdk-1_5_0-beta2〜 だったぞ。 何がしたいんだSunは?
ただ単に1.5.0を5.0とを間違えただけってことはないですかねえ?
>>386 「Javaのバージョン番号がC#の5倍」っていう話でしょ。
1.0を1.8倍しても5.0にはならない。
お前らバージョン番号以外に話すことないのかよ。 C#からのパクリばっかで新鮮味がまったくないからしょうがないとはいえ。
>>397 C#はAPIが糞。Javaの方が遥かに美しい。
>>396 ・・・算数がわからない人には通じないジョークだったか。
>>395 うーん、1個所だけならまだしも、目に付くところすべて5と書いてあるのでそれはないかと。
J2SE 5 ってなんだよ…
正式発表(?)
http://java.sun.com/javaone/tech_sessions1.html > Java 2 Platform, Standard Edition (J2SE) Version 5.0 (code name "Tiger").
> This new release of the Java platform includes a very large number (almost 100)
> of Java Specification Requests (JSRs) and other updates designed to improve ease
> of development, speed performance, and extend monitoring and management capabilities.
> Even core XML support has been enhanced. If you're wondering why Tiger is J2SE "5.0"
> instead of the traditional J2SE "1.x", Hamilton noted that "because J2SE 5.0 is our
> biggest update to the platform since the original 1.0, it felt kind of stupid that
> we were still calling things 1.1, 1.2, ... And with a big roaring Tiger,
> we wanted to change the numbering system, so we're now going to use the 5.0 number for J2SE,
> and similarly Jave 2 Platform, Enterprise Edition (J2EE) is going to move to 5.0.
> Future releases will be 6.0 and 7.0."
>>400 まあ、Java2SE 1.5もどうかと思うけどね。
つまり、Java2ってなんだよ、って。
2で文句を言うなら、#とか何だよって話になるが。
>>403 J#はJ++++という一応の意味はあるけどね。
405 :
デフォルトの名無しさん :04/06/29 19:46
なんで 2 をとらなかったんだ???・・・もうアボガド。
より意味不明だけどな。
Javaの2ではなく、Java2って言う物だからだろ。 プロジェクトA2をプロジェクトAの2と言わないのと同じだ。
1.2のときに大幅に機能アップしたよ!ってことでJava2プラットホームにしたんだよね。 だから今回はJava3プラットホームだ!ってんなら話は分かる。一貫性がなくて美しくない!
次はJava2 Version5.0 1.6とかいう名前になるのか?w
Solaris8(SunOS5.8)みたいなものだろ。
>>399 すごい照れ隠しだな。間違って微分しちゃっただけだろ。
こんな間違いどうってことないからそんなに気にするな。
J2SE 6.0 (code name "Mustang") J2SE 7.0 (code name "Dolphin") 10.x からは J2SE X v10.x になります。
Java3SE6.0 for Microsoft .Net Framework
>>411 ちゃんと
>>384 に計算式書いてるのに、なんでこういう突っ込みがくるのかなぁと思ったのさ。
おれとしては、そんなバカな計算してどうする、みたいなツッコミ期待してたのだけど。
>>414 C# は (2.0/1.1) にしないとダメじゃないか?
あんま変わらんけど。
つーかもうJavaはいいから、他のOSでもまともに使える.NET Frameworkのクロスプラットフォームライブラリと実行環境を作成しる。 M$製の窓にべっとり粘着してる在りがちな糞ライブラリなぞ使う気にならん。
>>416 MONOとかで作ってるけど、gtkにべっとり粘着、
もしくはwineにべっとり粘着、どっちがいい?
マルチプラットフォームなGUIライブラリなら、
むしろSWTをいろんな言語で使えるようにした方が早いかも。
SWTレベルでいいのならSwingでJComponentを継承して軽いの作った方が手間無く早そう
作れるスキルのない奴ほどそういうことを言う。(ゲラ
ゲラとかププとか、ちゃんとわかりやすく書いてくれることに、好感すら覚える。
どこのjavaスレにもププさんきますね
422 :
デフォルトの名無しさん :04/06/29 23:57
>>401 JCPの圧力があって5.0というネーミングになったのか。
そうみえるのだが
日本共産党おそるべし
漏れ、generics と foreach が便利すぎて、もう 1.4 に戻れない。 業務でつかっていいですか?
>>425 最強のJavaIDEはEclipse3.0ですが何か?
427 :
デフォルトの名無しさん :04/06/30 00:54
J2SE 5.0(プ に対応してないIDEを発表して最強扱いか。(ププ これがJavaの現実だよな。(ゲラ
>>426 おれもEclipse3.0のことかと思ったら、これだね。
M$のサイト晒してばかりでホントにM$社員みたいだね彼は。
しかも
>>427 でアホなこといってますよ彼は。
まさかとは思うが
>>430 は
>>423 のネタに騙されて
ここで議論しているJCPが本当に日本共産党だと勘違いしているのだろうか。
Next Thread の Title は J2SE 5.0 をタイトルに含めよう
J2SE5.0はJava1.5.0なの?
J2SE 10.0 は Java 2.0 になるの?
>>417 gtkは色々な環境で動くんだから、特定の環境に粘着とは言わないのでは?
>>437 それならSwingでも色々な環境で動くし。
>>438 よく見ろ。
Windowsにべったりかどうかの話で、
gtkもべったりだろという反論に対しての話だぞ。
べったりのレイヤーがOSかそれより上かなだけで べったり(依存するものがなくなると存在できない)という意味では どっちもどっちなんじゃ。
まぁ、そんなレベルで話を進めると、JavaはJavaランタイムにべったりとか、 ,NETは.NETframeworkにべったりとか、そういうところまで行き着くな。
>>441 そんな当たり前の事に行き着くのはオマエだけ。
普通の人にとっては常識。出発点以前。
なんで話の流れを読まずに粋がってるんだろう・・・
当たり前のことに行き着くんだったら、普通の人は全員行き着くと思うが。
Swingで不都合がある環境って、Windowsだけじゃないの? 違うの?
LinuxのGUI環境はSwingにも劣る、というだけのことだと思うが。
ワラタ Macはネイティブに近い実装だし、Solarisは見たことないけど、Sunのことだから頑張ってるだろう、と思ったのさ。
3年ブリくらいにJDKダウソしたよ。 Javaアプリってメチャクチャ早くなってるね。(漏れのPCも強力になったけど) 正直、ちょっとショック。
慣れたら、やっぱ遅いや、って思うんだけどね。 昔みたいに使い物にならんほどじゃないけど。
虎って次のMacOS?
>>449 そりゃ藻前のマシンのスペックがたいしたことが無く今となっては劣悪なんだろう。
たとえ2GHzでメモリ512MB積んでいようともな。
サービスや常駐プログラム起動しすぎ重たくなった環境でな。
3GHz, メモリ1GBがあればJavaのGUIサンプルは綺麗に快適に動く
>>451 そこまでなくともDemoくらい1GHzクラスでさくさくだろ
>>451 うちはPentiumIII866で512MBだけど、サクサク動くが。
このスレでは「Java は重い」と書くと叩かれるのか
まぁ、、Javaが重い環境だと、.NET Frameworkでも重いからな。 AppletとWindowsネイティブアプリケーション比べて重いとか 言ってるんだったらそりゃAppletの方が重いに決まってるが、 EclipseとVS比べても、起動時間以外は変わらなかったりするし。
> EclipseとVS比べても、起動時間以外は変わらなかったりする なぜ起動時間を除外する?起動時間って結構大事だろ
起動時間なんてどうでもいいよ。 スタートアップに登録してしかもPC付けっぱなしだし。
起動時間が全体の作業時間のどれぐらいを占めるか、だよな。 ほとんどの場合はどうでもいい。
開発者がそんなこと言ってるから普及しねーんだよ
ネイティブのアプリケーションと バーチャルマシーンのアプリケーションで 起動の比較をしても仕方ないな。 VMの起動に時間が掛かるというのは、 ネイティブアプリケーションで言えば OSを起動している時間と言うことだし。 一回上がってしまえばそれからは結構早い。
なんで起動時間を除外すんだよ 本気で起動時間が遅くても構わないと思ってんなら頭悪すぎるぞ そんな低脳どもは全てのクラスを起動時にロードしてろよカスが
IDEのようなのなら確かに起動時間は気にならないね でも、こまめに終了するようなたぐいだと気にはなる が、本当に気になるのは最初の1回だけ 2回目以降はSwing使ったヘビーなものでも全然問題ない
別に、起動時間が命のアプリはネイティブで、 起動しっぱなしなのはVMででいじゃないか。 一つの言語で全てをまかなわなきゃならんと言う必要はないよ。 Eclipseのような多様なOSで同じ開発環境を作れるアプリケーションや サーバサイドで上げっぱなしにするアプリケーションなら最適だろうが、 ちょこちょこ上げたり落としたりするメモ帳みたいなアプリには 向かないということで、べつにいいじゃないか。
まぁ、そりゃ起動が早いに越したことはないが、 起動が早い言語は、どうして起動が早いのかを ちょっと考えた方がよいと思う。
OSの起動時にVMも起動されてれば結構速いって事じゃない? IEとMozillaでApplet貼ってるページを見た時みたいな感じでしょ IEはブラウザ上げたときに一緒に起動されてるからAppletの 表示が速いけど、Mozillaはアクセスがあってから上げるので 一回止まってしまう感じの
起動が早くても、その後もっさりなのは勘弁して欲しいよな… IEとは言わないがな…
>>466 > OSの起動時にVMも起動されてれば結構速いって事じゃない?
だからさあ。されてないでしょ?結局
>>464 は何が言いたいの?
Javaは起動が遅くて糞糞糞 って言いたいんだよ。
要するに、MSの言語は、アプリケーションの起動が早いぶん、 OSの起動が遅くなってるって事だろ。 スタートアップにJVM入れとけば同じ事だな。
>>470 で、「勝手にスタートアップに登録してんじゃねーよ!」と怒られる、と。
ユーザ様はわがままですから。
起動が早い言語は、マルチプラットフォームには向かないって言いたいのでは。
んなこたない。Sunの妨害にあって頓挫してしまったが MSが本気になったらJVMでさえ一瞬で起動するのにな。
もちろん、MSべったりの仕様になるわけだがね。
MSが本気になったらすべてがOSの一部としてWindowsでしか動かなくなる上、 勝手に起動時に立ち上がってしまい、使うまで止めておくという選択肢が無くなる。
大体言語のポータビリティーなんてコンパイラベンダとそのユーザーがその度合いを決定すべきでなのに Sunがアホみたいにでしゃばるから寂れてしまったんだよな。自業自得だよ。
アホみたいにでしゃばってなかったら、今頃もう無かったかもしれないがな。
479 :
デフォルトの名無しさん :04/07/04 00:09
でしゃばって利益を出せないアホ。www
>>479 > 大体言語のポータビリティーなんてコンパイラベンダとそのユーザーがその度合いを決定すべき
ひとつの「コンパイラベンダ」が、他を無視できるほど大きくて、ユーザーの環境が他を無視できるほどひとつの環境にかたよっていれば、それでいいね。
>>479 いやぁ、利益出させていただきましたよ。
>>459 サーバアプリケーションというものはほとんど再起動を必要としない。
よってサーバサイドで十分に普及しているJavaのことを
「起動時間が(ry」なんてJavaの世界でいうのも(ry
>>482 でも、クライアントサイドでも普及したがってるんだから。
これからそれがさらに普及してゆくのも時間の問題。
ひたすら長そうだ
起動時に、VMも起動させとけ。 これで終了した話題だな。 ってか考えたら分かるだろ。こんな対処方法。
考えてわかるのと、実際に実現させるのとはちがう。
>>488 立ち上がって、すぐ終了するソフト作ればいいんでねーかい?
490 :
デフォルトの名無しさん :04/07/04 04:13
491 :
デフォルトの名無しさん :04/07/04 04:57
サービスとして起動時から
>>490 あれ?
でも、JAVAアプリ立ち上げて、終了して、
それ以降他のJAVAアプリの立ち上げも早くならない?
俺の勘違い?
>>492 DLL とかのキャッシュが効いてるのでは?
一度起動しておくと、次は結構早く起動するね。
>>493 の言うとおりキャッシュだろうけど。
メモリの厳しい状況だと、ひとつアプリ立ち上げてるときは、他のアプリの立ち上げ速いけど、全部おわらすと、やっぱり立ち上げ遅い。
Win32APIで済むのにわざわざ別のAPIセット入れなきゃならないなんて迷惑な話だよな。
>>496 そー思うなら入れなきゃ良いだけの話だと思われ。
とりあえず1.5からはPriJITが導入されて二回目以降のJavaの起動が早くなるのは確実だろう
>>497 「起動が遅い」とかに加えて「わざわざ別のAPIセット入れなきゃならない」って言うのがデメリットの1つだろ ?
>>500 真性のヴァカで、話の流れが読めない君 ?
それとも、単なる嵐さん ?
>>499 デメリットが嫌なら、使わなきゃ良いだけ。
503 :
デフォルトの名無しさん :04/07/04 11:06
Java嫌いさん「糞っ糞っ、COBOLとVBのエキスパートである俺が、 なんで今更Javaの仕事なんてしなきゃならんのだ。 世の中Javaの案件だらけで激しくむかつく。 Javaなんて起動遅いし、わざわざ別のAPIセット入れなきゃならんし 糞だ、糞!」 新人君「Java嫌いさん、ここの設計どうにかなりませんか? なんかオブジェクト指向的におかしいんですけど」 Java嫌いさん「お、オブジェクト指向? VB風COBOL風に組んでなにが悪いんじゃヴォケ! 俺は今までそうやって組んできたんじゃ!」
Cを最強の言語と信じていたCマンセー君にも該当するのう。
WIN32APIでGUI作ると Javaの10倍以上時間がかかるぞ。
>>496 別に覚える必要がある、という点では、MFCも含まれるのかな。
509 :
デフォルトの名無しさん :04/07/04 14:13
>>508 Win32SDKで、それなりにコントロール配置したウィンドウ出すプログラムを、Javaで記述する場合と同じ時間で書けるのなら、尊敬する。
>>511 うん。そうみたい。
低脳だから、WinMainとかWinProcとかWM_COMMANDとか書くより、ActionListener書くの方がめちゃくちゃ速く書ける。
>>513 WM_COMMAND書けるよりもActionLister使える方が仕事みつけやすいし。
GlobalAcllocなんてやってられん。
515 :
デフォルトの名無しさん :04/07/07 01:19
J2SE5.0でもJDK1.5だべ? SunOS5.xみたいだな。
J2SE5.0という呼称だけはいただけない。次どうすんだよ(w
次はJ2SE2005とかだろ
518 :
デフォルトの名無しさん :04/07/07 12:35
俺のアプリなんてバージョン0.0.0.329とかだけどな
とりあえず、最終的に java.class.version java.specification.version java.version がどうなるかが気になる。
おにたまってHSPをCにするコンバーターを開発してたんだな。 Cを異様に嫌う厨房が手のひらを返して喜んで使いそう(プ
522 :
デフォルトの名無しさん :04/07/07 16:25
JavaWorld廃刊おめでとうございます
>>520 その辺は変わらない(変えられない)と思うけどねぇ。
525 :
デフォルトの名無しさん :04/07/07 16:40
J2SE5.0ってJ2SE1.5のことなんでしょうか? 誰か説明しちくり。
Goodbye again, JavaWorld
Daniel H Steinberg (January 13, 2004 7:04AM PT)
URL:
http://www.java.net
527 :
デフォルトの名無しさん :04/07/07 16:46
Java Worldって日本の雑誌じゃねーの?
JavaWorldといいJava Developerといい、 Javaの雑誌がどんどんなくなっていくな。
530 :
デフォルトの名無しさん :04/07/07 18:13
JavaWorld廃刊、 JavaDeveloper廃刊、 JavaOneカンファレンス実質死亡。 詳しくはマ板へ。
MSの圧力
単に雑誌が乱立しすぎただけでしょ。 JavaPressとJavaWorldとJavaDeveloperと、他にも何かあったっけか? Java専門誌でなくてもCマガで初心者向け連載あるし、 Unix系の雑誌では鯖側ソフトのインストール記事とかあるし。
というか なぜそのブログが半年前の記事であることを 誰も突っ込まないのでしょう? なぜjavaworld本家に何もアナウンスがないことを 誰も突っ込まないのでしょう?
なんか動員されて書き込んでるやつらがいるのかな。
Cマガかぁ ひさしく読んでないな
>>517 次って言うかなるほどなネーミングだな。
J2SEには一年半後とに0.1づつバージョンをアップデートするというルールを作っていたみたいだが
ここで名前を変えてみたってところか。
Solaris2.7 => Solaris7 ってのと同じだろ。 Sunの常套手段。
3.5 > 2000 > XP みたいに、製品だす度にバージョン番号の法則がかわるよりはましかな。
バージョン番号じゃなくて商品名だと思うんだけど。 Windows2000 = WindowsNT5.0
ああ、それはいい言い方だね。 商品名にバージョン番号が含まれる必要はない、と。 マーケティングに自由を。ユーザーに混乱を。
>>540 そうだよ?
Microsoftは初心者を騙すのがうまいから今の地位を築けたんだよ。
>539が何か気に障ったかい?
>>538 MetaFrameみたいに1.0→XP→3.0と元に戻されても萎えるが
546 :
デフォルトの名無しさん :04/07/10 18:13
【JavaOne 2004】次期J2SE「Tigerリリース」の正式版はこの夏登場
http://itpro.nikkeibp.co.jp/free/JAV/NEWS/20040629/146507/ J2SE5.0Tigerリリースは,現在ベータ2の段階にあり,
今年夏には正式版が登場する。このリリースでは
「1995年のJava言語登場いらいの言語仕様の変更」が加わる。
特に重要なのはメタデータで,EJB3.0,JAX-RPC2.0,JDBC4.0など
メタデータを取り入れたAPIは,従来に比べずっとプログラムが簡素になる。
今後のJ2SEのロードマップも示した。今後予定しているJ2SEのリリ
ース番号を1.5から5.0,1.6から6.0へと振り直すとともに,リリース間隔を
18カ月程度に短縮し,新技術を取り入れやすいようにする。
セッションでは「要注目」の多数の技術を取り上げた。
例えば「Groovy」言語(JSR-241)は,「Java言語よりも動的で
スクリプト言語風の小さなプログラム向けの技術」である。他のスクリ
プト言語,特にPHPと連携するためには,JSR-232が準備中である。
J2EE5.0(J2EE1.5改め)の概要も紹介した。EJB3.0やJSF(JavaServer Faces)をコア技術として取り込む。J2EE5.0の正式版は,2005年後半に登場する予定である。
タイガーは丈夫です
タイガースはどうですか?
>>532 JWとJDは宣伝っぽいのが多かったからね。
JPはオープンソースの活用が殆どなんで、
生き残ってるんだろう。
俺も一応3種類とも買ってるけど、JP以外は殆ど見返さない。
JWは、話題が早すぎて、1年前くらいの特集がタイムリーなんだが・・・ JPはリファレンスばっかりだから、使い分けだな。
たしかにJavaPressが実用度ではトップクラスなんだけど ここんところ酷い内容で買う価値がほとんど無いなぁ
ORマッピングの話やら、コンテナとかサーバーサイド技術が、WEB+DB PRESSに食われてるからねぇ。 JWは、最近抽象的な特集ばかりなのが、気になる。うわさ通り持ちネタ放出してるだけ?
553 :
デフォルトの名無しさん :04/07/20 12:53
J2SE5.0が今年の夏にでるって具体的にいつ頃? もう夏だしそろそろ出ておくれよ真タイガージェット Genericsが待ち遠しいのだよタイガーアッパーカット
555 :
デフォルトの名無しさん :04/07/20 13:58
いやだ。 それで既存のコードを実装してバグ出したくない。
JDK 5.0 Beta 3 Build 58 age 7/14日に出てたみたい。
>>555 「既存のコードを実装して」って具体的にどーゆー事?
既存のソースをコンパイルする事か?
558 :
デフォルトの名無しさん :04/07/20 14:11
いちいち揚げ足をとりおって。 既存1.4コードに1.5コードを追加修正する間際にベータ版固有のバグを(ry だ
>>556 Date Released は 07/19/2004 だけど?
>>558 ベータ版固有のバグって具体的には?
リリース版でもバグが全く残ってないなんて保証はないのに?
561 :
デフォルトの名無しさん :04/07/20 14:16
とにかく1.4がリリースしたときのような気分で1.5を使いたいのじゃーーーーー
>>561 jar の中とか漁って beta の文字を全部取れば「気分」は出るんじゃないか?
廚ウゼェ。 リリース版しか使えない体ならうだうだ言わずおとなしくリリース待ってろよ。
>>558 どうせ本番リリースの前に本物がリリースされるだろ。
既存のAPIではバグがでる可能性は低いし。切り分けもできるし。
やらない理由は、探せばいくらでもあるものだ。
Tigerきにいったなら、とりあえず、使え。
そして人身御供
で、Autodetect のバグは取れたんかいな
567 :
デフォルトの名無しさん :04/07/20 22:32
俺もう使ってる。しかも業務で。 今開発中で完成する頃にはJ2SE5.0もbetaが取れてるだろうという読み。 Map<int, String> とか、すごく気持ちいい。 キャスト氏ね!て感じだね。爽快だよ。
>566 さっき試したら直ってたよ。
>>567 > Map<int, String>
コンパイルエラーにならんか?
プリミティブ型指定できたっけ?
ごめんホントは Map<String, String> でした。
ごめんホントは Map<Object, Object> でした。
>>565 バイト先で使いたいんだがつかわしてくれんよ
>>567 > 今開発中で完成する頃にはJ2SE5.0もbetaが取れてるだろうという読み。
完成する頃には RC の途中だったりして。
javaってCで開発してるの? 道理で開発が遅いわけだ。
579 :
デフォルトの名無しさん :04/07/28 16:18
JavaVMはバッファオーバーフロー起こします。C/C++で作られてるから。
>>579 バグ報告するから、具体的にどこでバッファオーバーフロー起こすのか教えてくれ。
そんなの指摘し始めたらこのスレが埋まってしまうよ。
>>581 では とりあえず、具体的にどこでバッファオーバーフロー起こすのか3箇所挙げてください。
SunとNDA結んでいるからSun以外には教えられないな。
普通のNDAだったら
>>579 書いた時点でアウトなんだが。
579は俺じゃないし。
ちなみにNDA的には
>>581 でもアウトの可能性高いんだけど。
夏だねぇ
588 :
デフォルトの名無しさん :04/07/30 16:41
それはそうと、GIF画像生成はどうなるの?
589 :
デフォルトの名無しさん :04/07/30 21:00
>>574 バイト先で勝手にEclipse3.0を使ってみたが
漏れの影響を受けて上司までEclipse3.0を使い始めた。
今までAnt + 秀丸だったという。
590 :
デフォルトの名無しさん :04/07/30 21:23
>>589 Eclipseなんか、システムに関係ない。
話のレベルが違うだろ。
だからバイトには(ry
>>590 あなたのレスから、関連性を見出すことができません:)
有能なバイト君に嫉妬しているうだつの上がらないリーマンコーダなんだろ。 ほっといてやれよ。
>>591 JDK1.5を勝手に使われたら困るっていってるところで、Eclipseを使って・・・と自慢されても、ねぇ。
>JDK1.5を勝手に使われたら困るっていってるところで 脳内前提を勝手にでっち上げて反論されても、ねぇ。
つーか、仕事なら開発環境勝手に使うのやばいだろ 実績があるとかそういうのまったく関係なしで
>>594 過去レスもたどれないのか。
>>595 基本的に関係ないだろ。
Eclipseにしろ、NetBeansにしろ、開発環境はコードに影響与えないし。
おまいら、秀丸+Ant で開発していた上司を先に晒しあげしないと。
>>596 > Eclipseにしろ、NetBeansにしろ、開発環境はコードに影響与えないし。
開発環境統一してるとこだとダメだけどね。
>>598 Eclipse使ってるところでNetBeans使うメリットはあまりないけど、NetBeansやらJBuilder使ってるところでEclipse使ってリファクタリングとかはありだと思うけど。
単なるツールだから。
単なるツールを勝手に使えない組織というのももちろんあるけど、それはまた別の話で。
>>599 それなりに秀丸カスタマイズして使ってたなら、十分あり。
Ant使わず、バッチファイルでやってたら晒し上げだけど。
秀丸 + Mavenだったら尊敬してたのに。
>>600 > Eclipse使ってるところでNetBeans使うメリットはあまりないけど、
GUIエディタは NetBeans のが優秀だったりとメリットはあると思うが。
> NetBeansやらJBuilder使ってるところでEclipse使ってリファクタリングとかはありだと思うけど。
自動出力されるコードが統一される保証が無いよーな。
それに二つの開発環境使い分けると単一の開発環境使う時より操作ミスとかが起こりやすいしね。
>>603 別に補助になるツールの方では激しく自動出力しないでしょ。
自動出力しても、コメントくらいが違うだけだろうし。
それに、特にリファクタリングだと、操作ミスより手でやったときの変更漏れやミスの方が怖い。
NetBeansのGUIビルダこそ、自動出力コードが著しくEclipse VEと違うし。
というか、オレとしては、開発環境がNetBeansと決まっていたらメモ帳でコード変更するのも許されないのか、という感じをうける。
メモ帳でコード編集していいなら、Eclipseでコード編集してもいいじゃん。
ソフト勝手にインストールしちゃだめな組織もあるだろうけど、それはやっぱり別の話で。
まっとうな企業なら勝手にインストールして 好き勝手な開発環境つかうってのはありえん GUIまともに作るなら今はNetBenasしか選択肢はない VEがまともになるのはいつのことだろうか
>>605 GUIはJBuilderの方がいいらしいけど。
コンポーネント配置の位置がわかりやすいのだけはNetBeansよりVEのほうがいい。
> まっとうな企業なら勝手にインストールして
> 好き勝手な開発環境つかうってのはありえん
規模が大きいところならそうかも知れんけど。
中小ならそうでもないんじゃない?
それに、いまどきEclipse使わせてもらえないような企業がまっとうな技術もってるかっていう話も。
>>604 > 自動出力しても、コメントくらいが違うだけだろうし。
> NetBeansのGUIビルダこそ、自動出力コードが著しくEclipse VEと違うし。
矛盾だね。
たかがリファクタリングの自動生成コードであっても
複数の開発環境が自動生成するコードを混ぜると
後で一括処理するときに障害になる可能性が否定できないしねぇ。
> それに、特にリファクタリングだと、操作ミスより手でやったときの変更漏れやミスの方が怖い。
誰も手作業でやれなんて言ってないよ。
> というか、オレとしては、開発環境がNetBeansと決まっていたらメモ帳でコード変更するのも許されないのか、という感じをうける。
コードを自動生成するならメモ帳も使用禁止だろね。
>>606 > それに、いまどきEclipse使わせてもらえないような企業がまっとうな技術もってるかっていう話も。
Eclipseを開発環境として選択するのと、技術力とは全く関係ないと思われ。
今時テキストエディタで開発してるところは明らかに技術(収集能)力が低いわけだが。
>>606 JBuilderもNetBeansもEclipseもJdevもさわったが
JBuilderはGUI開発が分かりやすいだけ
といってもそのわかりやすさは大事なんだけども
あとJDevはJBuilderまんま
NetBeansのいいところは自分で作ったカスタムパネルとかを
フォームにぺたぺた貼り付けるのが容易というところと
pack指定ができること
>>609 Eclipse を使わなかったら必ずテキストエディタ使ってるのか?
>>607 > たかがリファクタリングの自動生成コードであっても
> 複数の開発環境が自動生成するコードを混ぜると
あの、リファクタリングって知ってます?
クラス名書き換えとか、パッケージの移動とかですよ。
混ぜるとどうのこうのというのは起きないだろ。
それに、何の一括処理するんだよ。
>>612 > クラス名書き換えとか、パッケージの移動とかですよ。
それはリファクタリングのごく一部。
> 混ぜるとどうのこうのというのは起きないだろ。
どうしてもというなら会社に損害与えない事が保証できれば使ってもいーんじゃないか?
> それに、何の一括処理するんだよ。
リファクタリング支援機能の一つ、クラス名書き換えも立派な一括処理なんだけどね。
>>597 Eclipse使うのも開発効率が良くていいいことだが、
Ant使うなら上等だろ。Antでも十分に開発効率は高いんだし。
Eclipseが重たいという人はほとんどがAntを使っているらしいぞ。
Ant + Emacs みたいな感じでな。
615 :
デフォルトの名無しさん :04/07/31 14:30
>>605 > まっとうな企業なら勝手にインストールして
> 好き勝手な開発環境つかうってのはありえん
なにいっているんだ。
まっとうな大手企業でも、R&D系なら好き勝手にやらせてくれるはずだ。
SoftBankみたいになにもかも制限され、監視されるというのはおかしいし
開発効率が悪化する。
> GUIまともに作るなら今はNetBenasしか選択肢はない
> VEがまともになるのはいつのことだろうか
>>613 なんか、言ってることが支離滅裂じゃないの?
別に、リファクタリングのすべてをやらないといけないわけじゃないし。
パッケージ移動やクラス名変更やらがあったときに、Eclipse使ってリファクタリング機能使うのがいいんじゃないの?って言ってるだけなんだけど。
他のリファクタリングでも、そんなにクセのあるコード吐き出したりしないだろ。
それに、クラス名書き換えの一括処理ができなくなるようなコード自動生成ってどんなんだよ。
617 :
デフォルトの名無しさん :04/07/31 14:31
>>609 > 今時テキストエディタで開発してるところは明らかに技術(収集能)力が低いわけだが。
んなこたあない。Emacsはばかにできないぞ。
それとテキストエディタであってもAntを使えばかなりの技術力があるほうだろう。
618 :
デフォルトの名無しさん :04/07/31 14:33
>>607 >
>>604 > > 自動出力しても、コメントくらいが違うだけだろうし。
> > NetBeansのGUIビルダこそ、自動出力コードが著しくEclipse VEと違うし。
> 矛盾だね。
> たかがリファクタリングの自動生成コードであっても
> 複数の開発環境が自動生成するコードを混ぜると
> 後で一括処理するときに障害になる可能性が否定できないしねぇ。
CVSとかでちゃんとバージョン管理していないから混乱するんだろ。
お前ら口論できれば口実は何でもいいんだろ
当たり前じゃないか。 台風で外出もできんのに。
>>617 テキストエディタには、Emacsは含めない w
>>616 > パッケージ移動やクラス名変更やらがあったときに、Eclipse使ってリファクタリング機能使うのがいいんじゃないの?って言ってるだけなんだけど。
開発環境を統一している職場で、かつ Eclipse を使っていない場合でも
無理やり Eclipse を使ってリファクタリングした方が良いって話でしょ?
>>621 ちなみに、テキストエディタに含めない根拠は?
Emacsはただのエディタだよ。 IDEとは比べ物にならない。
>>624 あるよ。で、テキストエディタに含めない根拠は?
>>626 テキストエディタというには、あまりにも高機能。
ちなみに、ここでのテキストエディタは、
>>609 でのテキストエディタね。
最近スレの流れ読まずに突っ込むヤツいるから。
>>625 Emacsは設定次第でIDEともいえると思うが。
何もプラグインの入ってないEclipseと同じだと思う。
>>622 無理やりって、別に無理しないとEclipseが使えない低能なら、使わなくていいよ。
>>627 なにを持って高機能といってるのか
>>609 見てもわからん。
ちなみにjEditはテキストエディタか? 秀丸はテキストエディタか?
>>629 > > 開発環境を統一している職場で、かつ Eclipse を使っていない場合でも
> > 無理やり Eclipse を使ってリファクタリングした方が良いって話でしょ?
> 無理やりって、別に無理しないとEclipseが使えない低能なら、使わなくていいよ。
能力は問題にしてないんだけど。職場のルールは無視しても良い、と?
ところで、最近は Eclipse 使う人間は使わない(使えない、ではない)人間を
低脳よばわりしてストレス解消するのが流行ってるのか?
>>631 > つまり、行間を読む能力がない、と。
つまり、相手に行間を読んでいただかなければならないほど文章を書くに不自由している、と。
>>632 前から出てるけど、勝手にツールインストールしちゃいけないとかいうのは別の話ね。
で、例えば職場でJavaのコーディングにはJBuilder使いなさいというルールがあったとしたら、メモ帳でソースコードいじるのもだめなの?
Eclipseのインストールが許されてるなら、コードいじるのに部分的にEclipse使ってもいいと思うんだけど。
>>633 そうだねぇ。
あんたみたいに読解能力の低い人にちゃんと理解させる文章を書くだけの能力は、オレにはない。
>>634 > で、例えば職場でJavaのコーディングにはJBuilder使いなさいというルールがあったとしたら、
> メモ帳でソースコードいじるのもだめなの?
普通は不可。例えば JBuilder の GUIエディタが吐いたコードとか勝手に書き換えられたら困るでしょ。
>>635 文章書く能力っつーか、説明する能力とか、論理的思考力も足りなさげ。
>>636 いじっちゃだめな部分はいじらなければいいじゃん。
まぁ、どこいじってよくて、どこいじっちゃだめかわからんような奴がたくさんいるような組織だと、ルールとしては指定したツール以外使用禁止になるんだろな。
>>637 話の流れとかフインキ(←なぜか変換できない)読めないやつに説明する能力は、ない。
>>638 その屁理屈がとおるなら、手動でクラス名を変更してもミスは全く考慮しなくて良いな。
>>640 なんか、自分が屁理屈ばっかりいってるから、他も屁理屈に見えるんだね。
じゃあ、GUIじゃなければ、いいんじゃないの?
それに、保護するべき部分をいじってしまうリスクよりも、リファクタリングし損ねるリスクの方が高いと思うんだけど。
っていうか単純に面倒。
ミスの可能性を度外視していいなら(以下略)
>>642 で、じゃあサーブレットとかPOJOをリファクタリングしたときに、どんな弊害があるの?
>>641 > じゃあ、GUIじゃなければ、いいんじゃないの?
自動処理の対象となる可能性のある全てのコードが対象なので、
GUIじゃなければ良いという話ではない。
> それに、保護するべき部分をいじってしまうリスクよりも、リファクタリングし損ねるリスクの方が高いと思うんだけど。
JBuilder にリファクタリング支援機能があるならそれを使えばよいだけでは?
あ、サーブレットならweb.xmlの・・・っていうツッコミどころがあるね。 POJOだけに絞ってみようか。
>>644 Eclipseと同じことができるならね。
で、自動処理ってなんなのさ。
>>646 > で、自動処理ってなんなのさ。
自動処理は自動処理だよ。
JBuilder の GUIエディタが自動生成するコードも、
javadoc コメントの生成支援で出力されるコメントも、
ユーザが JBuilder が出力するコードと決めウチして、
他のフレームワークへの移植を行うのも含めて
あらゆる自動処理全部。
> Eclipseと同じことができるならね。 Eclipse 以外のツールを使いこなす事ができない、単なる Eclipse 厨だな。
>>620 台風ってことはあんた、関西のほうか?
うち東京は晴れて天気がええぞ
>>648 え?
JBuilderってそんなかしこくなってんの?
ま、JBuilderは、使う候補にあがらないし。
NetBeansはEclipseほどのコーディング支援ないし。NetBeans4.0になったとしても。
NetBeansなりJBuilderなりで大枠吐き出して、Eclipseでコーディングというのは、なかなかいいと思うんだが。
自動処理ったって、リファクタリングで影響がでるような自動処理ってなんがあるのさ。
652 :
デフォルトの名無しさん :04/07/31 16:27
Eclipse使っている人と、日で丸使っていない人と一緒に開発しても それほど支障はきたさないが。 むしろ日で丸とかで開発しているひとのソースコードをみるとコードフォーマッタで 整形したくなったり、警告によって出たいらないインポート宣言やいらない変数を 削除したくなってくるがw ついでにコメント自動生成機能とかもついかしたくなってくるw
654 :
デフォルトの名無しさん :04/07/31 16:29
>>632 >
> ところで、最近は Eclipse 使う人間は使わない(使えない、ではない)人間を
> 低脳よばわりしてストレス解消するのが流行ってるのか?
んなこたあないよ。むしろAntやmake使えない人間のほうが低脳なんじゃないの?
web.xmlなら、IDEが自動生成したものなんか、XDocletで捨てられるから、気にしない。 XDoclet使わなかったら、web.xmlコンフリクトしまくりで、数人じゃやってられない。
656 :
デフォルトの名無しさん :04/07/31 16:30
>>636 >
>>634 > > で、例えば職場でJavaのコーディングにはJBuilder使いなさいというルールがあったとしたら、
> > メモ帳でソースコードいじるのもだめなの?
> 普通は不可。例えば JBuilder の GUIエディタが吐いたコードとか勝手に書き換えられたら困るでしょ。
だからそういうときにCVSのようなバージョン管理ツールを使うんだよ。
>>654 makeは使えなくていい、と思う漏れは低能ですか?
658 :
デフォルトの名無しさん :04/07/31 16:32
>>636 >
>>634 > > で、例えば職場でJavaのコーディングにはJBuilder使いなさいというルールがあったとしたら、
> > メモ帳でソースコードいじるのもだめなの?
> 普通は不可。例えば JBuilder の GUIエディタが吐いたコードとか勝手に書き換えられたら困るでしょ。
とりあえずさ、テストケース書けよ。
いじったときにテストに失敗するようだったらそのソースコードは捨てるってやりかたで差
実はここでやりとりしてるやつって、数週間前にORMスレでやりとりしてたやつとメンバー変わらなかったりして。
>>656 普通は CVS にコミットする以前の問題だろ。
>>656 微妙に話がずれるね。
テストの話も、たとえばNetBeansの場合、GUIエディタで保護した部分を書き換えると、そのときはテスト通っても、あとでNetBeansで開いたときに元に戻されて、コンパイルエラーになる。
ただ、その部分はNetBeans以外のツールでさわらなければいいだけの話なんだけど。
それを触っちゃったらどうすんのっていう、すごく心配性な人がいる。
>>658 テストケースって……
ソースが Eclipse VisualEditor の自動出力フォーマットに合致してるか、なんてのもテストすんの?
で、結局リファクタリングで影響が出るような自動処理って、なんがあるの?
>>663 で、結局リファクタリングで影響が出ないって事は保証できるの?
職場で JBuilder 使え、と言われてるのに別のモン使おうとしてるってケースだから 普通は上から「影響が出ないことを保証しろ」って言われるだろうね。悪魔の証明だけど。
>>666 影響が出ないことを保証するってのは
>>665 が言うとおり悪魔の証明だから、
そもそもテストケースなんぞ書けない。
例えテストケース書いても、** のような場合を想定していない、というのが無限に出てくる。
リファクタリングするかしないか、はツール使う使わないは関係ないし。 リファクタリングするんだとしたら、Eclipse使ってやるのが安全だし、と。 JBuilderにないリファクタリングの機能使うんならね。 保証がないからリファクタリングするな、という組織だとガクブルもの。
>>638 みたいにミスを度外視していいなら手動でリファクタリングしても全く問題ないな
ちなみに JBuilder にないリファクタリング機能って何?
JBuilderしらない。 最近のは使ったことないし。
>>598 の流れからいけば、ツール使う使わない以外は関係ないね。
リファクタリングしないって状況を勝手に想定して、
勝手に想像上の組織にガクブルしてんだろーけど。
>>671 でも、
>>664 の言い草だと、そうじゃないとも言い切れないよ。
結局リファクタリングって、「ユニットテストで動作保証した上でのソースコードの効率化」でしょ。
から、結局、ツール使える組織であれば、便利ならEclipse使えばいいじゃん、と思うんだけど。
ところで、JBuilderってEclipseと同じだけのリファクタリングできるの?
>>675 > ツール使える組織であれば、
前提が間違ってるよ。
>>634 で
> で、例えば職場でJavaのコーディングにはJBuilder使いなさいというルールがあったとしたら、メモ帳でソースコードいじるのもだめなの?
ってしっかり書いてあるから、Java のコーディングには JBuilder 以外使えない。
>>677 ほとんどの組織では、そんなに厳しいとは思わないんだけど。
っていうか、前提が間違ってるとかじゃなくて、条件決めてEclipse使えばいいじゃん、と。
硬直した組織のことはほっといて。
> ほとんどの組織では、そんなに厳しいとは思わないんだけど。 自分の思い込みが正しいとは思わんように。
なんか
>>679 って、Eclipseが時代遅れになってもEclipse以外の開発環境は認めない、
とかゆーアレな人間に硬化しそうな悪寒……
>>680 JBuilderと決まったらメモ帳もだめ、っていう組織って多いの?
>>681 基本的には単なる Eclipse厨だからねぇ。
>>681 おれの意見は
>>650 にも書いた
> NetBeansなりJBuilderなりで大枠吐き出して、Eclipseでコーディングというのは、なかなかいいと思うんだが。
>>684 そりゃ現時点での話でしょ。例えば
・VisualEditorとかが良くなってきたらNetBeansもJBuilderも捨てる。
・そのままEclipseを使い続け、いつのまにかEclipse時代遅れに。
・若手から時代遅れと陰口を叩かれるようになり硬化。
ってのは十分考えられる。
現時点でも思考が硬直しがちに見えるし。
>>685 確かに。っつーか Eclipse 厨じゃないってだけで今現在も硬直してるしねぇ。
でも まぁ、普通の人は年とともに柔らかくなるから大丈夫。
>>685 なんか、妄想はげしいね。
自動化自動化うるさいやつの方が、硬直してたと思うぞ。
いなくなったみたいだけど。
>>686 > 普通の人は年とともに柔らかくなるから大丈夫。
・・・初めて聞く説だ。
>>687 ルールを守れってのは至極まっとうな話。
ルールを破るだけの根拠を提示できないのに素直に諦めない態度を
硬直と表現したんだが、なんか間違ってるか?
まぁ、彼もアレだけどね。
先に
>>665 を言ってればそれで終わったのに。
>>689 ルールの意図を把握してれば、効率がよくなる部分ではルール破ってもいいと思ってるだけ。
結局、反論してもちゃんとした答え、ここでは帰ってきてないし。
Eclipseのリファクタリングが問題になる自動化ってなんなの?
すごく気になってるんだけど。
ルール至上主義は、それはそれで硬直化の代表だね。
> ルールを破るだけの根拠を提示できないのに素直に諦めない態度を よーするに若いって事だよね。ウラヤマスィ
>>691 その場合、問題が無い事を証明する責任は
>>691 にある。
> ルール至上主義は、それはそれで硬直化の代表だね。
ルールを破って、損害が出たときに
誰かにケツを拭いて貰わなければいけない事をよく理解出来てない人はそう考えるみたいね。
まぁ、若さの証明みたいなもんだけど。
>>693 で、リファクタリングとか、あと単純にコード書くときのtry囲んでくれることとか、そんな便利な機能が使いたくて、コーディングにEclipse使ったくらいで、損害でるの?
ルールの意図を把握して、その意図がくずれなければルール破っていいと思ってるんだけど。
> Eclipseのリファクタリングが問題になる これを許せばリファクタリング以外にも使えるようにしろって話になる。 そのEclipseのリファクタリング以外の機能を使って問題にならない保証は無い。 とか、いくらでも言い様はあるからねぇ。
>>694 個別のルールの意図についてなら、一般論で議論しても無駄。
本当はルールを破るよか、ルールを変える事をまず第一に考えるべきなんだけどね。
>>695 リファクタリング以外でも、そんなに他に影響があるような機能って、あんまりない気がするけど
でも、サーブレットとかStrutsの開発でXDoclet使ってないときに、XDoclet使わせろ、とかは言うかも。
もちろんプロジェクトの初期段階での話だけど。
>>696 というか、ほんとにJBuilderと決まったらメモ帳もだめ、というルールの組織なら、ほかにも変なルールがありそうだから、ルール変える前によその組織に行く。
>>699 その前提を持ちだしたのはオマエじゃないのか?
>>698 うーん、じゃ、ここでとやかく言われる筋合いもなさそうなんだけど。
記述したコードに持つ責任とおなじ範囲だと思うし。
ようするに、手作業にしろツールにしろ、バグを混入したら責任取れ、ってことでしょ。
全員Eclipse使えっていうわけじゃないし。
>>701 バグ混入だけじゃないんだけどね。
例えば Tiger 用のコードに変換して失敗する可能性、
失敗しないけど変換コードを書くのにより労力がかかる可能性、
数えだしたらキリがないぞ。
>>702 > 例えば Tiger 用のコードに変換して失敗する可能性、
どこにそんな可能性が・・・・
> 失敗しないけど変換コードを書くのにより労力がかかる可能性
変換コードなんか書く必要ないし。
そりゃ妄想を数えたらキリもなかろう。
できない理由をあげたらキリがない。
> できない理由をあげたらキリがない。 だから悪魔の証明だって言ったじゃん。
> 変換コードなんか書く必要ないし。
コードの再利用は全く考えない?
それに、全く無いというのを保証する責任はやっぱり
>>703 にある。
>>704 でも、あまりにも見当違いな可能性あげてるんだけど。
見当違いでもなんでも、可能性がゼロだということを保証する責任があるのは
>>706 .
>>705 >> 変換コードなんか書く必要ないし。
> コードの再利用は全く考えない?
コードの再利用と変換コードと、なんの関係が?
部分的にEclipse使ってコーディングするのに、再利用性考えるも考えないも、関係ないと思うんだけど。
>>707 っていうか、技術わからん管理職ならまだしも、Javaスレで
>>702 みたいな可能性がでてくるのが・・・
ツールにミスがある可能性がゼロだと保証する必要もないと思われ。 そんな保証が必要なら、どんなツールも使えない。 ツールで弊害があったときに、その対策ができるかどうか、弊害のコントロールができるかどうかが重要だと思われ。 で、Eclipseで部分的にコードを書き換えることの場合、弊害があったとしてもコントロールはできると判断。
ツールの善し悪し→水掛け論になるから個々人の好み Eclipseを知らないで秀丸に走る上司→逝ってよし チーム開発でのリファクタリング厨→逝ってよし 馴染んだツールでチームメンバと協調する人→GJ
関係ないが、Javaはクラス名とファイル名がリンクしてて、クラス名が変わるリファクタリングやるとCVSがいやなことになるので、クラス名のリファクタリングがやりにくい。 そうならないように考えて付けるべきだとは思うけども。
> 部分的にEclipse使ってコーディングするのに、再利用性考えるも考えないも、関係ないと思うんだけど。 JBuilder デフォルトのプロジェクトで Eclipse の自動生成コードが > > 例えば Tiger 用のコードに変換 する時に障害になる可能性がゼロだと言うならともかく、 可能性を考える事すらできないってのはマズいのでは? 特にルール無視して複数のツール使いたいって言うのなら。 しっかし、この人抽象的な話になると付いてこれなくなるね。 プログラマに向いてなさそう。
>>711 > ツールにミスがある可能性がゼロだと保証する必要もないと思われ。
ツールにミスがある可能性を云々してるのでなくて、
「違う」というだけですら障害になる可能性もあるって事。
例えば、Swingなプロジェクトで VisualEditor と JBuilder の混ぜて使ったらダメだけど、
この場合、ツールが悪いわけではない。
> で、Eclipseで部分的にコードを書き換えることの場合、弊害があったとしてもコントロールはできると判断。
まぁ、判断したなら自分で責任は取らないとね。
>>714 現状EclipseはTigerに対応してないし・・・
Tigerに対応したときにどうこういうなら、それはまた先の話で。
抽象的というか、あんたが見当違いの杞憂な話してるだけ。
抽象的な話に弱く、視野が狭く、態度が高慢。 プログラマとしてはかなーり硬直しとるね。
>>716 どこに Eclipse が Tiger に対応してる/してない、なんて書いてあるんですか?
Eclipse と Tiger という単語みて脊髄反射しただけ?
719 :
デフォルトの名無しさん :04/07/31 20:42
emacsのJava開発支援機能って何があるんですか? なんか上の方のレスを見ていると、統合環境だという人が いるようなんですが。 sshからeclipseのような機能が使えたらいいな、と思って いたんで、ぜひぜひお願いします!
>>718 ようするに、屁理屈か。
じゃあ、EclipseがC#のコードを生成することがないようにも確認しないといけないね。
どうでもいいけど、JDKの話しろ。 ProcessBuilder 便利だな、っと。
もうあたらしい情報もないしねぇ。 メタデータとJavaDocタグの違いってなに? @overrideとか、JavaDocタグでやっても同じじゃん、とか思ったりするんだけど。
> メタデータとJavaDocタグの違いってなに? すぐに思いつくのは実行時に reflection api で情報が取れる/取れない。
実行時に情報をとるって、具体的にどんなときに使うんかな。 新しい言語仕様で、メタデータがよくわかってない。
開発ツールとかアプリサーバとかの 設定を簡単にしたり自動化したりするときのヒントに使える。
>>728 Subversion素敵だね。
なにより80番443番でいけるところがいい。
NetBeansにもEclipseにも対応プラグインがあるみたいだし。
Javaでやるなら、CVSよりSubversionの方がよさそうだ。
雨がどしゃぶりになって台風キターと思ったら、すぐやんだ。
731 :
デフォルトの名無しさん :04/08/01 23:55
>>681 なんだ? viやemacs,antが時代遅れだとでもいいたいのかい?
時代遅れ:vi(m), emacs もうすぐ時代遅れ:java, ant
時代はMSBuild
でも、Javaの代わりになるものは出てきてないから。
737 :
デフォルトの名無しさん :04/08/02 00:07
>>711 > ツールにミスがある可能性がゼロだと保証する必要もないと思われ。
> そんな保証が必要なら、どんなツールも使えない。
Eclipseはオープンソースだし、多くの人によってテストが行われているわけだし
そんじょこらのIDEよかは信頼性があるでしょ。
739 :
デフォルトの名無しさん :04/08/02 00:09
>>732-733 Mavenがあればantは要らないとでも考えておるのか寝?
その考えはCが時代遅れになると言っているのとかわらんぞ。
CがなければOSやVMを動かすには話にならんだろう。
viは即座に設定ファイルを弄るときに重宝するぞ。
特に、OSを初期の何も無い状態からインストールするときに役立つ。
>>738 じゃあ、通じないバカにはApacheの信頼性をいくら説明しても通じない訳か。
>>739 > 特に、OSを初期の何も無い状態からインストールするときに役立つ。
最近はCDさしてほっとけばウィンドウマネージャまで普通にインストールしてくれるが。
743 :
デフォルトの名無しさん :04/08/02 00:11
>>712 > ツールの善し悪し→水掛け論になるから個々人の好み
> Eclipseを知らないで秀丸に走る上司→逝ってよし
だから、Eclipseが重たいという理由でEclipseを使わなかった者、
IDEを使うとバカになるからなるべき使わないでAntを使いたいと思っていた者、
など様々な理由でEclipseを使わないものがいるんだって。
だが、それでもEclipseよりも重たいIDEってのもあるがな。
>>740 実際通じないから、
Apache -> IBM HTTP server
Eclipse -> IBM Websphere Workbench
という商業上の置き換えがあるんだよ。
>>741 サーバ構築もできないバカが言いそうなことだな。
746 :
デフォルトの名無しさん :04/08/02 00:14
>>744 やっぱりな、オープンソースのほうが信用できる。
それにオープンソースのほうが無料で大量のテスタを集めることができる。
オープンソースの信頼性はばかにならない。
>>740 実際、5年前はそういう状況だった。
Apacheなんてメーカーの保証もないわけのわからんもん、使えるか、みたいな。
>>746 といえるオープンソースのプロダクトは、数えるほどしかない罠。
そんじょそこらにIDEなんてない
>744 ×WebSphere Workbench ○WebSphere Studio
>744 × IBM HTTP server ○ IBM HTTP Server
>>751 ×WebSphere Studio
○WebSphere Studio Workbench
×くりーむしちゅー ○くりぃむしちゅー
>>753 製品としては
WebSphere Studio Application Developer
と
WebSphere Studio Site Developer
>>755 話の流れとしては「オープンソースの看板じゃ相手にしてもらえないので
自社の看板付ける」だから、機能的にEclipseと差がないWorkbenchだろうね。
ISV向けにWorkbenchを使った有償サポートサービスってのがあるんだよ。
ところで、
>>755 にWSDDもいれてやってくれ。新バージョンでたばっかだし。
そろそろみんなスレの名前を思い出してくれまいか
生まれは葛飾、柴又。帝釈天で産湯を使い……
760 :
デフォルトの名無しさん :04/08/02 01:37
>>730 ちがうな。
その機能はドトネト以前からあった
>>760 何かと勘違いしていない?
というか、「その機能」ってなにを指してんの?
「ドトネト以前からあった」ものって何のこと?
JavaDocタグ?
>>11 の新機能はすべて.NETのパクリだな。
もうちょっとプライドを持って仕事しなさい。>惨社員
せめてパクられるような機能1つくらいは入れておけば良かったのにな。
>>763 ジェネリックは、.NETのパクリじゃないね。
パフォーマンスの改善が.NETのパクリっていうのも、なかなかチョンっぽくていいね。
767 :
デフォルトの名無しさん :04/08/02 07:23
>>765 そうだね。パクリじゃない。
パクってたら10倍ましな仕様になってたからな。
Genericは仕様が決まったのはC#2.0が出るずっと前だと思うが。
→「思う」←
別にどっちでもいいんじゃない。使えれば良し。
仕様をパクったわけじゃないでしょ。 C#2.0に刺激されただけで。やっと重い腰を上げたというか。
Java の方はある程度流れを追える。
どの段階で「仕様が決まった」とするかは知らんけど。
JSR のプロセスはこんなん。
http://www.jcp.org/en/jsr/detail?id=14 Stage Start Finish
Proposed Final Draft 27 Jul, 2004
Public Review 07 May, 2001 1 Aug, 2001
Community Draft Ballot 02 Oct, 2000 09 Oct, 2000
Community Review 07 Sep, 2000 09 Oct, 2000
CAFE 18 May, 1999 05 Jul, 1999
JSR Approval 1 May, 1999 17 May, 1999
Java Generics の元となった pizza のペーパーが出たのが 1997。
http://pizzacompiler.sourceforge.net/doc/papers.html
773 :
デフォルトの名無しさん :04/08/02 08:53
どっちが先なんてどうでもいい話だ。 問題はJavaのGenericsが糞って事だ。
もともとの仕様が糞なんだから、 それを建て増ししようとしたって、高が知れている。 そもそもJavaを使うのをやめたほうがいいと思うよ。
別にネタもリリースも無いんだからいいんじゃね
778 :
デフォルトの名無しさん :04/08/02 12:13
>>761 ドトネトもJavaも存在する前からあったったことよ
>>763 Javaの仕様を策定しているのはサンシャインではありません。
主にIBMとかが関わっています
分からん奴だな。Javaと.NETじゃ歴史も質も量も桁違いなんだよ。 .NET の検索結果 約 388,000,000 件中 1 - 10 件目 (0.25 秒) Java の検索結果 約 69,800,000 件中 1 - 10 件目 (0.17 秒)
783 :
デフォルトの名無しさん :04/08/02 12:33
>>771 違うだろ、JCPに加入している企業との議論の末に採用してもいいかを判断したんだろ。
しかし型安全性も保証されていない信頼性のDQNなC#のGenericsと一緒にするのはどうかと。
Javaの仕様策定は、M$とはちがって時期尚早なこともせず、
独善的になってまで向こう見ずなことをしないってことだよ。
>>783 死滅スレageてやったからそっちでやれ。
餌も無いのに誰が食いつくものか
>>783 > しかし型安全性も保証されていない信頼性のDQNなC#のGenerics
あんたよその板で突っ込まれて答えられなかった人か?
>>783 では、型の取り扱いについてC#とJavaの違い教えて。
そして静寂が訪れた
>>783 見事にこちらでも撃沈、沈黙だな。
平和なスレになって良かった。
Winで始まるスレなども荒らすなよ。
>>789 あんた、荒らさないでくれないか。荒らしの張本人さんよ。
邪魔だからあっちでやってくれないか。
文法が変わるようなバージョンアップっていつ以来なのでしょうか?
JDK1.1かな?
あぁ、でもassert追加されたからJ2SE1.4以来。
1.1 -> 1.2 のときも若干文法変わってるけどね。
美人だった漏れのJAVAたんがアバタだらけに…
796 :
デフォルトの名無しさん :04/08/06 19:30
Java改造は始まったばかりだ。 次の仕様変更はthrows撤廃とdelegate, propertyの追加だ。
propertyは、やるにしてもメタデータでセッターゲッター自動作成になるのではないかと。 文法拡張する必要はないと。 throwsも、検査例外と実行時例外を使い分ければいいだけで。
業務系組む側からいえば今の例外のおかげでだいぶ助かる オートボクシングもちゃんと理解してないと怖いことになるかも、と危惧している タイプセーフEnumはうまく考えたものだと思う あと綺麗なプロパティ文法は欲しいね 内部で生成するだけでいいから
オートボクシングて、 IntegerとかFloatとかだけをコンパイラが特別扱いして勝手に生成するの? 不公平じゃないか
すでにStringだけ不公平
801 :
デフォルトの名無しさん :04/08/06 23:20
enum も不公平。 でも超便利。
多重継承とか include なんかもそのうちできるようになるんでしょうか?
>>802 マジレスするとjavaは名前空間をimportするし、
プリプロセッサも排除しているのでincludeの意味が無い。
あと、多重継承するくらいならAspectJを使え。
ついでだから delegate も搭載してくれ
806 :
デフォルトの名無しさん :04/08/08 12:38
何でテンプレートを早く導入しなかったのか? 今頃になって・・・ もっと早くしていれば、SEなら全クラス数が今の3分の2くらいに 減らせて、スッキリと整理できたのに。 新APIを追加する事だけに熱中して、基本部分をおろそかにするから こうなるんだ。
多重継承を導入したら、JAVAの根底が崩れてしまうので ダメ
っていうか、多重継承って必要? 何でテンプレートが早く導入されなかったかは、議論が長引いたからだね。
多分、多重継承する代わりに委譲かインターフェイスを使えという見解だと思うけど...
C++とのtemplateとはちょと違う。
C++のテンプレートは、新たにクラスを作るためのテンプレートだけど、Genericsはコレクションに型情報を与えるだけ。
Javaにも多重継承あるじゃん。実装の多重継承がないだけで。 多重継承入れたら、COBOLの代替としてのJavaという理念が崩れちゃうんじゃないか。 C++みたいに問題を全てプログラマ任せにするか、 問題を制御しようとしてEiffelみたいにやたらと複雑になるか、 どちらにしろ平均的な不勉強な業務系プログラマには使えない代物になる。
813 :
デフォルトの名無しさん :04/08/08 15:30
814 :
デフォルトの名無しさん :04/08/08 15:33
>>812 逆に、インタフェースの概念が思いつかなかったから、安易に多重継承を
導入しただけじゃないかとも思える。C++は。
>>812 > COBOLの代替としてのJavaという理念
エンタープライズ対応、という部分だけで、あまり言語仕様は関係ない予感。
817 :
デフォルトの名無しさん :04/08/08 15:54
>816 Sunのアーキテクトがどう思ってるかは別として、 COBOLの代替になるには言語仕様( + フレームワーク、ライブラリ)も気楽でないと駄目だろ 世の大半のプログラマの現状を見ると・・・
>>817 それは別にCOBOLの代替という理念には関係ない予感。
EoDなんて、最近言い出したわけだし。
最近言い出された != 昔はなかった
>>815 813ではないが、C++ではコンパイル時にテンプレートのインスタンス化を行うため、
バイナリが異常に大きくなるという問題があり、それを解決しているという点が挙げられるかな。
模造品の方もこれ主張していたはず。
821 :
デフォルトの名無しさん :04/08/08 16:07
>>811 コレクションに型情報は、あくまで主な用途であって
外にも様々な応用ができる。
>>820 C++は内部的に新しいクラスを作るためのテンプレートだよね?
それに対して、Genericsの方は、クラスに型情報をもたせるようにしただけ、ということで、全然違うというほどじゃないと思うんだけど。
>>820 この解決方法はアボトックでちょっと嫌、
できれば、実行時にテンプレートを展開する方式が良かった。
おかげで、templateが入ってもなーもできん。
カレーライスから、カレールーを取り除いたみたいだ。
アボトック? アボトック? アボトック? アボトック?
>実行時にテンプレートを展開 しかも無駄だし
>>820 > 813ではないが、C++ではコンパイル時にテンプレートのインスタンス化を行うため、
> バイナリが異常に大きくなるという問題があり、それを解決しているという点が挙げられるかな。
Javaではコンパイル時にテンプレートのインスタンス化ができないんでしょ?
そんなしょぼい仕様でバイナリが大きくならないって主張されてもなあ…。
俺は
>>822 (=
>>811 )と同じ意見だよ。
付け加えると、JavaのGenericsはイラネ。ただのシンタックスシュガーに成り下がってるから。
↑お前はインスタンスの参照を全てobject型の変数へ保持しとけ
>>829 あほか。んなことするわけないだろ。
お前プログラマーに向いてないよ。
コードをあいまいにしてるわけじゃないからなぁ。
ま、
>>828 はシンタックスシュガーっていいたいだけ、ということで。
>>827 Javaの場合はいざとなったら Reflection API かバイトコード生成で
実行時にいろんなものを解決する。
C++ は実行時の型情報が貧弱なのでコンパイル時に極力解決しようとする。
本当は両方使えるのがいーんだけどね。
>>827 だからテンプレートじゃないってば。
要は生成的プログラミングしたいんだろ?
C++使ってりゃいいじゃん。
JavaVM仕様を踏まえた上で生成的プログラミングを問題なく実装できる
方法があるんなら、俺もJavaに欲しいけども。
>>834 > だからテンプレートじゃないってば。
じゃあJavaのGenericsは何をするものだとあなたは思ってるの?
836 :
デフォルトの名無しさん :04/08/09 11:00
稚拙かつ大雑把かつ安易なテンプレートのコンパイル時インスタンス化を reflect+アルファという基本設計で見事に解決してるGenericsは、 templateの理想進化形と言えるであろう。
「templateじゃないgenericsだ」って言ってる時点で間違ってる。 C++のtemplateでさえ不満があるのに、そのサブセットなんて使ってられないよ。
839 :
デフォルトの名無しさん :04/08/09 11:56
>>838 具体性のない批判はゴミに等しい。
具体性のない批判を繰り返すやつはカスに等しい。
840 :
デフォルトの名無しさん :04/08/09 11:57
>配列が扱えないところが理想的ですね。 コレクションは無視と・・・
とどのつまりは、Javaのgenericsは型チェック以外できないって事 付いててもあんまし意味はなさそうというのが結論ってことで。
型強化という方向性が強いのでつかいかたがC++とは全く別物かと
>>840 配列は使えないからコレクションで、というのも理想的ですね。
型チェックに意義を感じない人には、意味はないだろう。 型チェックに意義を感じる人には、大きな意味がある。 型チェックに意義があるかないかというのは、それぞれの環境によるが。
俺は意義があると思うね。 文句があるなら使わないか、自分の思うとおりに修正すればいい。 当分勢いが衰えそうにないJavaを使う必要は、何かと出てくるんだからね。
型チェックに意義があるかどうかは分野や規模で変わるから議論してもしかたないとして 型チェックに意義があるという人がいて、その人にとってGenericsが有効なのであれば、Genericsには意味がある。 っていうか、TypedEnumやConcurrencyではそういう意見がでないのに、なぜGenericsだけ 「自分は使わないから、意味がない」 という意見がでるのか不思議。
>>846 > っていうか、TypedEnumやConcurrencyではそういう意見がでないのに、なぜGenericsだけ
> 「自分は使わないから、意味がない」
> という意見がでるのか不思議。
C++のtemplateを卑下してGenericsが最高!って、宗教の信者みたいなことするからでしょ。
Java厨はすぐ何かを比較対象に持ってきて叩きたがるから。
Javaは良い物なのに何故使ってる人はバカが多いんでしょうか。
漏れは今のGenericsでさえ機能が多すぎると思っている
>>848 ところで Generics から、どの機能を削るの?
全部
コレクションへの型指定意外すべて削ってもよかったんじゃね? Javaの方向性からいけば
他に何があるの?
Genericsの機能 1.コレクションへの型指定 2.↓続けて書いてください
コレクションに限らず、型のパラメータ化。 Java5のAPIを見れば、いろんなとこで使われてるのがわかるよ。 あと、ワイルドカード、上限境界、下限境界あたりを見れば、ハハーンてなるはず。
でもそのあたりが激しく使う人の技量に左右される部分だからな コレクションの型付けだけならまだましだが 現場で監督する方も大変だよ AさんのコードがBさんによめないとかね
>>847 納得しますた。
VMを変えないために妥協してる部分もあるのに「理想的」と言ってしまうヤツもいるわけだし。
>>854 型のパラメータ化が出来んと、コレクションの型指定も出来んと思うが。
それともコレクションだけ特別扱いしろって事?
>>857 確かにコレクションはわかりやすい例だけども、
パラメータ化の恩恵を受けてるのはコレクションクラス群だけではないってこと。
Class<T>とか、ThreadLocal<T>とか。
Enum<T>なんか見てると、GenericsがTypedEnumの実装を助けてることもわかる。
new T() ができないこと以外は、特に不満はないのかな?
>>855 これは確かに頭痛いとこ。
でもtemplateに比べれば遙かにましだと思う。
new T()がやりたけりゃC++使え。
>>859 new T() 使うケースって少ないし
いざとなったら Factory 使えば良いだけのような気もするが。
>>855 オペレータオーバーロードとかテンプレートとかtypedefとか使うと、えらいことになるね。
マクロの無いJavaでtypedefだけ使えても、あんまし嬉しくないよーな。
typedefは、うれしくない。 人のソースが全然わからん。文化が違うと。
new T()にこだわるやつって、なんでTigerでnew T()が出来ないかわかってないんだろうなぁ
バイトコードに落ちた時点で、Generics の型情報が失われるから。
>>868 完全に失われるわけじゃないんだけどね。
void method(List<String> strlist) はソースが無いと
void method(List strlist) と同等という事になって
method(new ArrayList<Integer>()); とかされてもコンパイルエラーが吐けなくなる。
いつ正式にリリースされるの?
俺が知ってる最新の発表では今年の夏。 Sun の連中がいつまでを夏と考えてるのかは知らんし、遅れる可能性もある。 早くリリースして欲しいなら最新ベータ版を落としてバグ報告しまくるとかすれば?
>>869 C++でもC#でもできるのにね!
……と叩こうと思えば叩けるが、まぁそういうものだと割り切って使うべきだな。
ところで、リフレクションを使ってもTにアクセスすることはできないのかな?
>>873 new ArrayList<Object>().getClass()==new ArrayList<String>().getClass()
がtrueなんで無理。
>>873 場合によっては java.lang.reflect.Type のサブインターフェース経由で取ったりできる。
>>873 Tはそのクラスを使う側が決める物だから、使われる側から
具体的なTの情報が得られるとは思えんが。
>>875 どうやるの?
というか、「場合によっては」ってどういう場合?
Test<T extends Hoge> のHogeならreflectionでとれるが、具体的なTの情報は得られんだろ。 メソッドに渡された引数の情報がjava.lang.reflect.Methodからは得られないのと同じで。
method(Test<Hoge> testhoge) なら Hoge まで取れるよ。 インスタンスの情報じゃないけど。
ところで、拡張forだけはどうしても背中がむずむずする。 1.6馬はSmallTalk風味にしてくれ List a; ... a.for(Object o) { .... }
文法の拡張が多すぎて難しそうだな
おとなしくforeachというキーワード増やしてくれればよかったのに。 予約語増やしたくなかったのんかな
for を foreach にしただけで foreach (Object o : iterator) とかするだけだったらイラネ
まあ、 1.4 でも、 --- HashMap h = new HashMap(); ・・・ h.put( key, value ); ・・・ Itrator keys = h.keySet().iterator(); // foreach( keys %h ) { while( keys.hasNext() ) { ... // ele = $h{$_}; Object ele = keys.next(); ... } --- みたいなコメントの入れ方してたからな。
それはアホくさいな。
>>884 >Itrator keys = h.keySet().iterator();
>
>// foreach( keys %h ) {
>while( keys.hasNext() ) {
iterator()とwhileの間が空くのって嫌じゃない?↓でどうよ。
for( Itrator keys = h.keySet().iterator();
keys.hasNext();) { // foreach( keys %h )
>>886 中途半端に CとPerl を知ってると、いっそ、
// $_
public Object def_val;
// foreach( keys %a )
#define foreach(a) for( Itrator keys = a.keySet().iterator(); keys.hasNext(); def_val = keys.next() )
とかやりたくなる。
(いやこれはまずいか、つうか、このソースどこに置けばいいのよ。)
>>886-887 っつか、enhanced for loop で何が不足なのよ?
とか言いつつ 888 をゲットしてみるテスト。
まあ、機能的な問題ではなくて、 従来の for の文法からいうと、異質すぎるってことじゃないの。 なんでもまぜりゃいいなら while 文だけで事足りるはず。 while( int i = 0; i < 10 ; ++i ) { ... } でも別に問題ないはずだけど、違和感ありありでしょ。
>>889 新しい言語作るならともかく、単に予約語の後付けを嫌っただけでしょ。
enhanced for loop が嫌なら foreach 使えるようにしたプリプロセッサでも使えば良いだけでは?
Perlのforeachってforの完全な同義語だから、 foreach ($i = 0; $i < $n; $i++) { ... } も for (@a) { ... } も可能だったなぁ。後者はともかく前者はかなり嫌な感じだ。
892 :
デフォルトの名無しさん :04/08/22 17:16
foreachって、英語に直すとfor eachのことだから、 forでも問題ないと思うけどね。
>>891 嫌なら使わなければいいだけ。
perl の嫌な構文は (人によって違うだろうけど) いっぱいあると思うが。
まあ、Perl の思想は、書く人の数だけ書き方がある、って発想だから。 やっぱ、そういう点では Perl と比べると、Java は「お行儀のいい」 言語なのかな(にしようとしてるのかな)。
書き方がたくさんあるとメンテが大変だからねえ
896 :
デフォルトの名無しさん :04/08/22 23:02
>>893 >
>>891 > 嫌なら使わなければいいだけ。
その安直な考え方が命取りになるのだが。
typedef, 演算子オーバローディングの二の舞のようにな
でも、メンテが必要なコードと、使い捨てにするコードというのは ある程度分ける必要があるのは確かなような気がする。 それを Java でやるのか、 使い捨てにするようなコードは Java で書かずに、 スクリプト言語を組み合わせるようにすべきなのか。
>>896 > その安直な考え方が命取りになるのだが。
はぁ ?
perl は
>>895 のデメリットを承知の上で、たくさん書き方があった方が書き易いという選択してるだけですが何か ?
まずは、typedef がどう命取りになったのか書いてみてくれ。
結局モジュールの再利用が成功しているのは、JavaよりPerl(CPAN)の方なんだよね。 Java:メンテが楽 Perl:再利用し易い
>>899 んなぁ〜こたあねぇ
Javaのほうがライブラリの整備しやすいし、
Perlは整備されたモノを使わないと正直やってられないという意味合いが強いかと
業務系ならメンテ性大事だし、そうでなくとも場合によってはリファクタリングするっしょ
書きやすいかどうかってのは使い切りが第一として考えるからだろうからね
どっちにしろ言語は大概目的が様々なんで同じ土俵で語れることは少ないがな
>>899 CPANで「再利用」されてるもののメジャーなものは、Javaなら標準。
>>898 typedefって、宗派が違う人のコードってどんな型かわからないんだけど。
>>901 何故メジャーなものだけに限定するのかが分からん。
自分が有利になるように話を展開するのははっきり言って好かんな。
>>900 Javaが全てにおいて他の言語より優れていると本当に感じていますか?
パイプでつなぐこと想定したテキストフィルター書くのにJavaなんて使わんよ。
ちょっと話がずれたが、何でもかんでも「Java最高!Java最高!」って言うのはどうかな。
Algol系しかできない人にとっては最高なんだろうけどね。
>>903 > 何故メジャーなものだけに限定するのかが分からん。
さすがに、メジャーじゃないものは標準じゃないものが多いからな。
ってか、なんかひがんでるかひねくれてるようにしか見えんな。
なんか嫌な思い出でもあるのか?
> パイプでつなぐこと想定したテキストフィルター書くのにJavaなんて使わんよ。
どこから「パイプでつなぐこと想定したテキストフィルター」の話が湧いて出たんだか。
自分が有利になるように話を展開するのははっきり言って好かんな。
Tigerに関係ない話するなら他所行ってくれ。
じゃぁ、delegate キボンヌ ところで MS の J# って delegate 使えんの? delegate 使えないと Windows.Forms.* 使えないよね?
s/心機能/新機能/
いや、なんつうか、「心機能」って、 「僕らが心から望んでる機能」とか、 「Sunと僕らの心が通じ合って追加された機能」とか、 そんな意味かとオモタ。
単なる誤変換っす。まさか「さらなるしんきのう」が「更なる心機能」に 変換されるとは思わなかったので読み直さずに そのまま書き込んじゃった。
つまり、ラドクリフには更なる心機能が必要なわけだな。
心筋梗塞になりそうですね。
914 :
デフォルトの名無しさん :04/08/23 13:56
>>899 > 結局モジュールの再利用が成功しているのは、JavaよりPerl(CPAN)の方なんだよね。
CPANのJava版ならすでにあるぞ。
JJAR という奴がな。
それと、このJJAR
Apache Mavenにも採用されている。
自動ダウンロード、自動アップデート機能がちゃんとついている。
>>903 アフォか。たとえJavaが最高であってもなくても
JavaがあればSQLを使う必要がないなんていう奴はいねえよタコ。
916 :
デフォルトの名無しさん :04/08/23 14:00
>>909 「心の機能」だよw
スティビーワンダーの曲 「心の愛」を思い出したぞw
>>903 >>900 の書き込みを見るにJavaにはJavaの利点が、PerlにはPerlの利点が
というように見えるんだがどこをどう脳内変換したんだ?
先生! Groovyはjavaに入りますか?
iMona(携帯Javaの2chブラウザ)のソース見たらPerl scriptで #ifdefプリプロやっててちょっとワロタ
SQLっていらねーんじゃねえの? ただ使ってる奴多いだけで、超クソ言語だろ。
923 :
デフォルトの名無しさん :04/08/24 09:51
>>920 > SQLっていらねーんじゃねえの?
> ただ使ってる奴多いだけで、超クソ言語だろ。
お前、ろくに仕事ができない学生だろ。
Javaの仕事やるんだったら大抵お世話になるもんだぞ。
まだタイガーはでないのか
スナップの更新が止まったから、そろそろRC出るんじゃないかなぁ。
正式リリースは来年中頃だったっけ?
まだ穴で修行してるんだよ。
>>924 ヘンシェルに変更しました。
余ったのは対戦車自走砲にでもします。
929 :
デフォルトの名無しさん :04/08/31 11:25
>>926 今年の夏といわれていたので
もうそろそろ出るだろ
冬までは夏。
北半球が冬なら南半球は夏
赤道直下、いつでもいつまでも夏。
933 :
デフォルトの名無しさん :04/09/01 14:22
リリースまだかよ! 俺様をいつまで待たせる気だ!
もーう、せっかちなんだから♥
Tyger! Tyger! burning bright ・・・
936 :
デフォルトの名無しさん :04/09/02 00:05
java.util.concurrentによって結城浩の 「Java言語によるデザインパターン入門 マルチスレッド編」の実装は どのようにかわりうるのだろうか。
937 :
デフォルトの名無しさん :04/09/02 04:04
List<? extends T> って便利すぎる・・・
J2SE 5.0 RC 出てまっせー
騙されないぞ
いやほんと
942 :
デフォルトの名無しさん :04/09/02 22:04
J2SE5.0RCキタ━━━(゚∀゚)━━━!!!!!
正式版5.0っていつでるのでしょうか? もうそろそろかなと思って、見守ってるのですが...
944 :
デフォルトの名無しさん :04/09/03 16:44
Genericsのおかげで、あまりに開発が楽になったので、 見切り採用をしてしまっているのです。 9月半ばから本番稼動が始まるのですが、私はどうなってしまうんでしょうか。
>>944 本番稼動直前に致命的な不具合が出て(しかも高負荷でないと再現しない)、
全責任背負わされてあぼーん。
>>944 J2SE5のバイナリって、1.4以前で動かせないの?
ぶっちゃけ1.4や1.2の実装当初の大量のバグをしってるとなかなかいきなり飛びつくのは無理だなぁ
>>944 JDK の x.x.0 台はβみたいなもんだろ。
今までの膨大なバグフィックスのリスト見てる?
>>944 一つ言っておきたいのはたとえプロジェクトが崩壊しようとも
バグの調査および報告は怠るなと言うことだ。
どのVM使おうが、テストしないといけないことに変わりはない。
>>951 テストは当たり前だが、バグ満載版を使うような学習能力が
無い香具師は困る。目的が実績なら別だが。
953 :
デフォルトの名無しさん :04/09/03 23:59
>>943 リリース・キャンディデート
といったらもうすぐってことだろ。
本番直前ってことだぞ
リリース・カンディデート(リリース候補)なので 修正はするが、大きな機能変更はしないバージョンです。
956 :
デフォルトの名無しさん :04/09/04 06:21
おい、おまえら APIとコンパイラとVMの区別くらいできるようになれ。 1.5のコンパイラは genericsとかが扱えるけど、出てくるバイトコードは一緒。 だから、昔のVMでも動く。 ただし、1.5で登場したAPIを使ってる場合はその分のクラスファイルが必要。 1.5のVMが読み込めるバイトコードは、昔となんら変わっていない。 だから、見た目上は何も変わらないし、違いは素人にはわからない。 でも、実はいろいろなところがチューニングされてんだよ。 わかったか、馬鹿ども 開発は1.5でやって、VMは古いの使えよアホが。
リリース・カンディデート= リリース候補 うん、最近「ローマ人の物語」を読んでいたお陰で、 意味がしっくりわかる。
>>956 VM古いとEnumが使えないのはなぁ・・・
アレこそが一番Javaにほしかったものだしな
定数をintで扱うという変なCライクな低レベルなものがのこっていた
>>956 内部実装が変わっててNoSuchMethodErrorになるの嫌だし。
>>957 いいけどスレタイがなぁ。5.0の次は1.6ではないだろうし。
次にこういうスレ作るときはバージョン番号入れないほうがいいなと。
>>956 ちょっと違うぞ。
1 javacオプションの-sourceで1.5を指定したときだけ、
J2SE 5.0の文法が使える。
2 javacオプションの-targetで1.4を指定すると、1.4
互換のバイトコードを生成する。
3 1.4で作ったバイトコードは、ほぼJ2SE 5.0でも動く
(上位互換ね)
4 -target 1.5を指定するとJ2SE 5.0でないと動かない
形式のバイトコードが生成される
5 genericsは-target 1.5でないと動かない。
6 J2SE 5.0のデフォルト設定は -source 1.5 -target 1.5だ。
分かりやすく言うと、
genericsを使った段階でJ2SE 5.0でないと動かん。
正直、なんだかなー、と思う。何のためにイレイジャやらなんやら
導入して、パラメータ型をObjectに変換してんだろう。
>>961 それにしても、Mustangについてあーだこーだ言いたいなら、スレタイにMustangとか1.6とかSE6とか入るべきだ。
迷走の始まり?
>>962 それはSunのjavacがそうであるだけで、Javaの仕様としてはGenerics使ったコードがJ2SE1.4で動くようにできるのでは?
少なくともタテマエでは。
>>962 javac -source 1.5 -target 1.4 で作ったバイトコードは1.4のVMでも動くぞ。
>5 genericsは-target 1.5でないと動かない。
で勘違いしていると思われ。
>>967 勘違いはおまいなわけで。
-source 1.5 付けた場合は -target 1.4 は使えない。
いつまで古いリリース使ってんだ。
マダー?
>>967 いっぺんサンプル作ってコンパイルしてみろ。
javac -source 1.5 -target 1.4 Sample.java
もう速攻でこういわれるぞ。
「javac: リリース 1.5 のソースにはリリース 1.5 のターゲットが必要です。」