前スレ
C#は糞
ttp://pc12.2ch.net/test/read.cgi/tech/1246520657/
探検
C#は糞2.0
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2010/04/30(金) 15:25:27677デフォルトの名無しさん
2010/10/15(金) 23:42:51 遅い。GCの負担になる。ネイティブコードとの連携がやりづらい。
例えば、Java・.NETとも、Rectangleを返すメソッドは基本的には常にコピーを作って返す。
内部のフィールドに持ってるインスタンスをそのまま返すとカプセル化が壊れるから。
そういうときにクラスだと非常に非効率。
配列アクセスの速度なんかも全然違う。
例えば、Java・.NETとも、Rectangleを返すメソッドは基本的には常にコピーを作って返す。
内部のフィールドに持ってるインスタンスをそのまま返すとカプセル化が壊れるから。
そういうときにクラスだと非常に非効率。
配列アクセスの速度なんかも全然違う。
678デフォルトの名無しさん
2010/10/16(土) 00:50:12 ぬるぽ
679デフォルトの名無しさん
2010/10/16(土) 01:05:34 けど今時Rectangleの複写ぐらいで遅くなるマシンなんてないよな。
前から思っていたんだが、もしかして.NETってGCがショボい?
.NETのGCアルゴリズムって全く話題にならないよな。ひょっとしてモノリシック
なヒープをシングルスレッドでデフラグしてたりする?
前から思っていたんだが、もしかして.NETってGCがショボい?
.NETのGCアルゴリズムって全く話題にならないよな。ひょっとしてモノリシック
なヒープをシングルスレッドでデフラグしてたりする?
680デフォルトの名無しさん
2010/10/16(土) 08:24:29 >>679
いろいろアンチがやってくるが、これほどJavaを理解していないやつも珍しい。
いろいろアンチがやってくるが、これほどJavaを理解していないやつも珍しい。
681デフォルトの名無しさん
2010/10/16(土) 09:47:25 確実に遅くはなる。それが問題になるかどうかは使い方次第。
ベクトル型のインスタンスを大量に作って計算するような状況では使い物にならない。
なんでJavaはプリミティブ型を特別扱いしてるかわかる?
オブジェクトにすると「遅いから」だよ。それと全く同じこと。
ベクトル型のインスタンスを大量に作って計算するような状況では使い物にならない。
なんでJavaはプリミティブ型を特別扱いしてるかわかる?
オブジェクトにすると「遅いから」だよ。それと全く同じこと。
682デフォルトの名無しさん
2010/10/18(月) 01:52:20 Java のGC が話題になるのはただ単に Java が有名だから。
実装が素晴らしいわけではない。
実装が素晴らしいわけではない。
683デフォルトの名無しさん
2010/10/18(月) 08:45:23 Java の GC はいろいろがんばってるよ。
すくなくともそこらのスクリプト系言語の実装とは比較にならない。
MS 製 Java の GC は Lisp のすごい人が書いたとか伝説もあったしなー。
すくなくともそこらのスクリプト系言語の実装とは比較にならない。
MS 製 Java の GC は Lisp のすごい人が書いたとか伝説もあったしなー。
684デフォルトの名無しさん
2010/10/18(月) 09:10:42 379 デフォルトの名無しさん [sage] 2010/10/18(月) 07:49:37 ID: Be:
suge------
http://www.atmarkit.co.jp/fdotnet/csharp4/csharp4_04/csharp4_04_01.html
380 デフォルトの名無しさん [sage] 2010/10/18(月) 08:40:52 ID: Be:
オプション引数・名前付き引数 (C# によるプログラミング入門)
http://ufcpp.net/study/csharp/sp4_optional.html
これか。C#にデフォルト引数がついてなかったとは知らなかったな。
呼び出し側で評価されるゆえの実装の都合なのかこれ
名前付き引数がVBにあったというのは衝撃的
しかし何故C#4?
suge------
http://www.atmarkit.co.jp/fdotnet/csharp4/csharp4_04/csharp4_04_01.html
380 デフォルトの名無しさん [sage] 2010/10/18(月) 08:40:52 ID: Be:
オプション引数・名前付き引数 (C# によるプログラミング入門)
http://ufcpp.net/study/csharp/sp4_optional.html
これか。C#にデフォルト引数がついてなかったとは知らなかったな。
呼び出し側で評価されるゆえの実装の都合なのかこれ
名前付き引数がVBにあったというのは衝撃的
しかし何故C#4?
685デフォルトの名無しさん
2010/10/18(月) 10:30:47 デフォルトの引数は色々問題ありなので、アンダースが反対していたそうです。
686デフォルトの名無しさん
2010/10/18(月) 12:32:31 デフォルト引数がサポートされた最大の理由はCOM相互運用のため。
VB.NETと比べたときに唯一C#が致命的に弱い部分だったから。
VB.NETと比べたときに唯一C#が致命的に弱い部分だったから。
687デフォルトの名無しさん
2010/10/18(月) 12:37:36 ダックタイピングも同時に導入されたので、COMはオートメーションだけサポートということでもよかったんじゃないかとは思う。
688デフォルトの名無しさん
2010/10/18(月) 16:44:10 C#の場合、デフォルト引数が問題なのは、オーバーロードの解決が
複雑になったりすることよりも、アセンブリのバージョン間の互換性が失われることが問題。
デフォルト値がコンパイル時定数として呼び出し引数に埋め込まれてしまうので
クラスライブラリで使うとデフォルト値を二度と変更できない。
アセンブリ外から見えるメンバにデフォルト引数が使われてると
VSのコード分析ツールやFxCopが警告を出す。
複雑になったりすることよりも、アセンブリのバージョン間の互換性が失われることが問題。
デフォルト値がコンパイル時定数として呼び出し引数に埋め込まれてしまうので
クラスライブラリで使うとデフォルト値を二度と変更できない。
アセンブリ外から見えるメンバにデフォルト引数が使われてると
VSのコード分析ツールやFxCopが警告を出す。
689デフォルトの名無しさん
2010/10/19(火) 21:52:02 いつの間にかデフォルト引数出来るようになってたのか。
知らんかった。
ところでこのobject型使いまくりの.NETライブラリを見てくれ
こいつをどう思う?
知らんかった。
ところでこのobject型使いまくりの.NETライブラリを見てくれ
こいつをどう思う?
690デフォルトの名無しさん
2010/10/19(火) 21:57:34 言うほどobject使われてないだろ
691デフォルトの名無しさん
2010/10/27(水) 11:36:00 void* みたいなもんじゃね?
692デフォルトの名無しさん
2010/10/27(水) 22:18:30 public struct AnyData {
public object field1;
public object field2;
public object field3;
public object field4;
}
どうだ、すごいだろ?何でも入るぞ?
まあ仕事でこれは見たこと無いけど、DBのテーブルが全部VARCHARで列名がCOL1〜COL30
みたいのは本当に見たことがある。テーブル名はたしか、TABLE30とかだった。
見た瞬間机を蹴飛ばしたい気分になったけどね。
public object field1;
public object field2;
public object field3;
public object field4;
}
どうだ、すごいだろ?何でも入るぞ?
まあ仕事でこれは見たこと無いけど、DBのテーブルが全部VARCHARで列名がCOL1〜COL30
みたいのは本当に見たことがある。テーブル名はたしか、TABLE30とかだった。
見た瞬間机を蹴飛ばしたい気分になったけどね。
693デフォルトの名無しさん
2010/10/28(木) 00:38:47 C#はコーディングが楽になった分格段にC++より糞コードを生み出す温床になってるよな
694デフォルトの名無しさん
2010/10/28(木) 01:28:15 >>693
C++の絶望的糞コードとC#の絶望的糞コードなら、C#のコードのほうがまだ対応出来る。
C++の絶望的糞コードとC#の絶望的糞コードなら、C#のコードのほうがまだ対応出来る。
695デフォルトの名無しさん
2010/10/28(木) 22:08:36 javaのthrowsみたいに例外制御の流れを強制できると便利なんだけどな。
696デフォルトの名無しさん
2010/10/28(木) 22:14:11 >>694
根拠は?
根拠は?
697デフォルトの名無しさん
2010/10/28(木) 22:23:31 >>695
あんなもん主要言語では後にも先にもJavaしか採用しないクソ機構じゃねーか
あんなもん主要言語では後にも先にもJavaしか採用しないクソ機構じゃねーか
698デフォルトの名無しさん
2010/10/28(木) 22:45:08 throws は伝染するから嫌われる
せっかく多重継承禁止したのにな
せっかく多重継承禁止したのにな
699デフォルトの名無しさん
2010/10/28(木) 22:47:17 アンダースがthrowsを導入しなかった理由をどこかの講演で言ってたと思う。
700デフォルトの名無しさん
2010/10/29(金) 13:24:17 よくJava信者が、インターフェイスをちゃんと設計して例外をラップすれば
後でthrowsリストを増やすような事態にはならないというけど
それって突き詰めれば結局 throws Exception にすればいいと言ってるのと同じなんだよな。
hogeメソッドが throws HogeFailedException となっていたからって
それをどう例外処理しろというのか。
後でthrowsリストを増やすような事態にはならないというけど
それって突き詰めれば結局 throws Exception にすればいいと言ってるのと同じなんだよな。
hogeメソッドが throws HogeFailedException となっていたからって
それをどう例外処理しろというのか。
701デフォルトの名無しさん
2010/10/29(金) 16:10:54 要するにぬるぽにしなさいって事か
702デフォルトの名無しさん
2010/10/30(土) 14:56:06 このスレで糞が何回でたか、出現数をカウントするプログラムを作りなさい
703デフォルトの名無しさん
2010/10/30(土) 15:58:06 print "select count(res) from threads where host='hibari' and board='tech' and thread=1272608727 and body like '%糞%';"
704デフォルトの名無しさん
2010/11/01(月) 21:14:11 var cnt=(from i in alltext where i.Equals('糞') select i).Count();
とうんこしながら書いてみる
とうんこしながら書いてみる
705デフォルトの名無しさん
2010/11/02(火) 00:44:32 >>704
var cnt = alltext.Count('糞'.Equals);
var cnt = alltext.Count('糞'.Equals);
706デフォルトの名無しさん
2010/11/02(火) 00:48:43 public static void main(String[] args) throws Exception {
URL target = new URL("http://hibari.2ch.net/tech/dat/1272608727.dat");
InputStream in = null;
int unkoCnt = 0;
try {
HttpURLConnection ucon = (HttpURLConnection) target.openConnection();
ucon.setRequestProperty("User-Agent", "Monazilla/1.00 (UnkoCounter/1.0)");
ucon.setRequestProperty("Accept-Encoding", "gzip, deflate");
ucon.setRequestProperty("Accept", "*/*");
in = ucon.getInputStream();
String enc = ucon.getContentEncoding();
if (enc != null && enc.equals("gzip") && (in instanceof GZIPInputStream) == false) in = new GZIPInputStream(in);
if ( enc != null && enc.equals("deflate") && (in instanceof DeflaterInputStream) == false) in = new DeflaterInputStream(in);
in = new BufferedInputStream(in, 65536);
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "Windows-31J"), 8192);
String line = null;
while ( (line = reader.readLine()) != null ) {
String[] ary = line.split("<>");
if ( ary[0].indexOf("あぼーん") != -1 || ary.length < 3 )
continue;
String honbun = ary[3];
if ( countKuso(honbun) != -1 )
unkoCnt++;
}
}finally {
if ( in != null ) in.close();
}
System.out.printf("%d個のウンコを発見。\n", unkoCnt);
}
<<続く>>
URL target = new URL("http://hibari.2ch.net/tech/dat/1272608727.dat");
InputStream in = null;
int unkoCnt = 0;
try {
HttpURLConnection ucon = (HttpURLConnection) target.openConnection();
ucon.setRequestProperty("User-Agent", "Monazilla/1.00 (UnkoCounter/1.0)");
ucon.setRequestProperty("Accept-Encoding", "gzip, deflate");
ucon.setRequestProperty("Accept", "*/*");
in = ucon.getInputStream();
String enc = ucon.getContentEncoding();
if (enc != null && enc.equals("gzip") && (in instanceof GZIPInputStream) == false) in = new GZIPInputStream(in);
if ( enc != null && enc.equals("deflate") && (in instanceof DeflaterInputStream) == false) in = new DeflaterInputStream(in);
in = new BufferedInputStream(in, 65536);
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "Windows-31J"), 8192);
String line = null;
while ( (line = reader.readLine()) != null ) {
String[] ary = line.split("<>");
if ( ary[0].indexOf("あぼーん") != -1 || ary.length < 3 )
continue;
String honbun = ary[3];
if ( countKuso(honbun) != -1 )
unkoCnt++;
}
}finally {
if ( in != null ) in.close();
}
System.out.printf("%d個のウンコを発見。\n", unkoCnt);
}
<<続く>>
707デフォルトの名無しさん
2010/11/02(火) 00:49:36 >>706の続き
private static int countKuso(String line) {
int idx = -1;
int ret = 0;
while ((idx = line.indexOf('糞', idx)) != -1) {
ret++;
if (++idx == line.length()) break;
}
return ret;
}
private static int countKuso(String line) {
int idx = -1;
int ret = 0;
while ((idx = line.indexOf('糞', idx)) != -1) {
ret++;
if (++idx == line.length()) break;
}
return ret;
}
708デフォルトの名無しさん
2010/11/02(火) 00:53:11 すまん間違ってる。「if (countKuso(honbun)」のブロックは次に修正
誤)
if ( countKuso(honbun) != -1 )
unkoCnt++;
}
正)
unkoCnt += countKuso(honbun);
今140個あるはずだ。
誤)
if ( countKuso(honbun) != -1 )
unkoCnt++;
}
正)
unkoCnt += countKuso(honbun);
今140個あるはずだ。
709デフォルトの名無しさん
2010/11/02(火) 22:32:04 VB.NETでもなくC++でもなくC#を何で選ぶのかな。
VB.NETならVB6と違いはあるもののVB用の組み込み関数があるし、
C++ならCおよびC++の標準ライブラリが使えるのに。
VB.NETならVB6と違いはあるもののVB用の組み込み関数があるし、
C++ならCおよびC++の標準ライブラリが使えるのに。
710デフォルトの名無しさん
2010/11/02(火) 22:34:17 VB.NETはタイプ量が多い
C++は標準ライブラリだけではとても商品など作れない
C++は標準ライブラリだけではとても商品など作れない
711デフォルトの名無しさん
2010/11/02(火) 22:45:29 C++なんて、プログラミングが面倒なくせに、謎のエラーが出まくって、デバッグもしにくい。しかも、脆弱性の主な原因。
712デフォルトの名無しさん
2010/11/02(火) 22:59:17 TCP/IP使う制御系システムとかだと、もうCはやめた方がいいんじゃないか?
昔はメモリの書き過ぎはただの単純バグで済まされたが、今では脆弱性につながるかもしれない
重大問題だからな。ユーザー企業が脆弱性対策に注視すればするほど、CやC++は不人気になるだろ。
VBはusingブロックがなかったり、Microsoftがこれからプログラム始める人はC#推奨とか言ってたり、
要するにVB6しかできないヤツをサポートする必要があるって言う意図に見えてイヤだし、構文も
長くて読みづらいと思う。本当はC#も中括弧が勝手に改行されるのはあんまり好きじゃないんだけど・・・
昔はメモリの書き過ぎはただの単純バグで済まされたが、今では脆弱性につながるかもしれない
重大問題だからな。ユーザー企業が脆弱性対策に注視すればするほど、CやC++は不人気になるだろ。
VBはusingブロックがなかったり、Microsoftがこれからプログラム始める人はC#推奨とか言ってたり、
要するにVB6しかできないヤツをサポートする必要があるって言う意図に見えてイヤだし、構文も
長くて読みづらいと思う。本当はC#も中括弧が勝手に改行されるのはあんまり好きじゃないんだけど・・・
713デフォルトの名無しさん
2010/11/02(火) 23:09:01714デフォルトの名無しさん
2010/11/02(火) 23:14:08 何と、このスレを普通にテキスト処理するわけでなく、
SQLで処理することができるのか。そんな技術があるのか。
SQLで処理することができるのか。そんな技術があるのか。
715デフォルトの名無しさん
2010/11/02(火) 23:16:38 俺にはC#とJavaのどちらのコードなのか見分けることができない、恥か。
716デフォルトの名無しさん
2010/11/02(火) 23:17:45 C#のSocket使ったプログラムを書くと定期的にCPU使用率が100%近くに
跳ね上がるのは俺だけか?
C++使ったらそういう事は起きないので.NETの問題かと思うんだが
跳ね上がるのは俺だけか?
C++使ったらそういう事は起きないので.NETの問題かと思うんだが
717デフォルトの名無しさん
2010/11/02(火) 23:37:18 再現できる最小コードplz
718デフォルトの名無しさん
2010/11/02(火) 23:45:22719デフォルトの名無しさん
2010/11/03(水) 02:21:45 CLIと.NETの境界が良くわかってないけど
string以外にもこのクラスだけ特別扱いとか
言語として一貫性無くなってきてない?
string以外にもこのクラスだけ特別扱いとか
言語として一貫性無くなってきてない?
720デフォルトの名無しさん
2010/11/03(水) 02:52:42 理想より実益を優先するという姿勢で一貫している。
unsafe取り入れたり、ネイティブとの相互運用用にC++/CLI作ったりしたのもそのため。
unsafe取り入れたり、ネイティブとの相互運用用にC++/CLI作ったりしたのもそのため。
721デフォルトの名無しさん
2010/11/03(水) 08:45:37 C++/CLIはnative C++とC#の仲立ちをするためのもので一見、良さげに
見えるが、いったんトラブルがおきるとNative C++の問題なのか、C#
の問題なのか、間に介在しているC++/CLIの問題なのかややこしくなる。
C++/CLIは廃止の方向で、よくわからんけど、C#の中にCやNativeのC++
のコードを埋められる(内部的にはDLLを埋め込むのだろうが、それを
ユーザに意識させない)ようにしてほしい。
見えるが、いったんトラブルがおきるとNative C++の問題なのか、C#
の問題なのか、間に介在しているC++/CLIの問題なのかややこしくなる。
C++/CLIは廃止の方向で、よくわからんけど、C#の中にCやNativeのC++
のコードを埋められる(内部的にはDLLを埋め込むのだろうが、それを
ユーザに意識させない)ようにしてほしい。
722デフォルトの名無しさん
2010/11/03(水) 11:34:07 今更C#で混在アセンブリをサポートするのはありえないだろ。
環境依存どころかCLRのバージョンが違うと動かなかったりしてMSも持て余してる糞技術。
環境依存どころかCLRのバージョンが違うと動かなかったりしてMSも持て余してる糞技術。
723デフォルトの名無しさん
2010/11/03(水) 12:23:06 >>721
MSはいつもブラックボックス化=簡単便利化だと信じ切ってるからな。
昔から動くはずのものが正しく動作しなくなった場合、原因箇所がわかりにくかった。
それにエラーメッセージが糞。特にIE6のJavaScriptのエラーはイミフ過ぎだったなぁ。
IE6「'null'はnullまたはオブジェクトではありません。」
俺「じゃあ何なんだ!?この野郎!」
MSはいつもブラックボックス化=簡単便利化だと信じ切ってるからな。
昔から動くはずのものが正しく動作しなくなった場合、原因箇所がわかりにくかった。
それにエラーメッセージが糞。特にIE6のJavaScriptのエラーはイミフ過ぎだったなぁ。
IE6「'null'はnullまたはオブジェクトではありません。」
俺「じゃあ何なんだ!?この野郎!」
724デフォルトの名無しさん
2010/11/03(水) 13:53:05 >723
貴方がもうちょっと聡ければ、'null' が変数名と看做されてる事に気づけたかもしれない。
貴方がもうちょっと聡ければ、'null' が変数名と看做されてる事に気づけたかもしれない。
725デフォルトの名無しさん
2010/11/03(水) 14:22:35 >>722
そうかなぁ。p/invokeかなんかでC++のDLLインポートする時も
同じ問題が起きるんじゃないの?
よくわからんけど、環境依存やCLRのバージョンの違いの問題
をユーザーに押し付けてどうすんだよと思うけど。
C++/CLIを介した方が安全なの?しかし、あれはNativeのC++
とも違って気持ち悪い。
そうかなぁ。p/invokeかなんかでC++のDLLインポートする時も
同じ問題が起きるんじゃないの?
よくわからんけど、環境依存やCLRのバージョンの違いの問題
をユーザーに押し付けてどうすんだよと思うけど。
C++/CLIを介した方が安全なの?しかし、あれはNativeのC++
とも違って気持ち悪い。
726デフォルトの名無しさん
2010/11/03(水) 17:29:42 >>724
いやすぐに分かったけどね。簡単な書き間違いだったと記憶してる。
あと閉じ括弧書き忘れとかも全然めちゃくちゃなメッセージがでてイヤだ。
それにエラーが発生した時、エラーメッセージ中の行番号が毎回必ず
1行ずれて表示されるのはバカだからか?
いやすぐに分かったけどね。簡単な書き間違いだったと記憶してる。
あと閉じ括弧書き忘れとかも全然めちゃくちゃなメッセージがでてイヤだ。
それにエラーが発生した時、エラーメッセージ中の行番号が毎回必ず
1行ずれて表示されるのはバカだからか?
727デフォルトの名無しさん
2010/11/03(水) 18:12:41 CLRのバージョンが違うと同じように動くとはかぎらないというのは、DLLやJavaからの教訓でわざとそうしている。
728デフォルトの名無しさん
2010/11/03(水) 18:16:59 C#はCLRのバージョン変わっても基本的には動くが
C++/CLIで書かれた混在アセンブリは完全に動かなくなる
C++/CLIで書かれた混在アセンブリは完全に動かなくなる
729デフォルトの名無しさん
2010/11/04(木) 00:22:32 なにそれC++/CLIの存在意義って…
730デフォルトの名無しさん
2010/11/04(木) 00:35:13 ネイティブとの相互運用による過去の資産の活用
これだけ
これだけ
731デフォルトの名無しさん
2010/11/04(木) 01:04:03 C++とC#が出来ればそれで済む
CLIはいらない子
CLIはいらない子
732デフォルトの名無しさん
2010/11/04(木) 01:07:00 C++/CLIは、C++にGCが欲しいという要望に対する一つの回答。
733デフォルトの名無しさん
2010/11/04(木) 01:48:20 C++ Interopの使えるC++/CLIはP/Invokeが最速。
734デフォルトの名無しさん
2010/11/04(木) 03:01:41 P/Invokeとネイティブ呼び出しが混在して困る。
735デフォルトの名無しさん
2010/11/04(木) 03:03:24 ネイティブとの相互運用と言っても、普通のネイティブDLLを作ればC#でも使えるからなあ。
736デフォルトの名無しさん
2010/11/04(木) 03:25:35 ほとんどの人には必要ない代物。どうしても必要な人にとってはないと困るけどさ
737デフォルトの名無しさん
2010/11/06(土) 19:02:56 まだCとかC++使ってる奴が居たのか
単に新しい環境買う金がねーだけだろ
単に新しい環境買う金がねーだけだろ
738デフォルトの名無しさん
2010/11/06(土) 20:25:40 はいはいクマクマ
739デフォルトの名無しさん
2010/11/12(金) 17:00:29 やっぱ
・ディープコピーが簡単にできない(配列とか)
・C++のようなconstがない
この両方が無いのは使いにくく感じる。
どっちかあれば結構違うとは思うんだけど。
手を加えられないクラスをDictionaryに入れる
と外部で勝手にデータを書き換えちゃう可能性
があるしなぁ。
そのうち公開されてるコードとかみてどんな風に
使ってるのか調べようと思うけど、ほかの人は
ほんとに使いにくく感じてないの?
・ディープコピーが簡単にできない(配列とか)
・C++のようなconstがない
この両方が無いのは使いにくく感じる。
どっちかあれば結構違うとは思うんだけど。
手を加えられないクラスをDictionaryに入れる
と外部で勝手にデータを書き換えちゃう可能性
があるしなぁ。
そのうち公開されてるコードとかみてどんな風に
使ってるのか調べようと思うけど、ほかの人は
ほんとに使いにくく感じてないの?
740デフォルトの名無しさん
2010/11/12(金) 18:49:57 >ディープコピーが簡単にできない
C# ディープコピー とかでググればシリアライザ使ったサンプルコードがある。
>C++風const
あんまり困ってない。便利だけどチーム開発で全員に徹底させるのは大変だしね。
後から付けると関連するモジュールまで変更が波及するのもよくない。(それだけ強力だって事だけど)
>外部で勝手にデータを書き換えちゃう
プロパティで公開してセッターのアクセサをinternal/protectedにしといたら?
C# ディープコピー とかでググればシリアライザ使ったサンプルコードがある。
>C++風const
あんまり困ってない。便利だけどチーム開発で全員に徹底させるのは大変だしね。
後から付けると関連するモジュールまで変更が波及するのもよくない。(それだけ強力だって事だけど)
>外部で勝手にデータを書き換えちゃう
プロパティで公開してセッターのアクセサをinternal/protectedにしといたら?
741デフォルトの名無しさん
2010/11/12(金) 21:05:36 >>740
シリアライズって確か出来ないフィールドあったと思ったけど
全部できるようになったの?
>あんまり困ってない。便利だけどチーム開発で全員に徹底させるのは大変だしね。
>後から付けると関連するモジュールまで変更が波及するのもよくない。(それだけ強力だって事だけど)
constのその話はどっかで見たけど、やっぱり出来ると出来ない
では全然違うと思うんだよね。
実行するまでわからないバグを減らせるってのは大きいと思う。
>プロパティで公開してセッターのアクセサをinternal/protectedにしといたら?
プロパティにするって方法は・・・う〜ん
結局プロパティでラップするにはintとかプリミティブ型まで絞って
いかないと意味がないと思ってる。
セッターというかゲッターでClear関数なんかがあるオブジェクト
返すとどうしようもないし。
だからと言って例えばメモリに読み込んだ住所禄1レコードの
ようなクラスなんかはクラス単位で渡さないと膨大なプロパティ
が出来ちゃう。(例えなのでDataSetを使えってのは無し)
シリアライズって確か出来ないフィールドあったと思ったけど
全部できるようになったの?
>あんまり困ってない。便利だけどチーム開発で全員に徹底させるのは大変だしね。
>後から付けると関連するモジュールまで変更が波及するのもよくない。(それだけ強力だって事だけど)
constのその話はどっかで見たけど、やっぱり出来ると出来ない
では全然違うと思うんだよね。
実行するまでわからないバグを減らせるってのは大きいと思う。
>プロパティで公開してセッターのアクセサをinternal/protectedにしといたら?
プロパティにするって方法は・・・う〜ん
結局プロパティでラップするにはintとかプリミティブ型まで絞って
いかないと意味がないと思ってる。
セッターというかゲッターでClear関数なんかがあるオブジェクト
返すとどうしようもないし。
だからと言って例えばメモリに読み込んだ住所禄1レコードの
ようなクラスなんかはクラス単位で渡さないと膨大なプロパティ
が出来ちゃう。(例えなのでDataSetを使えってのは無し)
742デフォルトの名無しさん
2010/11/13(土) 09:26:05 stdout とかできるわけないだろ。
なに意味のわかんないこと言ってるの?
なに意味のわかんないこと言ってるの?
743デフォルトの名無しさん
2011/01/11(火) 16:06:53 C#って本当に開発効率あがるのかね?
744デフォルトの名無しさん
2011/01/11(火) 17:19:15 C#の開発効率が高いのは、Visual Studioの全面的な支援が受けれるから。
745デフォルトの名無しさん
2011/01/26(水) 01:44:15 ラムダ とか Linq とかでそこそこ。
746デフォルトの名無しさん
2011/01/26(水) 17:00:10 >>774
それができるのも、reflectionのおかげ。
それができるのも、reflectionのおかげ。
747デフォルトの名無しさん
2011/01/26(水) 17:01:40 >>744だった
748デフォルトの名無しさん
2011/03/17(木) 16:13:44.13 C#の案件って多いの?
会社によるだろうけど、ある会社ではC#はほとんど使ってない。
JAVA使っていると言ってた
会社によるだろうけど、ある会社ではC#はほとんど使ってない。
JAVA使っていると言ってた
749デフォルトの名無しさん
2011/03/19(土) 11:00:32.29 C#あるよ
Javaより圧倒的に作り易い
Javaより圧倒的に作り易い
750デフォルトの名無しさん
2011/03/19(土) 22:28:24.43 うちの会社はC#でCAD作ってるよ。
751デフォルトの名無しさん
2011/03/29(火) 04:15:31.62752デフォルトの名無しさん
2011/03/29(火) 07:03:03.75 Java文化をC#にそのまま持ち込むとC#ネイティブのPGにはすっげー馬鹿にされるけどね
753デフォルトの名無しさん
2011/03/29(火) 14:39:27.95 pulic int getHogehoge{}
とか書けば馬鹿にされるだろ
とか書けば馬鹿にされるだろ
754デフォルトの名無しさん
2011/03/29(火) 20:16:50.04 pulic int get_Hogehoge{}が正しいからねえ
755デフォルトの名無しさん
2011/03/31(木) 23:13:43.36 Java も C# も開発で使ったことがあるけど
Java より C# の方が開発効率が良い感じ
でも .NET Framework とか Visual Studio にくだらないバグが多くて萎える
Java より C# の方が開発効率が良い感じ
でも .NET Framework とか Visual Studio にくだらないバグが多くて萎える
756デフォルトの名無しさん
2011/03/31(木) 23:44:26.28 Java対.NETはともかく、Eclipse対Visual StudioならVSのコールド勝ちだわ
757デフォルトの名無しさん
2011/03/31(木) 23:58:43.16 機能の頭数ならEclipseの方がずっと上だけど品質はVSの圧勝
758デフォルトの名無しさん
2011/04/01(金) 00:07:16.48 Eclipseはあの見難いフォントだけでも変更しないの?
759デフォルトの名無しさん
2011/04/01(金) 01:09:58.50 IDEでは勝負にならんだろ。
760デフォルトの名無しさん
2011/04/01(金) 10:52:44.48 EclipseはIDEといっても統合されてない感じがするよな
Emacs的な
Emacs的な
761デフォルトの名無しさん
2011/04/21(木) 10:58:03.51 サーバーサイドじゃjavaの方がずっといいな。
C#はMonoとかマルチプラットフォームいらないから
GUIやメディア方面のjavaが向かないところでもっと強力になってほしいや。
C#はMonoとかマルチプラットフォームいらないから
GUIやメディア方面のjavaが向かないところでもっと強力になってほしいや。
762デフォルトの名無しさん
2011/04/21(木) 19:52:32.34 Swing(笑) PureJava(笑) なんてさっさと捨てて現実に使えるGUIフレームワークを提供してれば
今頃デスクトップアプリもJavaだらけだったのにな
クロスプラットフォームに固執せずプラットフォーム固有のAPIを
積極的に提供するMonoがもてはやされる現状
今頃デスクトップアプリもJavaだらけだったのにな
クロスプラットフォームに固執せずプラットフォーム固有のAPIを
積極的に提供するMonoがもてはやされる現状
763デフォルトの名無しさん
2011/04/21(木) 20:08:44.93 こいつは書きこむ前にコンパイル通しすらしないのか。
ただF6押すだけだろ。
テキストエディタで書いてるのか?
static classの時点で何であろうと継承不可能だバカ。
ただF6押すだけだろ。
テキストエディタで書いてるのか?
static classの時点で何であろうと継承不可能だバカ。
764デフォルトの名無しさん
2011/04/21(木) 22:48:50.27 >>763
( ゚д゚)ポカーン
( ゚д゚)ポカーン
765デフォルトの名無しさん
2011/05/24(火) 11:05:20.95 C#は厨房御用達
766デフォルトの名無しさん
2011/06/10(金) 03:57:17.68 何であんなにエラーを例外で処理させようと
するのかね。
オブジェクト指向前提の言語だから?
どれならそれでもっといい例外処理の構文考えろよ!
めんどくさすぎるんだよぉぉぉ!
するのかね。
オブジェクト指向前提の言語だから?
どれならそれでもっといい例外処理の構文考えろよ!
めんどくさすぎるんだよぉぉぉ!
767デフォルトの名無しさん
2011/06/10(金) 07:11:11.20 Javaと違ってC#はあまり例外処理を多用しない(できない)言語仕様だが?
もしC#で例外処理(システムエラー)を多用しないといけないなら設計からしてマズいと思うぞ。
もしC#で例外処理(システムエラー)を多用しないといけないなら設計からしてマズいと思うぞ。
768デフォルトの名無しさん
2011/06/10(金) 23:01:10.76 Javaのメンドウクサ(無駄な検査例外)に比べれば遥かにマシだな
770デフォルトの名無しさん
2011/06/15(水) 00:01:00.07 現在、実用性最高の言語
773デフォルトの名無しさん
2011/06/20(月) 10:17:28.26 ラムダ式とか必要か?
774デフォルトの名無しさん
2011/06/20(月) 12:35:46.26 必要でしょ
匿名メソッドやラムダ式に慣れるともう戻れない。
中途半端な理解で使うとバグの温床になるけどな
匿名メソッドやラムダ式に慣れるともう戻れない。
中途半端な理解で使うとバグの温床になるけどな
775デフォルトの名無しさん
2011/06/20(月) 22:36:03.36 匿名メソッドはもう要らない。
776デフォルトの名無しさん
2011/06/21(火) 22:46:08.45 使う機会が今まで一度もないんだが・・・
777デフォルトの名無しさん
2011/06/21(火) 23:30:55.04 ラムダ式だけ禁止だったり、C#2.0の場合は使うね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 秋田内陸縦貫鉄道「列車が脱線、転覆」と通報 北秋田市、萱草駅付近 [蚤の市★]
- 今年の漢字、きょう発表😉 [583597859]
- 女の子集合!
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- 安倍さん死んでからの日本終わりだよ
- ひまでんぼ
