トップページ⇒tech
393コメント107KB

●●JAVAって死滅しちゃうの???? PART6●●

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Javaの理想も破れ、貧弱な言語と重いGUIという印象だけが残った。
のろのろと改良を目指しているがその内容は某言語のパクリである。
SUNの洗脳から解かれた人民は某言語にシフトしている。

そしてこのスレにはSUN社員の手による苦し紛れの宣伝が書き込まれるであろう。
がんばれJava厨(藁

前スレ
●●JAVAって死滅しちゃうの???? PART5●●
http://pc2.2ch.net/test/read.cgi/tech/1046539052/l50
0232デフォルトの名無しさんNGNG
>>229
using System;

interface IA {
  void Hoge();
}
interface IB {
  void Hoge();
}
class AB : IA, IB {
  void IA.Hoge() {
    Console.WriteLine("IA.Hoge");
  }
  void IB.Hoge() {
    Console.WriteLine("IB.Hoge");
  }
}
0233デフォルトの名無しさんNGNG
>>230
詭弁。現実を見ろ。
0234デフォルトの名無しさんNGNG
>>229 はい! 作ったYO!
Dim a As A: Set a = New A: a.m
Dim b As B: Set b = New A: b.m
Dim c As C: Set c = New A: c.m

ちなみにコード
クラスA
Implements B
Implements C
Public Sub m()
End Sub
Private Sub B_m()
End Sub
Private Sub C_m()
End Sub

インターフェースB
Public Sub m()
End Sub

インターフェースC
Public Sub m()
End Sub

C# だとこんな感じらしい。
interface IB { void method(); }
interface IC { void method(); }
class A : IB, IC { void IB.method(){} void IC.method(){} }
A a = new A();
a.method(); //コンパイルエラー(多分)
((IB)a).method(); //IB.method()
((IC)a).method(); //IC.method()
0235デフォルトの名無しさんNGNG
JavaHouseでも出た問題らしいね。
それに対して目を塞ぐなんて必死すぎ。
0236デフォルトの名無しさんNGNG
ブビ使いに論破されるJava厨って・・・プププ
0237デフォルトの名無しさんNGNG
>>231
馬鹿と言われても。そんな情况はOOPではわるい設計なだけで、
君がどんな情况にあるかなんて関係ない。

そもそも同じメソッドをもつインターフェイスを別々の意味であつかいたい
のは、インプリメントクラスとしてはOOPしていない

以上。
0238デフォルトの名無しさんNGNG
これだからVB厨は。。

interface 車{
走る()
}

interface イナズマ{
走る()
}

このインターフェイスをインプリメントするっつーことは
もともとの走る()を作ったやつが悪いか、
もしくは全く関連しないインターフェイスをインプリメントしようといるほうが悪い。

なので、OOPではない。
0239デフォルトの名無しさんNGNG
↑
で、済ませられるから無職君はいいよねー
0240デフォルトの名無しさんNGNG
>>237
> そもそも同じメソッドをもつインターフェイスを別々の意味であつかいたい
> のは、インプリメントクラスとしてはOOPしていない
最強のアホだな。

二つのインターフェースをimplementsすることはある。これに反論は無いと思うが。
この二つのインターフェースのメソッド。名前が同じだから動作も同じと言う方がOOPになっていない。

二つの別のインターフェースで同じ名前であっても、
同じ動作にならないのはOOPとしても常識だ。
0241デフォルトの名無しさんNGNG
観念論を出しても無駄。
「万が一」名前が衝突した時に対応できないのはそもそも言語設計の欠陥。
名前空間がなかった頃に詭弁を言ってた香具師と同レベル。
0242デフォルトの名無しさんNGNG
もしくは

interface 車{
走る()
}

interface 自転車{
走る()
}

の場合は、同じ物体が移動するという意味だから、並列に存在することが
OOPとしては壊れている。
0243デフォルトの名無しさんNGNG
頭が固い奴は想像力が欠けています(w

> そうそうJavaHouseではドアのopenとコネクションのopenを実装する時云々って話だった。
> ま、結論としてはJavaではできませんって事だが。
0244デフォルトの名無しさんNGNG
ブビ房に完全に言い返せないことがよっぽど悔しいようだ。
0245デフォルトの名無しさんNGNG
グローバル変数的指向には、何を言ってもムダか。
0246デフォルトの名無しさんNGNG
できないものはできないと素直に認めればいいのに。
そしてパクればいいだけのことだろ。JDK1.5みたいに。(プ
0247デフォルトの名無しさんNGNG
盛り上がってるな(w
0248デフォルトの名無しさんNGNG
> 二つの別のインターフェースで同じ名前であっても、
>同じ動作にならないのはOOPとしても常識だ。

アホだな。
インプリメントした側が親(インプリメントされる側)の意向を無視してどうする

もっとも、俺は親側の設計思想が悪ければ自分で書くがな
0249デフォルトの名無しさんNGNG
>>244
ここまで来てブビ房のマネしてんじゃねぇよバカアンチ。
0250デフォルトの名無しさんNGNG
「俺の方がOO知ってるぞー」と虚勢を張りたかったJava厨が完全にVB使いに言い負ける。
時代だなー。(プププ
0251デフォルトの名無しさんNGNG
> そしてパクればいいだけのことだろ。JDK1.5みたいに。(プ
できることはできるぞ。
ただ、それはOOPしてないだけだがな。
0252デフォルトの名無しさんNGNG
【常識】 OO厨房は戦場では必要無し! 【事実】

1 :デフォルトの名無しさん :02/12/30 15:38
過信しすぎですね
自分で作ったわけでもないのに:-)
設計バカなど死ねばいい。
0253デフォルトの名無しさんNGNG
>>248
あるメソッドがあります。
インターフェースAは○○するためのメソッド。
インターフェースBは××するためのメソッド。

インプリメントされる側の意向を考慮したら、
同じメソッドで処理を分けなきゃならんくなると思うが?
0254デフォルトの名無しさんNGNG
>>252
グローバル馬鹿もな。
0255デフォルトの名無しさんNGNG
>>251
OOPしてないという根拠がJavaが出来ないことだからというのは激しく無意味。
0256デフォルトの名無しさんNGNG
VBの方がOOPしてることがまた1つ証明されたわけだが。
0257デフォルトの名無しさんNGNG

> OOPしてないという根拠がJavaが出来ないことだからというのは激しく無意味

日本語書け。
OOPしてるから、(省略)はできないっつってんだろ。

親のインターフェイスを無視してインプリメントすんなっつことだ。
0258デフォルトの名無しさんNGNG
つーかね。それ以前に、
> 親のインターフェイスを無視してインプリメントすんなっつことだ。
意味が分からない。ちゃんと説明してもらおうか。
0259デフォルトの名無しさんNGNG
>>257は大きく勘違いをしている悪寒
0260229NGNG
>> 232
あ、そっか。そうだった。最近C#いじってないから忘れてた。

>> 234
質問者さんからの回答だな。ノリ的にそう思う。
2つも書いてくれてありがと。
でも、VBの継承はすべてのインターフェース実装を
行うことしかできないんだよね。
M$がクールを嫌っていたころの代物だから。
確かにInterfaceを多重継承した際にキャストで
動作を切り替えられるのは便利だよね。

0261デフォルトの名無しさんNGNG
JavaはC#と違って本当に死滅しそうで可哀想なんだから
死滅スレにレスするのやめといてやれよ。冗談にならないよ
0262デフォルトの名無しさんNGNG
Delphiの方が・・・
0263デフォルトの名無しさんNGNG
結局Java厨は最後までVB使いに言い返せなかった
0264229NGNG

>>230
いろいろ言われて大変だな。
まぁ、そういうケースもあるけど
それは場合によるよね。
例えばこんな場合はOKじゃないかな?

interface 乗り物 { 進む()、止まる() }
interface 車 implements 乗り物 { 進む()、止まる()、曲がる()、クラクション鳴らす() }
interface 飛行機 implements 乗り物 { 進む()、止まる()、曲がる()、上昇()、下降() }
class 仮想現実車の一種 implements 車,飛行機 {
 進む()、止まる()、曲がる()、上昇()、下降()、クラクション鳴らす()
}

この場合、ユーザはどの乗り物に乗ろうとも
期待している動作をしてくれる。
ただ、次のような場合は困る。

interface 人 { 進む()、止まる()、曲がる()、話す() }
class 人の乗った乗り物の一種 implements 乗り物,人 {
 進む()、止まる()、曲がる()、話す()
}

ここでは何が問題か?
たまたま同じメソッドが宣言されているが、前述と同様にどの人が
乗った乗り物だろうと期待している動作をしてくれる。
ただ、利用者は「人」として「人の乗った乗り物」を利用するケースが
あるだろう。(意図するしないは別として。)
その場合、詳細な動作として期待する副作用があり、それが異なる場合に
ユーザが期待する結果ではなくなってしまう。これが問題の1つ。
この場合は設計が悪い。
0265bloomNGNG
http://homepage.mac.com/ayaya16/
0266紺野あさみNGNG
  ∋8ノノハ.∩   http://togoshi.ginza.st/konno/
   川o・-・)ノ <先生!こんなのがありました!
http://www.togoshi.ginza.st/konno/kono01.html
http://togoshi.ginza.st/konno/kono04.html
http://www.togoshi.ginza.st/konno/kono10.html
http://togoshi.ginza.st/konno/kono07.html
http://www.togoshi.ginza.st/konno/kono08.html
http://togoshi.ginza.st/konno/kono05.html
http://www.togoshi.ginza.st/konno/kono03.html
http://togoshi.ginza.st/konno/kono06.html
http://www.togoshi.ginza.st/konno/kono02.html
http://togoshi.ginza.st/konno/konno09.html
0267229NGNG
>>257,258
確かにわからないな。
「親のインターフェースを無視して」って意味が
おいらもわからん。
その「親のインターフェース」は何を指しているの?
0268デフォルトの名無しさんNGNG
>>260
初心者スレに出てた奴のコピペです。
0269229NGNG
>>237
>>そもそも同じメソッドをもつインターフェイスを
>>別々の意味であつかいたいのは、
>>インプリメントクラスとしてはOOPしていない

例えば、XMLのクラスを見るとどうだろう。
interfaceをマーカーとして特性が違い、
同じメソッドでも取得できる種類も違えば副作用も異なる。
0270デフォルトの名無しさんNGNG
>>267
「親の意向を無視して」のまちがい。

てか、この表現も分かりにくいかも。
要するに、親の「ドアオープン」と「通信回線オープン」をインプリメントした
クラスが「オープン」という事柄にどんな意味があるかっていうかな。

「ドアもオープンして通信回線もオープンする」なら分かるがな。
ここでVBならできるとかいってるやつは、別々の意味を持たすってことだから、
そもそもインプリメントの概念が成立してないと思うが。
0271デフォルトの名無しさんNGNG
要するに、VBに負けてしまったからどんな屁理屈をつけてでも言い逃れろ、と
0272デフォルトの名無しさんNGNG

>VBに負けて
継承概念がわからないヤツは。。(略
0273229NGNG
>>270
そか。

>>要するに、親の「ドアオープン」と「通信回線オープン」を
>>インプリメントした クラスが「オープン」という事柄に
>>どんな意味があるかっていうかな。
>>「ドアもオープンして通信回線もオープンする」なら分かるがな。
そうだね。
でも、作成者はきっとこう思っているんだよ。
「通信回線内臓ドア」
仕様(仮):
 ドアを開けると同時に回線が開きます。
 ドアを閉めると同時に回線が閉じます。
 ネットワークエラーが起こるとドアの開閉状態は保障されません。
ふむ。とてつもなく危険なドアだなw
0274229NGNG
>>272
なんか初めにおいらが「ブビ厨に〜」って
いわれた気がするけど、なんで君が怒ってるの?
(きっと230の人だな。)

ちなみにVBも継承の概念はあるよ。

まぁ、実装せずに引き継ぐみたいなものはないけど。
まぁ、「ブビ厨〜」っていっている人は218の人とは
違うだろうから、何ができる人かは知らないから

>>継承概念がわからないヤツは。。(略

っていうのも相手がわかってるかどうか不明だよ。
0275デフォルトの名無しさんNGNG
Java は制限をつけて混乱を避ける言語だから、
別にできなくていいと思うけどなあ。
そういうクラスを作っても、人に使わせるときに
注意書きが必要になるだろうからできるだけ避けたい。
0276デフォルトの名無しさんNGNG
Java厨は現実に目をそむけるから
0277デフォルトの名無しさんNGNG
「ドアオープン」と「通信回線オープン」をインプリメントすることが
果たして適正なのか?そこから練りなおすべき。
それが適性でかつメソッド名も変更できないなら、adapterパターンなりで回避すればいい。
0278229NGNG
>>それが適性でかつ
>>メソッド名も変更できないなら、
>>adapterパターンなりで回避すればいい。

そうか?
そういうときにadapterパターンなのか?
なんのためにそれを適用するんだ?
0279デフォルトの名無しさんNGNG



JAVAはもうだめですね。



0280デフォルトの名無しさんNGNG
JAVAってポインタ演算は無理なんだっけ?
オブジェクトリファレンスという形のポインタはあるけど・・・。
0281デフォルトの名無しさんNGNG
>>279
気づくのが遅い。
0282デフォルトの名無しさんNGNG
>>280
出来ない。
よく「javaにもポインタがある」といわれるが、確かにリファレンスはポインタといえるが、
ポインタはそれに対して色んな操作ができてナンボだと思うので
やはりjavaにはポインタは「ない」と言ったほうが正しいと思う。
めちゃ私見だが。
0283229NGNG
>>282,280
なんかややこしいこと言ってるけど、
結論としては
『Javaではオブジェクトの参照をしているため、
ポインタという概念はあるが、ポインタの値に
対する操作は限定的にしか行えずC言語のように
柔軟には操作できない。
また、ユーザによるポインタ演算はできない。』
ってことだな。
(むしろ難しく書いてしまっている気がしないでもないなw)
0284デフォルトの名無しさんNGNG
Javaにポインタはあるよ
Null Po(ry
0285デフォルトの名無しさんNGNG
>そうか?
>そういうときにadapterパターンなのか?
>なんのためにそれを適用するんだ?

俺は277ではないが、そうすることが妥当だと思う。
だって、同じメソッドがあるインターフェイスをインプリメントしてかつ
別々のインプリメントをしたい場合、おのずと「ドアオープン」と
「回線オープン」の意味が実装クラスで解釈の違いがある。
ゆえに、adapterなりで回避するのが妥当だと思うが。
0286デフォルトの名無しさんNGNG
今日は久々に盛り上がったな
0287デフォルトの名無しさんNGNG
盛り上がったか!?
0288デフォルトの名無しさんNGNG
昨日の間違いだな
0289229NGNG
>>285
>>だって、同じメソッドがあるインターフェイスを
>>インプリメントしてかつ別々のインプリメントを
>>したい場合、おのずと「ドアオープン」と
>>「回線オープン」の意味が実装クラスで解釈の違いがある。
>>ゆえに、adapterなりで回避するのが妥当だと思うが。

その発想は間違っている気がする。adapterパターンは
インターフェースの違うものに対する対応策だからね。
adapterパターンで何が解決できる?
0290デフォルトの名無しさんNGNG
単に「adapterパターン」と言ってみたかったんだろ。(ゲラ
0291デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/prog/1053268613/120-122
0292bloomNGNG
http://homepage.mac.com/ayaya16/
0293デフォルトの名無しさんNGNG
C厨やVB厨は叩かれても平然としてるようにみえるのですが?
JAVA厨はなぜ必死になるのですか?

0294デフォルトの名無しさんNGNG
>>293
叩かれて使っている言語が嫌になった人たちがJavaに乗り換えたから。
0295山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0296デフォルトの名無しさんNGNG
772 名前:デフォルトの名無しさん 投稿日:03/05/29 19:13
一連の訴訟を知らないとは言わせないよ
Visual J++やJ#はJava互換でない。

だからあ、Javaの開発ツールでMSILをはくやつあったら教えてっての
0297デフォルトの名無しさんNGNG
お前が作れよ(ゲラ
0298デフォルトの名無しさんNGNG
このスレもレベル落ちたな...
0299デフォルトの名無しさんNGNG
>>293
C厨やVB厨(.NET厨含む)は、モノが出来上がるということに意義を見出すが、
Java厨はJavaを使っているということ自体に意義を見出している。
0300デフォルトの名無しさんNGNG
300
0301デフォルトの名無しさんNGNG
>>293
C厨やVB厨(.NET厨含む)は、転職面接時に業務の内容を説明するが
Java厨はJ2EEかデザインパターンの話をする。
0302デフォルトの名無しさんNGNG
さっきからJava厨Java厨って私怨ばかり連ねてる奴がいるな
0303デフォルトの名無しさんNGNG
>>301
派遣Java厨は経歴書の経験言語に「Servlet・JSP」と書く。
0304デフォルトの名無しさんNGNG
経験「言語」:Visual C++
0305デフォルトの名無しさんNGNG
>>301,302
別に、面接時に自分のスキルや経験を説明するのは
Javaを知らない奴でもやることだが。

「○○○でこういうものを作った。」とな。
0306デフォルトの名無しさんNGNG
>>303,304
そんな経歴書には説得力が無い。
そもそも、ServletやVisualC++は言語か?
APIやと言語との区別くらいつけろや。
いちいちVisualをつけるかおい。VC++を触れたばかりのVB厨がやりそうなことだな。
0307デフォルトの名無しさんNGNG
これはポインタもメモリ管理もオブジェクト指向もろくに理解できない
Cをちょっと触ったばかりの低脳VB厨が
JavaやJavaプログラマに対する恨み妬み私怨を書き綴るスレになってしまいましたか
0308デフォルトの名無しさんNGNG
Java厨は自分の作った物を叩かれても、なぜかJavaが叩かれたと
勘違いしてしまう。
0309デフォルトの名無しさんNGNG
Java厨は自分の作った物が叩かれると、
Javaの言語仕様や理想を説明しはじめる。
0310デフォルトの名無しさんNGNG
Javaはいいよ。C++なんかより簡単だし、その割に本格的なアプリが組める
MSがJavaの真似をしたC#を作って推しているのがいいってことの証拠じゃん
0311デフォルトの名無しさんNGNG
>>309
>>310見てワロタ
0312デフォルトの名無しさんNGNG
>>308
そんな奴はお前みたいなVBしかできない奴が言うことです。
VB厨はJavaやC#よりも単価が安いから仕方が無いか。
クラス継承も理解できない厨も負け犬ですね。

JavaコードはVBと違ってOSに依存しにくいから他の言語にコンバートすることも簡単です。
よってJavaが叩かれたというアホはいません。
かわりにVBが叩かれると怒るアホがいるみたいですが。
VBコードの主要な部分を他の言語に移すには新たに覚えなければならないことが
多いからVB厨はその余分な労働力を任されるのが怖くて焦って必死にVBを弁護しようとします(藁

>>310
わしもワラタな。
とにかく「Java厨」を連発しる奴が低脳に見えた。
0313デフォルトの名無しさんNGNG
やはりJava厨はすぐ必死になるな
0314_NGNG
http://homepage.mac.com/hiroyuki43/jaz01.html
0315デフォルトの名無しさんNGNG
いいたいことはそれだけか。
「必死」 : ポインタも理解できない奴がいうことじゃないな。

ポインタ演算で必死になって苦労してからJavaを学ぶ、これ最高。
糞言語VBを勉強する必要がなくなるわけだ。
0316直リンNGNG
http://homepage.mac.com/yuuka20/
0317デフォルトの名無しさんNGNG
>>312も>>309の指摘どおりの行動を取ってるな。
面白い
0318デフォルトの名無しさんNGNG
>>315
ポインタ演算ごときで必死になり、Javaに逃げて
Java厨が叩かれてるのにJavaが叩かれてると勘違いし
JavaとVBという目的が違う言語をくらべて必死になる。

としか思えませんが...
0319デフォルトの名無しさんNGNG
>>317
いやあれの場合、叩かれたと思ったのではなく反駁したが正解だろう
0320デフォルトの名無しさんNGNG
>>318
まあこのスレでいちいちJavaに文句やケチをつけているやつは妬み深いVB厨くらいだからね。
0321デフォルトの名無しさんNGNG
とりあえずVB厨はJavaを叩きたかったらオブジェクト指向を理解してからに汁
0322デフォルトの名無しさんNGNG
ポインタ演算だらけのスパゲティ関数や構造体作っただけで満足しているC厨もな
0323デフォルトの名無しさんNGNG
309の指摘が面白すぎる
とりあえず言語仕様や理想を語るのがデフォっぽいな>Java厨
0324デフォルトの名無しさんNGNG
>>323
何もわかって無いようだが
Javaに限らず言語を選定する奴は同じことを言うものだが。

C++を選定するときもC++の言語仕様や理想を語る。
「C++はJavaやVBよりも速い。」「Windows以外の環境にもコンパイルできる」
「UnixではCが標準だ」「C言語のライブラリをそのまま使える」「多重継承ができる」
「テンプレートが使える」

C++厨だってこう語るだろ
0325デフォルトの名無しさんNGNG
いや、「叩かれたと勘違いして」「思想や理想を語りだす」んだよ。
叩かれてるのは言語仕様じゃないっちゅうの。
0326デフォルトの名無しさんNGNG
普通言語を選定するときは
OSは何とか、業務や規模や予算とかメンバーのスキルで
決めるのでは?
継承ができるからJavaやC++でやりましょうとか?
OS依存度が低いからJavaでやりましょうとか?
なんでもかんでもJAVAでやりたがる。
やはりJava厨は言語仕様命ですな。
0327デフォルトの名無しさんNGNG
Javaにケチをつけるアフォがいるスレはここですか?
ポインタ使える程度でイキがってるなんて、カワイイ(藁
0328デフォルトの名無しさんNGNG
>>326
何もわかってないようだが
Javaに限らず言語を選定する奴は同じことを言うものだが。

Javaなんといってもオープンだし、web業務系のコンポーネントは
そろってるし、IBMとかも後押ししてくれてる。これらを総合すると
Javaを使わない理由はないんじゃないかな。

特定の言語にハマっちゃったやつが、抜け出せなくてJavaを羨望し
てるんじゃないのかとかんぐってしまうよ。
0329デフォルトの名無しさんNGNG
> Javaなんといってもオープンだし

(;´Д`)
0330デフォルトの名無しさんNGNG

IBMはWASとマシン売れればJAVAなんてどうでもいいんだよ。
PerlとMySQLで十分な仕事に、WASとDB2入れようとするし。
F通やNのコンポーネントで酷い目にあってる人も多いし
携帯なんて最悪だし。
JAVAは開発以外に金がかかるからトラブルと大損しちゃうんだよな。

JAVAは理想は良いけど現実は商売の道具だね。
0331デフォルトの名無しさんNGNG
>>330

お客はperlとMySQLでは得られない安心をWASとDB2で得ているんだよ。
■ このスレッドは過去ログ倉庫に格納されています