■掲示板に戻る■
■過去ログ倉庫めにゅーに戻る■
すげえぜC#
- 1 名前: 教えて君@2ch 投稿日: 2001/03/03(土) 02:58
- よくわかんないけど書いてみただけ。
- 2 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 03:25
- ○C♯
×C#
- 3 名前: 名称未設定 投稿日: 2001/03/03(土) 04:11
- >>2 のようにいちいちうるさいやつもいるが、
MSのサイトはC#なので大丈夫。
それはそうと、俺もかなりいけてると思うなC#。
- 4 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 06:43
- >>3
とりあえずWindowsでは標準的な言語になるだろうね。
- 5 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 06:48
- >>2
さすがに、海外ではそれは(藁
- 6 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 10:26
- そんなにいけてるのC#age。
- 7 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 10:29
- まだまだC#は信用できないなage。
- 8 名前: お腹すいた 投稿日: 2001/03/03(土) 10:37
- C丼
- 9 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 10:48
- 一見地味だけどoverrideキーワードは画期的な発明だと思う
- 10 名前: D使い 投稿日: 2001/03/03(土) 14:11
- >>9
ハァ?
- 11 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 15:59
- >10
9はMSしかしりません。
- 12 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 18:33
- >一見地味だけどoverrideキーワードは画期的な発明だと思う
設計者がDelphiと同じだもんな。
- 13 名前: デフォルトの名無しさん 投稿日: 2001/03/03(土) 19:58
- >>9
恥
- 14 名前: 和風 投稿日: 2001/03/04(日) 01:26
- C井
- 15 名前: デフォルトの名無しさん 投稿日: 2001/03/04(日) 02:16
- ヘジルスハンバーグ
- 16 名前: デフォルトの名無しさん 投稿日: 2001/03/04(日) 02:45
- >>8
藁タ
- 17 名前: 名無しさん@お腹いっぱい。 投稿日: 2001/03/04(日) 07:02
- >一見地味だけどoverrideキーワードは画期的な発明だと思う
画期的まではいかないが、まっとうなモンだと思う。
注意深いプログラマーにとっては無用かも知れんが、
注意深いプログラマーというのは、(定義上)存在しない。
- 18 名前: デフォルトの名無しさん 投稿日: 2001/03/04(日) 07:22
- Javaにはfinalがあるからいいもんねー
- 19 名前: デフォルトの名無しさん 投稿日: 2001/03/04(日) 11:57
- Javaもoverrideほしい。
- 20 名前: 名無しの笛の踊り 投稿日: 2001/03/04(日) 12:09
- ものが出てから様子見だね。
MSが言うことは話半分に聞いておかないと。
ただ言語仕様を見る限りでは、かなりイケてると思う。
- 21 名前: デフォルトの名無しさん 投稿日: 2001/03/04(日) 21:33
- Javaがそうであるように、インターフェイスはまともでも
実装はゴミという事は多々ある(多分初期バージョンでは
バグの嵐の可能性あり)ので、まあとりあえず使える程度
にはなっといて、後は様子見のつもりっす。
- 22 名前: デフォルトの名無しさん 投稿日: 2001/03/05(月) 02:46
- C#信者逝ってよし
- 23 名前: デフォルトの名無しさん 投稿日: 2001/03/05(月) 02:56
- どうせならそろそろD作れよ。
それとも次は「も〜っと!C」か?
- 24 名前: デフォルトの名無しさん 投稿日: 2001/03/05(月) 03:04
- C#++と思われ
- 25 名前: デフォルトの名無しさん 投稿日: 2001/03/05(月) 04:11
- >>23
どれみちゃんかい?おじさんもみてるぞ。ドゥフフフフフ。
- 26 名前: デフォルトの名無しさん 投稿日: 2001/03/05(月) 06:57
- >>23
ワラタ
- 27 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 01:11
- C++の++の線を少しずらしていって交あわせると… #だー!#になったー!
- 28 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 01:16
- >>27
今更ナニを言っとるのかね、キミわ。
- 29 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 01:16
- >ドゥフフフフフ
なんかすっげー嫌な笑いなんですけど。
- 30 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 02:39
- >>27
はー、そーゆーことだったんだ…
知らんかった。ちょっと鬱。
- 31 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 03:57
- >27
うっそー。
Java って、 C-- のようなものって、よく言われるけど、
C# 式でいうと、
Java は、 C♭ ですな。
- 32 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 08:30
- Java == Objective-C・改
- 33 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 17:08
- 言語仕様についてはどう?
- 34 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 17:11
- オペレータオーバーロードがあるのはいいけれど、
(数学関係にゃ必要だと思ー)
イベントハンドらの追加を+=演算子でやるのは勘弁してくだちい。
- 35 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 17:25
- >>34
わかりやすくて良いんじゃない?
- 36 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 17:52
- どこがやねん。
- 37 名前: 34じゃないけど 投稿日: 2001/03/06(火) 18:13
- オペレータオーバーロードの悪い使用例の筆頭から2番目だとおもう
一番はもちろんC++の「<<」ね
- 38 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 18:14
- >ドゥフフフフフ
いただきー!
- 39 名前: 無しさん 投稿日: 2001/03/06(火) 18:50
- オーバーロード演算子に関しては、個人が勝手にやってるわけじゃく、
コンパイラベンダがやってることなんで、別にかまわんよ。
まあオレ的には
Button.AddOnClick(new EventHandler(buttonNoget_click));
を
Button.Click += new EventHandler(buttonNoget_click);
みたいに全部変更しなきゃいかんかったのがツラかったよ。
(昔のバージョンで実用アプリ作ってたから)
- 40 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 18:57
- genericsの実装(template)は.NETの正式リリースに間に合うのだろうか。
- 41 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 21:11
- で、C#はWebアプレット作れるんか?
- 42 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 23:06
- で、C#はランタイムいるんか?
え?ドットネットフレームワーク!?
こりゃまたでかいランタイムやなー!!
- 43 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 23:18
- >>41
作れるようだが、セキュリティ上通信は一切できないように見える。
ただし、10KBのデータ保存ができるように見える。
ワタクシの英語力はクソなので
誰かヘルプ読んで追試してください。
- 44 名前: デフォルトの名無しさん 投稿日: 2001/03/06(火) 23:26
- >>39
ベンダが率先して演算子オーバーロードの妙な使い方すると、
ヘボい連中がそれを真似するんだよぅ(涙)
- 45 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 00:08
- >>41
ごめんなさい、言ってる意味がよくわからならないっす。
今のJavaと基本的には同じってこと?
- 46 名前: 45 投稿日: 2001/03/07(水) 00:12
- 間違えた…
X >>41
O >>43
- 47 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 01:37
- >>37
何が悪い例なんだか良く分からん。
何の問題も無いと思うが。
- 48 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 02:08
- >>36
+=は直感的にわかりやすくないか?
俺はまさに+=だと思って感心したよ。
- 49 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 02:24
- >>48
キミあっち行って下さい。
- 50 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 02:33
- += の何が駄目?
- 51 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 04:23
- 1.7.2 Labeled statements and goto statements
A labeled statement permits a statement to be prefixed by a label, and goto statements can be used to transfer control to a labeled statement.
The example
using System;
class Test
{
static void Main() {
goto H;
W: Console.WriteLine("world");
return;
H: Console.Write("Hello, ");
goto W;
}
}
- 52 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 04:30
- >51
gotoはほとんどの場合悪だが、深いネストから脱出する時に
使うのは効果的、とストラウストラップ大先生がのたまって
おられました。
- 53 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 04:42
- >52
うんそうだね。ただサンプルをああ書くそのセンスが、かなりいけてると思った。
- 54 名前: トリッキーの1 投稿日: 2001/03/07(水) 05:42
- >>48 >>50
1つのイベントに2回+=をするとどうなるんですか?
マジレス希望っす。俺にはその辺が直感的じゃないので。
- 55 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 06:44
- >>50
たぶん、演算子のオーバーロード自体が駄目ということなんだろう。
JAVAで何故それがなくなったかわかってない!といいだげだぞ。
まあ、C#はJAVAよりもC++よりってことなのかね。
- 56 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 13:47
- >54
現在の実装だと、そのイベントハンドラーが 2回呼ばれる
ようです。これが仕様なのか、製品版で重複した設定は
無視されるようになるのかは、分かりませんが。
まぁ仕様にしてもバグにしても += じゃなくて、
Button.AddOnClick(...) とか Button.Click.AddHandler(...) とか
いう感じでやっても、動作がどうなるかが、直感的でないのは一緒だね。
個人的には、AddHandler とか AddOnClick とかいたずらに method を
増やすより、すっきりしてていいと思うのだが。
- 57 名前: トリッキーの1 投稿日: 2001/03/07(水) 13:54
- >>56
レスサンクスです。AddHandler()という名称にせずに、
SetHandler()みたいな形にすれば直感的に重複を許さないと思うけど、
重複させたい場合とかもあるのかなぁ……?
気が向いたらC#で実際に使ってみます。
>>55
Javaで演算子のオーバーロードがないのは、やはりfriendが必要になるから?
あくまで個人的な意見だけど、operator定義は正しく使えばかなり有用だと思います。
文字列の比較が==で「エラーは出ないが正しく比較できない」のは、どうかと思いますね。
そのくせJavaではStringになぜか+が定義されているんだよね。実にナンセンス。
- 58 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 14:19
- >57
SetHandler というのは、ダメです。というのも、複数の異なる
イベントハンドラーを設定することができるというのは、はっきり
と書いてある仕様ですから。
button.Click += new System.EventHandler(button_ClickA);
button.Click += new System.EventHandler(button_ClickB);
てな感じで、ひとつのイベントに複数のハンドラーを設定できます。
しかし、確かに同じハンドラーがひとつのイベントに際して複数回
呼ばれる必要があるという事態は考えにくい。あるのかな?
- 59 名前: トリッキーの1 投稿日: 2001/03/07(水) 14:28
- >58
なるほど。仕様から来ている+=だったんですね。
AddHandlerがあるなら+=がそれに値するということはそれほどはずれていないと思うけど、
何にせよちょっとやりすぎかな。+とか=とかは全く別の定義だろうし。
色々情報サンクスです。ハンドラが複数回呼ばれると便利な状況はあると思いますよ。
- 60 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 14:47
- 恥の上塗りとはこういうことを言います。
ttp://dennou.gihyo.co.jp/books/cnet/faq.html
- 61 名前: デフォルトの名無しさん 投稿日: 2001/03/07(水) 15:31
- C#ねぇ。すっきりしてていいよ。
覚えることが少ないから楽チン。
- 62 名前: サンプリング@ 投稿日: 2001/03/08(木) 03:08
- 早く一般向けにダウンロード可能にならないかなぁ。age
- 63 名前: デフォルトの名無しさん 投稿日: 2001/03/08(木) 07:07
- SDKのベータ版はずっと前から一般向けにダウンロード可能だよ。
雑誌の付録にもついてるし。
ベータ版なんで、業務用マシンには入れるなと書いてあったので
ずっと実験用マシンで使ってたが、安定してるようなので、先日
ついに常用のマシンに入れてしまった。
VS.NET のベータ版も雑誌の付録のハガキ送ったら来たよ。
- 64 名前: 厨房 投稿日: 2001/03/08(木) 09:30
- やっぱり.NET Frameworkはばんばん配布されるのかな〜。
JavaだとJREが普及していないせいもあって(GUI絡むと重いし)client-sideに広まらなかったけれど、
.NETは今後のWinodozeには組み込まれそうな気がするのでかなり普及しそうな気がする。
- 65 名前: D使い 投稿日: 2001/03/08(木) 11:01
- >>60
この人アホなんですか?
DelphiPascalだとオバロドとオバライドを間違ったり混同する
ヤツなんて誰もいないんだが、C#だと間違いやすくなってる?
- 66 名前: デフォルトの名無しさん 投稿日: 2001/03/08(木) 11:51
- C#の詳しい本ってまだ出てない?
薄っぺらい、「C#入門」しかないのかな。
- 67 名前: void 投稿日: 2001/03/08(木) 16:25
- しっかしマイクロソフトというのは変な会社だ。
現在の Windows の分散オブジェクト環境も、本当に
ユーザーのためになってるとは思えない。Windows が
COMとかなくても(なかったら、ちょっと寂しいけど)、
単なる統一された32ビットAPIの GUI環境であっても、
充分使い物になってたと思う。いまの分散オブジェクト
環境は、too much だよ。IEのコンポーネントを使った
ブラウザーが続々作られるなんて、他の環境ではちょっと
考えられない。不必要なほどに複雑だからバグも多いし。
で、今度は、仮想マシンときた。もちろん すごく先進的と
いうわけではない。Javaっていうのもすでにあるし。
99%の現在の “パソコン”ユーザーにとって、Windowsの
上で仮想マシンを走らせる意義ってないし、そもそも
ユーザーにとってはそういう理屈は関係ない。
いずれ、現在のPCから離れた環境が主戦場になるというのは
まぁ自明だけど、そのための主導権の確立の手筈を今の PC上で
なんとかしとこうというのは、なんかやりきれない感じだ。
Windows NTもひところは、PowerPC,MIPS,x86,Alpha と4種類
のCPUサポートしてたし(これも今から考えると too much)。
ビルって、将来のための保険を一般のユーザーを巻き込んで
かけてるんだな。ついて行く開発者も大変。こういうの嫌で
Linux とかにゆく開発者もいるよね。(Linux とかの方面が
技術的に大変じゃないと言ってるわけではないよ。ただ、
MSについていく果ての無さの感覚はないよね。なんかもっと
着実にやれそうな感じだよね)
MSのアメリカでやる PDC に参加すると、なんかこう遠い遠い
所まで来てしまったなと思うよね。
- 68 名前: デフォルトの名無しさん 投稿日: 2001/03/08(木) 17:35
- いや、COMはそれなりに使える技術だと思いますよ。インタフェースと
実装を切り離すことで、プラグアンドプレイなソフトウェア環境を
作り上げることに成功したんですから。
それがToo MuchだというのならWindowsに限らず、現在の分散オブジェ
クト技術全部がToo Muchということになってしまいそうな気がするん
ですけど。
- 69 名前: デフォルトの名無しさん 投稿日: 2001/03/08(木) 17:51
- EXEの方が使える。
- 70 名前: void 投稿日: 2001/03/08(木) 18:11
- 誤解を受ける書き方をしたけど、 WindowsのCOM が
駄目だとは思ってないよ。COMの全面的な採用によって
得られた世界は、なによりワクワクするものを含んでるし、
開発効率から見た生産性の向上も多分あったはず。
で、メリット・デメリットがあったと思うけど、その
新技術のメリット・デメリットを圧倒的なシェアを背景に
一般ユーザを巻き込んで、ビジネス的に独走しながら、
まとめて引き受けてるというのが、なんかスゴイな
と思った次第。
Linux なんかより(ごめん他意はない。突っ込まれても
しょうがないが、それには対応しないよ)ある意味はるか
に挑戦的なことやってるよね、MSって。
- 71 名前: 68 投稿日: 2001/03/08(木) 18:46
- 確かに、COMが定着したのは何よりもMSが自社製品で使えるものを
これでもか、というくらいに提供したからですね。
# VB、VC++, Excel、Word、Access、ASP...
そういうところでは独自技術の強みがありますね。
ただ、とりあえず市場に出すことが優先されて品質が二の次とか、
標準技術を軽視するところが嫌われるところではありますね。
- 72 名前: デフォルトの名無しさん 投稿日: 2001/03/09(金) 00:06
- IEコンポーネントのブラウザ非常に重宝してるんだけど…
- 73 名前: デフォルトの名無しさん 投稿日: 2001/03/09(金) 08:47
- だから、67=70 の語法による「一般ユーザー」は
IEコンポーネントプラウザを作ったり使ったりしてないという話。
まあ、存在してるから、使うことはあるだろうけど、それが
IEコンポーネントを使った COMによる分散オブジェクト技術で
成り立ってるなんてことは、意識しないだろう。
で、便利なもんなら、COMでなくても、ソースコードをパクってきて
作ったものでも、適当なライブラリーを従来の方法でスタティックか
ダイナミックにリンクして作ったものでも、使うだろう。
一言でいうと、一般ユーザーが求める道具としてのパソコンに
現在の Windows が提供している分散オブジェクト環境は too much
だということだよ。
おれは、COMも .NET もありがたく、楽しく使うけどね。
- 74 名前: 68 投稿日: 2001/03/09(金) 17:28
- 一般ユーザだってCOMの恩恵は受けていますよ。たとえばインプレース
アクティベーションとか、透過的なドラッグ&ドロップとか。
ExcelやAccessのVBAでちょっとしたプログラムが組めるようになった
のも、COMあってこその話ですよね。
- 75 名前: デフォルトの名無しさん 投稿日: 2001/03/09(金) 21:54
- MSが仮想マシンを作り始めたのはいずれMSが分社化するときに対応するためとか聞いたがどうなんだろう?
- 76 名前: デフォルトの名無しさん 投稿日: 2001/03/10(土) 12:53
- age
- 77 名前: デフォルトの名無しさん 投稿日: 2001/03/10(土) 13:31
- 仮想マシンを使って32bit->64bitへの移行をスムーズに
行えるようにするというのもメリットのひとつだと思う。
とくにAMDの64bit CPUはIntelのものと非互換みたいだし。
# C#がCPU依存の型を廃したのは英断でしょう。
MSの自社製品がすべてC#に移行したらまた複数のCPUを
サポートし始めるんじゃない。
- 78 名前: サンプリング@ 投稿日: 2001/03/11(日) 15:30
- 「一般ユーザー」なんですが、シェアウェアなどの小規模なアプリにはあまりCOMは
使われていないような気がするのですが、いかがお考えですか?やはりCOMは、
ごく普通のプログラマには難しいような気がするのですが。。。
(おっと、へたれPGであることがばれてしまう。アブアブ)
- 79 名前: デフォルトの名無しさん 投稿日: 2001/03/11(日) 15:43
- >78
それは見方がアマイだけじゃないの?
74が上げているような機能なら使用しているアプリは多いし。
(ほんとに小規模なら別。使うまでもない。
もしくはめんどくて付けなかった、などの理由もある。)
COMがプログラマに難しいかどうかは開発環境にもよる。
- 80 名前: >70 投稿日: 2001/03/11(日) 16:35
- なんでもいいけどvoidってハンドルだけは止めとけ。
- 81 名前: SAGE 投稿日: 2001/03/11(日) 16:39
- >>78
エクスプローラの右クリックメニュー拡張とか。
エディタのテキストをドラッグ&ドロップとか。
ショートカット作成とか。
Iriaみたいに IEに食い込むタイプのソフトとか。
DirectX 使ったゲームとか。
そこら中で見かける気がするけれど。
- 82 名前: デフォルトの名無しさん 投稿日: 2001/03/11(日) 17:12
- >>70
へみ猫は市ね。
- 83 名前: 知ったか君 投稿日: 2001/03/11(日) 17:28
- >>78
COMもOOPみたいに小規模ではどうしても煩雑なところばかり
が目立ってしまいますからね。
ただ、オンラインソフトの場合はCOMを使うとどうしてもレジストリを
触ることになるので、ユーザーにあまり好まれないからだと思います。
- 84 名前: デフォルトの名無しさん 投稿日: 2001/03/11(日) 23:22
- 「COMを使う」って定義が問題。
IEやExcelのコンポーネントを使うような小規模アプリは
いくらでもある。
自分のインターフェイスを提供するようなのは、少ない
と思うけどね。
Iriaみたいに、公開してくれると結構便利なんだけど。
- 85 名前: 68=74 投稿日: 2001/03/12(月) 15:10
- オートメーションオブジェクトを作る/使うだけだったら楽勝でしょう。
ただインプレースアクティベーションとか構造化ストレージとかのコンテナや
コンポーネントを実装するのは結構大変ですね。
>ただ、オンラインソフトの場合はCOMを使うとどうしてもレジストリを
>触ることになるので、ユーザーにあまり好まれないからだと思います。
確かにレジストリが汚くなるのはやっかいですね。登録情報はどこかに
持たなくてはいけないので、レジストリを使うこと自体は問題ないと思う
のですが...
- 86 名前: デフォルトの名無しさん 投稿日: 2001/03/12(月) 16:51
- レジストリアレルギー(自分で命名)ってまだあるのかな?
- 87 名前: デフォルトの名無しさん 投稿日: 2001/03/12(月) 17:25
- Side-By-Sideを使えば、レジストリの呪縛から抜けられるけど、
システムグローバルには使えないし。
痛し痒しってとこだね。
- 88 名前: デフォルトの名無しさん 投稿日: 2001/03/27(火) 03:17
- http://www.denpa.org/~go/denpa/200103/from11.html#16_1
ってマジすごい。「COMってやりすぎじゃないの」というこのスレの
途中で出てきた議論に対して、正面から答えてる。
とりあえず、脱帽だぜ。
っつうことで、age ね。
- 89 名前: デフォルトの名無しさん 投稿日: 2001/03/27(火) 03:57
- >88
つーか常識。その上で、マニアックすぎないかって言う議論だったんでしょ。
ま、プログラマにとっちゃ魅力的だけどね。
- 90 名前: 金持ち名無しさん、貧乏名無しさん 投稿日: 2001/03/27(火) 04:36
- >>88
日付から見て、このスレにインスパイアされた可能性もあるよ。