- - PR -
ASP.NETの言語選択(C#とVB.NET)
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-11-20 17:12
初めましてreon.netと申します。宜しくお願い致します。
業務でこれからASP.NETを使うのですが C#とVB.NETのどちらを使うか迷っています。 2年前の雑誌で、MicroSoftがこんなことを言っていた記憶があります。 「C#はVB.NETをすべて包括し、さらにC++のパワフルさを持つ」 あとクラスライブラリもC#で書かれていると聞いたような気がします。 とにかくC#が一番お薦めみたく書かれていたのですが、 実際書店でASP.NETの参考書を見ると多くの本がVB.NETで説明しています。 結局のところVBユーザーが多いのでVB.NETが一番普及しているのでしょうか。 個人的にはC#を使いたいのですが、会社では1人で我が道を行くわけにもいきません。 現在のプロジェクトではASP.NETを使うのは私だけなので 私に選択権があるのですが、安易に決めると後々困ることになりそうで・・・。 そこで皆さんが使っている方とその理由などご意見頂ければ幸いです。 以上です。宜しくお願い致します。 |
|
投稿日時: 2002-11-20 18:39
>業務でこれからASP.NETを使うのですが
>C#とVB.NETのどちらを使うか迷っています。 使っているわけではないので無責任な意見ですが, だいたい次のような感じらしいので参考までに. ・VBとVB.NETは似て非なる言語. C言語とC++の方が基本的に上位互換なだけまだまし. ・C#はほとんどJavaと同じなだけに,それなりに使えるらしい. バグが出難い,オブジェクト指向言語であるなど,Javaの長所も それなりに受け継いでいる.特にJavaが使えるユーザーが 移行するのなら,用語の違い程度で済むので楽.ただし, 実行環境がMS製のみで,Windows環境に縛られる点が異なる. #このため,JavaユーザーにはC#を使う動機がない. #JavaユーザーのC#に対する意見などこんな感じ. #よってC#ユーザーが少なくても驚きはしない. [ メッセージ編集済み 編集者: 悪夢を統べるもの 編集日時 2002-11-20 18:50 ] |
|
投稿日時: 2002-11-20 21:04
> VBとVB.NETは似て非なる言語
VB2からVB.NETまで使っている人間の意見として、VB6とVB.NETは同じ言語です。reon.netさんに(あるいは会社の同僚に)VBを使った経験があるのなら、VB.NETを選ばない理由はありません。 > #このため,JavaユーザーにはC#を使う動機がない. C#にあってJavaにないもの。 ・バージョニング ・セキュリティポリシーの管理ツール ・まともに使える開発ツール ・Windows Forms ・ASP.NET ・unmanaged code ・unsafe code あー、あげるときりがないのでこれぐらいで止めておきます。 |
|
投稿日時: 2002-11-20 21:31
C++にあってJavaにないもの
・ポインタ ・(実装の)多重継承 ・演算子オーバーロード ・マクロ #などのはず.長い間使ってないから. C++でプログラムする際に注意すべきもの. ・メモリリーク ・ポインタバグ/Segmentation Fault ・バッファオーバーフロー ・演算子オーバーロードの乱用 ・マクロの乱用 ・多重継承の使用 など. #なんでもできるということが致命的な欠陥であるのは珍しくありません. ##なんでもできるというのなら,アセンブラが最強では? |
|
投稿日時: 2002-11-20 22:05
ん?何でもできるなんて誰も言ってませんよ?
バージョニングやセキュリティポリシーの管理は堅牢なアプリケーション開発に必要な機能だと思うだけです。 反応のよいGUIアプリケーションや作りづらいWebアプリケーションを作りやすくできる環境は迅速なアプリケーション開発に必要な機能だと思うだけです。 そこに対する反論をお願いしたいです。 |
|
投稿日時: 2002-11-21 03:21
開発者はVBとC/C++のどちらの言語に精通しているのでしょうか。もしVBであれば
素直にVB.NETを選んだらいいのではないでしょうか。 逆にC/C++での開発に精通しているのであればあれば、C#でよいと思います。 以前は動作速度や細かい部分まで制御できるなどの理由からC++を選ぶことも ありましたが、現時点ではVB.NETとC#ではそれほどの違いがあるとも思えません。 無論違いはありますが、その違いが明らかになるようなプログラムは組む機会は それほどないはずです。逆にいえばその違いが明らかにわかっているのであれば C#かVB.NETを使うかで迷うこともないはずです。 VB.NETお勧めの理由 1.VBの互換ライブラリが標準で使えるので楽 無論、C#からもVB互換ライブラリを使うことは可能ですが、プロジェクトに 参照を設定してやらないと使えないですから。 2.VBはインテリセンスが大文字小文字を問わずに動作するのに対し、C#の インテリセンスは大文字と小文字を間違うと作動しない ほかにもバックスラッシュ(または¥マーク)がC#だとエスケープ文字扱いのため VBに精通している人はそのことを意識する必要があるなどがあります。 VBとVB.NETはどう違うかということになると、色々な意見があると思いますが、 文法的には基本的には同じだけれど、オブジェクトを意識した部分での強化が 図られていると私は考えています。 従って以前のVBではクラスやオブジェクトを意識せず、べたにプログラムを 書くことが可能でしたが、そのようにしてプログラムを書いていた人にとっては 異次元の言語という印象があると思います。 逆に以前のVBでもクラスやオブジェクトを意識しながらプログラムを組み、かつ オブジェクト指向プログラミングをかじったことのある人には、ついに実現したか という感じの機能も多く違和感は比較的少ないと思います。 多少クラスライブラリで戸惑うところがあるかもしれませんが。 |
|
投稿日時: 2002-11-21 09:39
レスありがとう御座います。
みなさんのご意見、大変参考になります。 私はJavaをやったことはないのですが JavaからC#に入りやすいということは、 逆もまた然りということですね。 Javaに近いというのは個人的にすごく魅力的です。 しかし、今までASPでVBSを使っていたプロジェクトだけに VB.NETの方が好印象を与えるのは間違いなさそうです。 (何もわからない上司がVBという言葉に惹かれそう) 実際習得時間も少なくて済むでしょうし、 会社の利益(目先?)をとるとVB.NETということになりそうですね。 う〜〜ん絶妙に微妙だ。 引き続き両者の差、いい点悪い点の情報をお待ちしております。 よろしくお願いします。 |
|
投稿日時: 2002-11-21 16:57
後々のことを考えると、C#の方がいいかな、と。
VB.NETで1つ作りましたが、どうも、VB.NETでは・・・どういったらいいのかわからない・・・インテリセンスで、組み込みのメソッドなどは選ぶとその説明が出ますが、自作のDLLなどからインポートしたり、プロジェクトないであってもそういう説明を出す仕組みが無いようです。が、C#であれば、それが出せるそうです。多人数で開発するなら、必ず役に立つ機能です。 しかも、まともに試したわけではないのですが、メソッドなどの仕様がXMLではき出されます。もちろん、自動で作成/メンテされるわけではありませんが。この機能をうまく使う(WORDなどと連携させる)と、コードのメンテナンスだけで仕様書ができあがります = 仕様書を作成する他のツールを買う必要がありません。 |