- PR -

特集「私がJavaからC#に乗り換えた10の理由」について

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-07-10 14:27
引用:

objectさんの書き込み (2003-07-10 12:48) より:
>ALL
今、ここのスレで起きてる「C#」と「Java」の議論は、非難合戦にしか見えないと思います。
これで良いのでしょうか?


 Javaサイドからの一方的なC#サイドへの攻勢、、、のように見えてきます。
で、C#サイドの守りは厚くない、ように思います。
どちらかというと、言語としての安心感はJavaに分がある、、、そのように感じております。


 なんか、互いに相手が書きたいことをわかっていない、、、?そんな、ちぐはぐさを感じます。
andy
会議室デビュー日: 2002/11/22
投稿数: 13
投稿日時: 2003-07-10 15:10
引用:

kenさんの書き込み (2003-07-10 13:26) より:
引用:

andyさんの書き込み (2003-07-10 10:21) より:

私は、「.NET固有のコンポーネントから派生した独自コンポーネントを
ちょこちょこっと作って、即効でデバッグテストする。
そして、作った独自コンポーネントをIDEに登録すると、ドラッグだけで
自分のいろいろなソリューションで使えるようになる
(もちろん)プロパティウィンドウも使える」という一連の流れが
スーっと澱みなく進むことに快感を感じています。
いろいろなプログラムを作ると同時にMyコンポーネントライブラリが
自然に作られていきます。
(まさにコンポーネント指向の真髄!?)

ちなみに、これってEclipseでも出来るんですか?




Delphi, C++Builder, JBuilder だと、何年も前から、当たり前の
機能なのですがね。(^^)



Delphiは完璧OKだと思います。
でも、C++Builderは超タコで、コンポーネントのソースをいじって
ビルドしても、なんでかそれを利用する方にうまく反映されなかったりする
経験がありました。(私が悪かったのかもしれませんが..)
(そもそもヘッダファイルのインクルードがうんざりだった)
Kuolema
会議室デビュー日: 2002/05/03
投稿数: 12
投稿日時: 2003-07-10 15:31
引用:

Jittaさんの書き込み (2003-07-10 14:27) より:
 Javaサイドからの一方的なC#サイドへの攻勢、、、のように見えてきます。
で、C#サイドの守りは厚くない、ように思います。
どちらかというと、言語としての安心感はJavaに分がある、、、そのように感じております。


そうだと思います。しかしそれは、
Javaに比べるとC#が世に出てからの時間が少ないからですよね。
安心感が、世に出て長い方にあるのは当然ではないでしょうか?
(今の時点でC#の方に皆様が安心感があると感じられたとしたら、Javaはダメ言語だったということになってしまうと思います)
C#にも時間は必要です(特に、独占企業(?)から発表されただけあって、
ISO標準 http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36768&ICS1=35&ICS2=60&ICS3=
ECMA標準 http://www.ecma-international.org/news/ECMA%20ISO%20CSharp%20Final.htm
のお墨付きも(Javaよりも)世に安心感を与えるために必要と、個人的には思っております。
もっとも、JavaもSunがMicrosoftに対抗するための、己の道具として強い誘導をしなければ、C#が世にでるとうの昔にISO/ANSI/ECMA標準になっていたはずです。というか、C#は世にでなかったはずです。MS系の技術誌でも当時、Javaのすばらしさを謳っている記事を沢山見かけたぐらいですから。それを考えると、結果的にC#とJavaのユーザ同士の(踊らされている?)戦いも予め予想されていたことと言えますね(笑))。

それに、尾島氏がおっしゃっているように、現実的というか、C#という言語には夢がない。言語としての美しさ、シンプルさを犠牲にすることをあまりいとわない言語だと思います。だから、私などは言語的な指摘があっても、反撃する気が起きません。冷めている(そう、Javaの方がシンプル!美しい!)。
でも、逆に、Javaの最大の利点でもある「シンプル」は、時に最大の欠点ともなります。それは、特に指摘するまでもなく、Java仙人の皆様が一番よく把握していることと思います(同じくC#の長所も、数々のご指摘のように最大の欠点とみなすことができると思います)。



[ メッセージ編集済み 編集者: Kuolema 編集日時 2003-07-10 17:33 ]
お犬様
ベテラン
会議室デビュー日: 2003/01/26
投稿数: 67
投稿日時: 2003-07-10 17:47
引用:
Jittaさんの書き込み (2003-07-10 14:27) より:
 Javaサイドからの一方的なC#サイドへの攻勢、、、のように見えてきます。



逆に言えば尾島氏の記事は
「C#サイドからの一方的なJavaサイドへの攻勢」
ともいえるわけで、どっちもどっちな気もします。
andy
会議室デビュー日: 2002/11/22
投稿数: 13
投稿日時: 2003-07-10 18:21
引用:

でも、C++Builderは超タコで、コンポーネントのソースをいじって
ビルドしても、なんでかそれを利用する方にうまく反映されなかったりする
経験がありました。(私が悪かったのかもしれませんが..)
(そもそもヘッダファイルのインクルードがうんざりだった)



挑発的な発現をしてしまい。(超タコ部分)
一部の方に不愉快な思いを与えたことを深くお詫びいたします。

私は昔からボーランドが大好きです。
期待が多きい故に不適切な発言をしてしまいました。

<C#Builder Personal 早く試したい!>
英-Ran
ベテラン
会議室デビュー日: 2002/06/12
投稿数: 55
投稿日時: 2003-07-10 21:52
引用:
autumnさんの発言より:
 良くないと思います。大量の無駄な文字が費やされていると思います。
 馬鹿馬鹿しいので、やめることを希望します。



結局いつも通りの宗教戦争になってしまったようなので、止めるべきかもしれませんが、どうも根本的に私の認識が皆さんとずれているようなので弁解しておきます。

ここは「特集『私がJavaからC#に乗り換えた10の理由』」について語るところであって「JavaとC#のどちらが優れているか」について語る場所ではない認識していました。
だから、前にも言ったように私の発言は「JavaがC#より優れている」なんて無謀なことを言いたかったわけではなくて「“おじま氏が”Javaより優れていて乗り換えるに値すると証するC#の機能」には「事実誤認」と「JavaよりC#の方が優れているとはいえないもの(ようするに「=」かもしれないしベクトルが違っているかもしれない)」が含まれていると言っているにすぎないのです。

autumnさんは、元記事が煽っているようなものには見えないし正直な気持ちを書いただけのように見えると某所でおっしゃっていましたが、そういう事は問題ではないでしょう。心にままに正直に社会主義を説いたところでやはり問題は問題として(たとえ宗教論争になったとしても)明言すべきです。

もし、おじまさんの記事が「JavaのGUIはへぼい」とか「eclipseよりVisual Studioの方が使いやすい」とか「Javaの起動がとろい」とかいう内容だったとしたら、Java信者といえどもあいたたたという感じで、こんなスレッドにはならないでしょう?

# それでも宗教論争になるかしらん

また、議論自体は不毛でも、過程を通して様々な参考文献が示されたわけだし、C#とJavaの違いだって聞けるわけですから結果としてぺんぺん草すら生えないというわけではありません。この程度の議論で宗教論争で不毛なんて言っていたら、今ごろ経済学も物理学も存在しないのではなくて?

最後のページで「前項ではC#の観点からJavaを批判したが、実はこれは正しい行為ではない。C#とJavaの設計思想は異なるのだ。異なる思想のものを自分の思想で批判すれば、相手の方が劣るという結論が出るに決まっている」ということをJavaの側が無視していることだって、単にこの部分に関しては誰も不満がないからでしょう(少なくとも私は反論を持たない)。でも、結論が正しければ途中経過は無視していいということにはならないはずです。思想以前に根拠が不十分な箇所はたくさんあるし、C#(というより.Net Framework)を誉めるならばもっと他に誉めるべき点があるのではないかと私は思っています。

あと、これは明らかに余計な意見ですが「C#よりJavaの方が優れているものが何かあるか?という設問だと、1つも思い浮かばないのですよね」と公言している方が、部外者ずらして仲裁らしき発言をするのは個人的には卑怯だと思います(←ここは個人的感傷)。ここに書き込み、ここに関する文書を公開した時点でautumnさんだって宗教論争の立派な一員じゃないですか。

引用:
objectさんの発言より:
「イベント」を言語として実装しているC#に対しては、実装方法にクレームを付け、
「イベント」を実装していない、Javaに対しては全くクレームを付けないのはどうしてでしょう?
英-Ranさんが提起されている「無名Inner Class」で「イベント」を実装すべきなのは、Javaではないでしょうか?



objectさんは、「「イベント」を実装していない、Javaに対しては全くクレームを付けないのはどうしてでしょう? 」と言いますが、上記の通り「delegateの存在にはトレードオフがあって一方的に優れているということにはならない」と言いたいだけですから、当然そんなクレームをつける必要がありません。そもそも、私がいつイベントを実装すべきでないなんて言ったのでしょう(まあ、私の文章が悪いのかもしれないですが)。
イベントは思想的にC#には組み込まれるべきです。でも、それにdelegateは必ずしも必要ないのはといっただけのことです。

ただ、objectさんは「delegate」は「event」に必須ということが念頭にあったけれど、私にはそういった認識が無かったのが誤解の原因だったかもしれません。それに関しては私の不徳のいたすところですので、気に障ったならばごめんなさい。

# なぜC#にイベントが必要で、Javaにイベントが不要なのかと言われれば、
# 単にGUIの作成が当たり前のMicrosoftプラットフォームと
# GUIはいらないバックエンドが中心のSunやIBMというだけだと想像します


[ メッセージ編集済み 編集者: 英-Ran 編集日時 2003-07-10 21:56 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-07-11 09:25
>Kuolema さん
>お犬様 さん

 すみません、書いた後、いっぱい削った部分があります。

> Javaサイドからの一方的なC#サイドへの攻勢、、、のように見えてきます。
>で、C#サイドの守りは厚くない、ように思います。

 C#からの一方的なJavaけなし記事(と、Java派の投稿より判断)にたいする、
Java派からの反論に対して、C#派は答え切れていない、、、ように見えます。
なんていうんでしょう?確かにC#はまだ2年?そこそこの言語ですから、
それほど知識の深い方も少ないのかもしれません。そのためなのかもしれませんが、
Java派の方の知識の深さに比べてC#派の方は浅い、そういう感じを受けました。
C#派の方々の「反論に対する回答」が、空虚?的を射ていない?「ちぐはぐ」な感じがします。

>どちらかというと、言語としての安心感はJavaに分がある、、、そのように感じております。

 深い知識を持っていらっしゃる方がたくさんいるなら、
わからなくなったときにヘルプを叫べる、本もたくさんある、、、という安心感で、
言語の完成度とか、そういう意味ではありません。




 ところで、C#派でもJava派でもない者の意見を言わせてもらいます。
私は、発端となった記事を読んでいません。いや、少し読みました。
けれども、最初の数行目で、
『特にC#の設計思想が私のし好に合っていると感じたためだ』
とあります。ここまで読んで止めました。
ここは某M社の息がかかった所なのでしょうか。
技術系の記事で、「私の好みにあったから乗り換えた」などと、言ってよいのでしょうか。
それは技術とは関係がないことで、確かにインパクトがあって読んでもらえるかもしれませんが、
「読んでもらう」ことと「伝えなければならない」ことは別ではないでしょうか。
「好き/嫌い」で話し始めたら、「良いところ/悪いところ」は隠れてしまいます。
そんなもの、どうとでもこじつけられます。
ニュースとバラエティは違います。ここは「ニュース」が掲載されていると思っていたのに、
この一言のために、この記事は「バラエティ」です。
後の方は読んでいないので、そちらで「ニュース」に持っていっているのかもしれません。
しかし「バラエティ」と違って「ニュース」はインパクトの有無に関係なく、
必要だから伝えるのではないでしょうか。
これが「10の理由」の10番目だったら、印象も違っていたのでしょう。
一番前にあること、それによってとても印象の悪いものになっています。

#とても気になるものを感じたので追記
『私の嗜好に合っている』ではなく、『私の思考に合っている』だと、
何も感じなかったのだろうと思います。『私』と私の思考パターンを比べることで、
私にとっても有益かどうかを考えるチャンスがあるからです。
『し』がひらがななので、「変換ミスとちゃう?」とも思いましたが、
あえて「好」の字をそのままとりました。

 以下、挑発的と感じたので削りました。すみません、私、本当は小心者なんです。

[ メッセージ編集済み 編集者: Jitta 編集日時 2003-07-11 10:55 ]
autumn
大ベテラン
会議室デビュー日: 2001/07/27
投稿数: 215
投稿日時: 2003-07-11 12:42
引用:

英-Ranさんの書き込み (2003-07-10 21:52) より:
あと、これは明らかに余計な意見ですが「C#よりJavaの方が優れているものが何かあるか?という設問だと、1つも思い浮かばないのですよね」と公言している方が、部外者ずらして仲裁らしき発言をするのは個人的には卑怯だと思います(←ここは個人的感傷)。ここに書き込み、ここに関する文書を公開した時点でautumnさんだって宗教論争の立派な一員じゃないですか。


 そう思ったのなら申し訳ないです。
 testml4で明言した通り、こちらの方には著者として読者の質問に答える形で入ったもので、議論する立場にないので、そのようにしています。testml4は著者ではなく私人で書いてますから、思ったことも書きます。でも、それは「思ったこと」であって、何かを証明している、と言うわけではありません。もし(testml4に)間違いが書かれているなら、間違いだという意見を(testml4に)送って頂いて構わないし、それがみんなに対して説得力がある指摘なら、こちらも「ああ、そうか」と納得して、訂正を入れる場合もあるでしょう。こちらは、特に特定の宗教的思想を是が非でも布教したいわけではないので、より説得力のある意見に転向することは、歓迎するところです。C#よりも、もっと役に立つ優れたプログラム言語がある、というのなら、喜んで乗り換えます。
 (と、こういう書き方をするから、C#の方が負けているかのように読まれてしまうのでしょうか? )

スキルアップ/キャリアアップ(JOB@IT)