- 1 名前:デフォルトの名無しさん [05/01/24 12:43:57 ]
- 弊社では販売管理の次期システム構築に向けてプロジェクトチームの
立ち上げを予定しておりますが、VB.NETで行くべきかC#で行くべきか 未だに結論が出し切れておりません。 予算と時間の都合上、両方を試してみることも叶わない状況です。 そんなこんなで迷っていると今年の後半にはVisual Studio 2005が リリースされるとの情報がっ!もう何が何やらさっぱりです。 賢明なるム板のみなさんのご意見を賜ることができればと、このスレ を立てさせて頂きました。よろしくお願い致します。
- 294 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 13:30:37 ]
- >>283
LINQのすごいところは言語仕様をほとんど拡張していない点だよ。 事実CLRのバージョンはまったくあがらない(つまり現状のCLR2.0で動く)。 スクリプトはIronPythonとかMonadでも調べれ >>293 というより、無駄にC++/CLI持ち上げられすぎな気がするんだよな。 できるならC#、条件によってはC++/CLIも検討というスタンスが一番 いいと思う(つまりあくまで主役はC#)。 なんつーか、CLRはまじめな話結構複雑ですよ?その辺を理解できる レベルになるまでにC#ぐらい使えるようになっていると思われ。 というか、CLRの知識つけるならC#やったほうがたぶん手っ取り早い。 C++/CLIはそれからでいいだろうよ。
- 295 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 14:29:04 ]
- >>294
>事実CLRのバージョンはまったくあがらない(つまり現状のCLR2.0で動く)。 これこれ。これを初めて聞いたときは驚いた。びっくり。
- 296 名前:デフォルトの名無しさん [2006/02/16(木) 22:44:21 ]
- JVM >>>>>>>>>>>>>>>> CLR
- 297 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 23:19:45 ]
- >>294
>>295 言語仕様の拡張とCLRのバージョンはあまり関係ないのでは? コンパイラが頑張ってるっていうだけの話だと思う
- 298 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 00:24:59 ]
- >>297
表現が悪かったな。 えーとな、例えばクエリ式自体を追加するための追加キーワードは 「from」だけだ。 そして、これが「それ以降に続くクエリオペレータを連結する」という意味を持つ これだけしか決められていない。 LINQは「言語にクエリを統合する」ことが目標なんだが、なんていうかな、 C#はクエリ言語を統合しているわけではないんだ。 コード中にSQLが書けるように見えるけど、それはC#が定義しているのではなく、 ライブラリが定義している。 クエリ式はC#からみると、オペレータ連結の省略表記ぐらいの意味しかない。 もちろん統合するために他にも色々拡張しているのだが、その拡張自体は 汎用的なものだ。
- 299 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 01:25:32 ]
- C#だけネイティブ対応してくれないかな…
- 300 名前:デフォルトの名無しさん [2006/02/19(日) 10:27:21 ]
- SQLをハードコーディングってか。
- 301 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 13:32:44 ]
- >>300
それは問題の領域が違う。ビジネスロジックを分けるやり方が変わるわけでも なかろうに。ミスマッチを解消しようというだけなのだから。設計の「層」は今までも、 これからも自由だ。 なんつーかな、今までいろいろいったけど結局「拡張」である点を評価してるんだよ C#の発展という枠から出てないっていうか、SQLを混ぜましたっつーようないわゆる mixじゃない点というか。 極論すりゃ2.0でも同じ動作をするコードをかけるのさ(厳密にはむりぽなのもあるけど)。 それを簡略化しただけであって。 ちなみに、>>297が指摘してる点はCLRの場合ちょっと違う。CLRはバイナリがメタデータ 持つからな。だからバイナリだけあれば定義が参照できてリンクできるわけで。 CLR2で動くってこと=CLR2のメタデータ表現枠内にあるっつーことで型システム部分が 変わってないってことはそれなりに重要なんだ。
- 302 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 17:53:01 ]
- 何か一生懸命書いてるから、上からちょっと読んでみた。
よく知らなかったけど、何となく言いたいことはわかる。 .NETの技術自体がよく出来てるっていう評価かね。
- 303 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 13:39:57 ]
- 余計な互換性問題で悩まないで済むというだけの話
- 304 名前:デフォルトの名無しさん mailto:sage [2006/02/24(金) 23:31:41 ]
- C#がもう少し頑張ってくれればね
MSも本当にJAVAに勝つつもりでいるんだか… 事実上Windowsでしか使えないだけでも、かなり不利なのにな C#は滅びるのでVB.NETですよ
- 305 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 08:46:45 ]
- 事実上Windowsでしか使えないだけでも、かなり不利なのにな
事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな 事実上Windowsでしか使えないだけでも、かなり不利なのにな
- 306 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 11:21:55 ]
- そうでもないよ。
- 307 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 19:46:13 ]
- まあ、現場ではC#プログラマよりVBプログラマのほうが断然求められているな。
どちらか一方選ぶならVBにしておいたほうが潰し利くと思われ。
- 308 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 20:14:13 ]
- C#が出来たらVB.NETも出来るだろ w
- 309 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 20:57:15 ]
- 変換できるだろ
- 310 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 05:44:36 ]
- >>304-306
普通はVC#として使うから、JAVAと比べればUNIX系では厳しい >>308 あまい。あますぎる。 >>307 それよりJAVAを… >>309 何の変換? Vistaでるまで様子見してVB6だ! ホントに.NETに変わるんだろうか?
- 311 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 05:48:10 ]
- C#とVB.netのコードは相互変換できる
- 312 名前:デフォルトの名無しさん [2006/02/26(日) 17:03:49 ]
- C#使う奴は脳が偏屈だから変換できないんだよ
- 313 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 17:25:14 ]
- C#のあとにVB.NETやらVB6やると脳が腐っていく気分になるぞ
- 314 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 17:27:49 ]
- いや、単に学ぶ気が全くないからだろう。
{;}派にとってそれ以外の言語は恋愛の対象外。 必要性があれば会話ぐらいはするが、それを他人に見られるのは嫌。 超恥ずかしい。 友人と一緒にいる時に声掛けられたりしたら思わず無視してしまう。 そういう存在w
- 315 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:03:00 ]
- まあライブラリをどう使いこなすかって今時の時代(本当はDOSの時代からすでにそうだけどw)に
言語の優劣をどうこうってのは時代錯誤というか、お前はプログラミング始めて 嬉しくてしょうがない中学生かって感じはするなw しかしそれでも敢えて言うけど、やっぱりC#の構文は全体的に読みにくいよ。 例外の捕捉とか、なんであんな風にしたのか俺には全然合点がいかない。
- 316 名前:& ◆R7PNoCmXUc mailto:sage [2006/02/26(日) 20:35:10 ]
- 生物学的には違いがないよ、って言われても
ブサイク(VB)よりかわいい子(C#)の方がいい。 {;}派では全くないが、>>314の後半4行に禿同 「脳が腐っていく感覚」がわかるのはセンスのある奴だね
- 317 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 14:42:09 ]
- VB系ってようするに英語ネイティブ人にとってのなでしこみたいなもんだろ?
- 318 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 17:38:43 ]
- >>317
むしろCOBOLではないか?
- 319 名前:デフォルトの名無しさん mailto:sage [2006/03/07(火) 15:39:34 ]
- VB#の時代が来る!!
- 320 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 18:33:49 ]
- むしろVB♭じゃねえの?w
実際2005でも、暗黙的にフォーム作っちゃったりする旧VBの暗黒面に向けて 「後退」してる部分があるわけだし。
- 321 名前:最凶VB厨房 mailto:sage [2006/03/18(土) 20:29:49 ]
- 使いやすさを重視するか、
美しさを重視するか。 両者がトレードオフの関係にあるとすれば、 使いやすさを選ぶね。 いつだってそうだ。
- 322 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 21:07:46 ]
- 既存のJavaのソースコード J# でコンパイルしてみたら
java.awt.Graphics2D; java.awt.image.BufferedImage; が無かった。寂しい。
- 323 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 12:22:50 ]
- VB.NETはオブジェクト指向にそぐわない機能(標準モジュール)を備えてる時点で糞だろ。
ん、C#でも使えるだぁ? 使おうと思えば使えるが、大抵のやつは知らないし、知ってるようなヤツは使うべきでないことも理解してるだろ。 糞VB6厨が、厚かましくもC#に手を出してこれを知ってしまったら悲劇としか言いようがないが。 おまけに、2005からは暗黙のインスタンス化とかMyだの、糞VB6厨のための改悪が施されているわけだ。 オブジェクト指向をちゃんと理解しているVB.NETユーザーには悪いが、 完全にC#>超えられない壁>VBの式が成り立ったな。
- 324 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 12:39:46 ]
- ばかだなぁ。
VBは本来オブジェクト指向ってのに こだわりを持っている言語ではないのだ。 そこんとこよろしく。
- 325 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 12:47:31 ]
- だから糞だって言ってるんだろ。
- 326 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 12:55:01 ]
- だから馬鹿だと言っているんだがw
- 327 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 12:55:59 ]
- その思考が糞だと言ってるんだ。
- 328 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 12:58:03 ]
- そのオブジェクト指向第一主義的な
思考が馬鹿だと言ってるんだ。
- 329 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:05:46 ]
- オブジェクト指向が第一かどうかを言ってるんじゃない。
ただ、VBの場合はどうみてもオブジェクト指向についていけないVB6厨のための改悪措置だろ。 .NETになった時にOOPを大々的に取り入れたのに 2005からはそれらを緩くしてるんだから。
- 330 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:07:23 ]
- 一番困るのが、"オブジェクト指向わかるよ〜"とか言っておきながら
実はVB6しか使ったことのないアホが多いこと。
- 331 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 13:13:46 ]
- 例え、どうみてもオブジェクト指向についていけないVB6厨のための変更で
あったとしても、改良ってやつなんだ。 言語ってのはより多くの人に使ってもらわなくてはならない。 一概にそういえるわけではないが、VBはそういう言語だ。 それがわからないから馬鹿だと言ってるんだ。
- 332 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:17:06 ]
- より多くの人に使ってもらわなければならないのは
どちらかと言えば販売側の都合だろ。 言語がそういうものだなんて言うのはおかしい。
- 333 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:18:05 ]
- 確かに、>>331の言うことは一理ある。
ベータ版ではVBの配列宣言は他の言語と同じように、”要素数”を指定するものだったが、 某国のVBユーザの反発が強く、変更になったぐらいだしな。
- 334 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:18:37 ]
- あぁ、VBはそういう言語って書いてあったな。
だが、だからこそ、VBの質を貶めているわけだろ。
- 335 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:20:04 ]
- >>334
それは”言語”の質なのか? プログラマの”質”を棚上げにして、言語のせいにしてないか?
- 336 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:32:43 ]
- >>335
じゃあ暗黙のインスタンス化だのは、質の高いプログラマも使う機能なのか? 質の高いプログラマは使わない機能だとしたら、 それは質の低いプログラマのために"用意させられた"、苦肉の策だと言えるだろ。
- 337 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:37:59 ]
- ところでなぜお前らはJ#スルーなんだ?
もう少し Java2 の機能がちゃんと取り入れられたら、 かなり使える言語だぞ。って言語的には単にJavaか。 OOPやジェネリックプログラミングやるなら C++/CLI や C# 、そうじゃないならVB.NET でいいじゃん。
- 338 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 13:39:01 ]
- >>336
だから、それもプログラマの”質”の問題だろ。 >じゃあ暗黙のインスタンス化だのは、質の高いプログラマも使う機能なのか? 使い方やら挙動を理解している分には使っても問題無いだろ。 インスタンスを常に1つしか生成したくない、シングルトンのような場合、 挙動を理解して使う分には手間が省ける。 >質の高いプログラマは使わない機能だとしたら、 >それは質の低いプログラマのために"用意させられた"、苦肉の策だと言えるだろ。 自分でも言ってるじゃん。 ”質の低いプログラマの為”って。 つまり、質の低いプログラマの為に用意されているという事は、 C#に比べれば機能が多いという事になる。 質の高いプログラマにしてみれば、実装の選択肢が増え、 場合によっては手間が省けるんだから、言語の質としては高いよな。
- 339 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 13:39:59 ]
- >質の高いプログラマは使わない機能だとしたら、
この前提が正しければ、 >それは質の低いプログラマのために"用意させられた"、苦肉の策だと言えるだろ。 と言えるかもしれない。 で、どうやって前提が正しいと言うつもりなの?
- 340 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 14:12:38 ]
- MSも言ってるしなぁ、VB6ユーザーが.NETに移行してくれないから2005では
VB6ユーザーを意識しまくったって。
- 341 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 14:17:40 ]
- >>340
だから、それは別のどうでもいい事じゃないの? VB6ユーザを意識して、暗黙インスタンスだろうがMy機能を”追加”したってだけで、 そういった文法でしか書けなくなった訳じゃないし。 そういった記述しか出来なくなったというなら、確かに”改悪”だがな。
- 342 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 14:25:14 ]
- >>338
機能が多い=良いこと だと言うならば、もはや俺には反論できないわ。 そんなに良い機能がC#に実装されていないことが不思議でなりませんがね。 やっぱ苦しい言い訳にしか聞こえん。
- 343 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 14:30:18 ]
- 機能が多いことは、基本的に良い。
当たり前だ。 >そんなに良い機能がC#に実装されていないことが不思議でなりませんがね。 全く同感だよww
- 344 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 14:30:34 ]
- >>342
誰も機能が多い=良いとは言ってないんだけどね。 俺が言いたいのは、機能がどうであれ、それは使うプログラマの質次第って事。 言語の質とは言えないってこと。 >そんなに良い機能がC#に実装されていないことが不思議でなりませんがね。 >やっぱ苦しい言い訳にしか聞こえん。 そんなの、いっぱいあるだろ。 コードスニペットだって、VB.NETの方がデフォルトで多いし、 C#にはIsNumericやらIsDate関数すらない。 Split関数にしろ、C#ではCharでしか切れないけど、VB.NETだとStringで切れるしな。 それに、C#では実装されているがVBには実装されていないって機能もある。 俺には、暗黙インスタンスやMy機能が追加されただけで、VBの言語の質が低いという理由がわからん。 それに、C#でのみ実装されている便利な機能がVB.NETに実装されていないことが不思議でなりませんがね。 やっぱり苦しい言い訳にしか聞こえん。
- 345 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 14:58:27 ]
- >誰も機能が多い=良いとは言ってないんだけどね。
>>343はもろにそう思っているようですね。おめでたいです。 Microsoft.VisualBasic.dllに用意されてる関数とかは 確かにC#には用意されていないわけだが、それはちょっと別問題だと思う。それらは言語仕様ではないから。 ところで、正直な所、>>344は暗黙インスタンスを使うのかい?
- 346 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 15:03:36 ]
- 暗黙インスタンスってなんですか ><
- 347 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 15:04:01 ]
- 機能が少ないのでよければアセンブラで
ごりごり書いといてくださいなw 俺はやらんけどw
- 348 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 15:09:03 ]
- >>346
Form1クラスがあったとして、 通常は Dim form As Form1 form = new Form1() form.Show() って書くところを、VB6、またはVB2005では Form1.Show() と書ける。これは内部的にインスタンス化を行ってくれているわけだ。 ただし、「Form1」が意味するのは本来「型」であって、オブジェクトではない。 インスタンス化というのはオブジェクト指向において最も基本的な事象であるのにこれは如何なものかと思う。
- 349 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 15:11:23 ]
- >>347
逆だと思うが。なんでもできるアセンブラこそ多機能なんだろ。 だからお前がやれよ。
- 350 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 15:17:26 ]
- >>348 気持ち悪い・・・
が、まぁ変数に宣言がいらなかったり、 そもそも型付けがないような言語もあるから、 VBがその路線でやってくってならおk。
- 351 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 15:18:41 ]
- >>349
おまえ馬鹿かw
- 352 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 15:21:58 ]
- 結局VBは独自の道を行くわけか。
C#とVBを比べること自体が間違ってたんだな。もう全く別物だ。 俺はもうVBには干渉しないよ。勝手に暗黙インスタンスとか使いまくってVBマンセーしていてくれ。 じゃあな。
- 353 名前:最凶VB厨房 mailto:sage [2006/04/16(日) 15:45:02 ]
- じゃぁな
- 354 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 16:03:09 ]
- じゃぁな ><
- 355 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 03:20:18 ]
- 書いていて気持ちいいのはC#
でもそれだけ
- 356 名前:デフォルトの名無しさん mailto:sage [2006/04/21(金) 11:49:46 ]
- BASICっぽいのが好きな人用→VB
Javaっぽいのが好きな人用→C# 大体、オブジェクト指向、オブジェクト指向、言うんなら、delegateとか、 「キモイ」の一言で片付けられるんじゃないの。 まぁ、暗黙のインスタンス作成は、「論外」だと思うけどw
- 357 名前:最凶VB厨房 mailto:sage [2006/04/21(金) 21:05:29 ]
- まぁ混乱の種になるだけやわなw
- 358 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 15:19:25 ]
- 俺的には迷わずVB.NET。
C#ってVB.NETに比べて遅いし。
- 359 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 17:19:13 ]
- よくVB.NETとC#は文法が違うだけで同じ、みたいな言い方されるけど
そうでもないよね。 俺はVB派だけど、結構C#オンリーの機能ってあって頭にくることがある。 例えばvolatileとかoutとかってなんでVBにはないんだろうな。 別にVBの文法と矛盾なく追加可能なものだと思うんだが。 このMSのVBチームのセンスは理解に苦しむよ。
- 360 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 17:27:26 ]
- >>359 あんまり既存のVBと違うもの入れると
余計に混乱するっていう配慮じゃね?
- 361 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 19:42:12 ]
- >>359
つMy.Settingsの便利さは異常
- 362 名前:デフォルトの名無しさん mailto:sage [2006/04/24(月) 14:30:38 ]
- >>361
自分でコードを書いて、XML形式で保存しろ、タコw たしかに、異様に便利だけど、激しく頭が悪くなりそう>My.Settings、というか、Myそのもの
- 363 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 18:40:03 ]
- プライドとか芸術とかでコードかいてるのと違うから
- 364 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 23:56:09 ]
- むかし鶴太郎のネタでマイじいさんってのがあったな。
ただじいさんが「マイ」って言うだけなんだけど。。
- 365 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 20:54:32 ]
- >>363
激しく同意。 >>362みたいなのは極論を言えばアセンブラで書けば良いんだよ。
- 366 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 08:31:16 ]
- 16進数でごりごり書くのも可。
Z80なら書いてたけど、 同じ8ビットでも6809は無理だった orz
- 367 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 19:46:54 ]
- 今更だが、>>358
同じフレームワーク上で動いてて、遅い早いが有るわけ無いだろう。 少し早くGWボケでもしたのか? まったく、これだから雑魚は何やっても駄目なんだよ。
- 368 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 20:03:33 ]
- 俺は C++/クリちゃん!
- 369 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 21:37:05 ]
- >>367
言いたい事は分かるが、お前が間違ってる。
- 370 名前:367 mailto:sage [2006/04/30(日) 13:14:52 ]
- >>369
はぁ? お前はMSのサイトとかそういった情報を仕入れないのか? C#とVB.NETは同じ.NETFramework上で動く。 そして、双方で同じロジックのコードを書いた場合、生成される中間言語は同じ物になる。 MSIL逆アセンブラで確認しても同じだったし、実際そういった結果付きで説明されてるんだが。 お前こそGWボケじゃねぇのか。
- 371 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 15:17:58 ]
- もしかすると358は、自身の開発効率が遅いと言っているのかもしれない。
- 372 名前:358 mailto:sage [2006/04/30(日) 16:03:58 ]
- >>367=370、371
いや、C#は遅いです。 確かに、これだけ書いた事が誤解を招いたようです。 詳しく説明しますと、まず同じフレームワーク、同じようなコードで中間言語が同じになる。 これは間違いないです。 ただ、VB.NETで用意されている関数なりはかなり高機能であり、尚且つ処理スピードが速いのです。 MSやらでのサンプルはあくまでも簡単なものでしたよね? しかし、VB.NETで用意されている関数と、それをC#で同じように実装した場合では 当然、中間言語が異なります。 仮に、C#でVB.NETと同様の速度を出す場合、同じ中間言語にする必要がありますが、 ソースコードが2倍〜3倍ほどC#の方が多くなりますし、逆アセンブルして確認しながらの作業になります。 VB.NETでは便利な関数が用意され、それを使うだけでパフォーマンスが良くなる。 C#では自前で関数を用意するかVB.NETの関数を使うしかなく、 自前で関数を用意した場合、可也の工数を掛けなければパフォーマンスが悪くなる。 以前は、VB6などからCのDLLを呼び出すことが多かったですが、 これからはC#はVB.NETが無いと不便だということです。 ならば、最初からVB.NETを使えばいい。
- 373 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 16:21:44 ]
- >VB.NETでは便利な関数が用意され
そう?
- 374 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 17:38:35 ]
- >>372
C#でVB .NETの関数を使って何が悪い。
- 375 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 15:51:21 ]
- つまりヘボがC#覚えてVBと同等の関数つくったところで
MS謹製にゃおよばねぇってこったな。同意ー
- 376 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 12:30:16 ]
- へボユーザー:VB.NETで高速アプリつくれるんだ!ひゃほーーー
普通ユーザー:VBユーザーのいないC#で快適生活がおくれるよ こうやって区分けされてるんですよ
- 377 名前:VB.NETユーザ [2006/05/07(日) 13:19:40 ]
- 以前のVB厨がC#に流れてくれて、VB.NETの世界は平和です。
- 378 名前:デフォルトの名無しさん [2006/05/08(月) 06:17:33 ]
- VS2005の簡単なベンチマークテストをしてみた。(参考にDELPHI6も計測)
コンソールアプリ、for文で10億回ループで整数の加算、ラップタイムを表示してそれを10回繰り返す。(計100億回ループ) EXEを実行で計測、()内は開発環境で計測、結果は、 VB 56秒 (56秒) C# 50秒 (53秒) J# 19秒 (45秒) VC 36秒 (<--) DELPHI 16秒 (<--) VBは環境でもEXEでもほとんど変わらないし、C#とはそう変わらないので、そんなに遅く感じないが、 J#が、EXEで速いこととサイズが小さいのは驚き。 しかしこれだけ差があると、計算主体で時間がかかるプログラムだと、DELPHIかJ#ということになるなー。
- 379 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 07:48:38 ]
- マイクロベンチマークか…
- 380 名前:デフォルトの名無しさん [2006/05/08(月) 08:15:32 ]
- >ただ、VB.NETで用意されている関数なりはかなり高機能であり、尚且つ処理スピードが速いのです。
この時点でネタだろ。
- 381 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 09:17:37 ]
- >>378
だ、だまされないぞ!!>J#
- 382 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 10:05:17 ]
- J#とJ-porkの違いを述べよ
- 383 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 13:23:49 ]
- 高機能の定義履き違えたアホは無視で
- 384 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 13:27:11 ]
- J#とC#のソース希望。試してみたい。
- 385 名前:デフォルトの名無しさん [2006/05/08(月) 15:29:19 ]
- すきなほうでいいよ
やれることあんま変わんないから
- 386 名前:>>378 のC ◆0.SRHQIcUI [2006/05/08(月) 15:34:18 ]
- static void Main(string[] args)
{ int i,j,k=0 ; string s; Console.WriteLine("hit return key C#"); Console.ReadLine(); Console.WriteLine("START"); Console.WriteLine(DateTime.Now); for (i = 0; i < 10; i ++) { for (j = 0; j < 1000000000; j++) { k = i + j; //Console.WriteLine("i={0} j={1} k={2}",i,j,k); } Console.WriteLine("{0} <--- {1}",DateTime.Now,i); } Console.WriteLine(k); Console.WriteLine(i); Console.WriteLine("END"); Console.WriteLine(DateTime.Now); Console.ReadLine(); }
- 387 名前:>>386 の実行結果の例 [2006/05/08(月) 15:37:42 ]
- hit return key C#
START 2006/05/08 15:26:47 2006/05/08 15:26:53 <--- 0 2006/05/08 15:26:57 <--- 1 2006/05/08 15:27:02 <--- 2 2006/05/08 15:27:07 <--- 3 2006/05/08 15:27:12 <--- 4 2006/05/08 15:27:17 <--- 5 2006/05/08 15:27:22 <--- 6 2006/05/08 15:27:27 <--- 7 2006/05/08 15:27:32 <--- 8 2006/05/08 15:27:37 <--- 9 1000000008 10 END 2006/05/08 15:27:37
- 388 名前:デフォルトの名無しさん [2006/05/08(月) 15:47:26 ]
- 副業でJavaもやりたい→C#
副業でVBAもやりたい→VB.NET って切り口はどうだ。 後者は少し嘘だけどな。
- 389 名前:>>378 訂正 VB 52秒 [2006/05/08(月) 16:04:53 ]
- EXEの実行時間、VB 52秒に対して、C# 50秒。ほとんど同じといえますね。
VC の36秒はこの2つよりかなり速いけど、J#、DELPHIは、VCより2倍以上、VB,C#より3速近く速い。 下記は、VB(EXE)をコマンドプロンプトから実行でファイルにリダイレクトしたもの。 HIT RETURN KEY! VB START 2006/05/08 15:47:02 2006/05/08 15:47:07 <--0 2006/05/08 15:47:12 <--1 2006/05/08 15:47:17 <--2 2006/05/08 15:47:23 <--3 2006/05/08 15:47:28 <--4 2006/05/08 15:47:33 <--5 2006/05/08 15:47:39 <--6 2006/05/08 15:47:44 <--7 2006/05/08 15:47:49 <--8 2006/05/08 15:47:54 <--9 10 1000000008 2006/05/08 15:47:54 END
- 390 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 17:45:10 ]
- >>386
ソースありがとう。試してみました。 最適化offでコンパイルしたところ報告のような差が出ました。 ところが最適化onでコンパイルしたところ両者の実行時間の差はなくなりました。 csc /o test.cs vjc /o test.jsl ILで見た限り非最適化ではC#のコードにnopが挿入されている以外は差が無く、 最適化後のコードにはまったく差がありませんでした。 また最適化J#と非最適化J#の実行時間長も見られませんでした。 確認は取れていませんが、C#は非最適化でコンパイルした場合ILの最適化を抑制するだけではなく JIT時の最適化も抑制していると考えられます。 それに対してJ#はJITに対する最適化の抑制をを行っていない可能性があります。
- 391 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 20:26:08 ]
- >>380
情報収集とかしないの? 俺もその書き込み見て、ググッてみたが、下記のサイトが見つかった。 ttp://www.ailight.jp/blog/myamyu/archive/2004/09/01/2595.aspx 確かに、これをみると、VB.NETは優秀だな。 同じ処理速度を得るために、確かにC#では2〜3倍程度のソースになるし。
- 392 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 20:44:10 ]
- >>391
すごいな。 ただ単に、.netのクラスライブラリをVBの関数っぽく呼ぶだけじゃなくて、 相当速度に気を使ってるみたいだね
- 393 名前:最凶VB厨房 mailto:sage [2006/05/08(月) 21:10:37 ]
- msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/benchmarknotice.asp
- 394 名前:最凶VB厨房 mailto:sage [2006/05/08(月) 21:24:13 ]
- よく見たらループの中で、
こんなんやってるやん。 ↓ s += b.ToString("x"); ↑あかんやんw 比較になってない。 s=b.〜〜にして writer.Write("{0}:{1} ",check,s);を ループ内側に移動せーよ。 これはベンチマークになってない。
|

|