- ベストアンサー
C#.NETでできること?
こんにちは。仕事でPGをはじめて9ヶ月目のかけだしです。今度C#.NETでPGをすることになり、勉強をしているのですが、画面も使い方もVB.NETと同じです。C#.NETでしかできないことって(メリット)ってなんなのでしょうか(??)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No1・2でおっしゃっているように機能上の違いはほとんどありません。 ではなぜ VB.NET とC#.NET があるのかというと、それまでずっとVBでプログラミングをしていた技術者と、Javaでプログラミングをしていた技術者の双方をターゲットにするためです。 質問者様の環境で言えば、C#.NETで開発する利点は、C#を使ってほしいというお客様の要望をかなえられることでしょう。 それとVBよりC#のほうがすっきりした文法ですので、いうなれば「今風の」プログラムになることです。
その他の回答 (2)
- Bonjin
- ベストアンサー率43% (418/971)
#1の方が書かれていますが、言語仕様レベルで違いはあってもVB.NETで作ってもC#で作っても基本的に同じ機能のものができあがります。この辺りは.NET Frameworkについて調べてみればわかるでしょう。
補足
ありがとうございます。しかし、ちょっと聞いたのですが、画面側はVB.NETでハンディというバーコードを読む機械側はC#らしいです。この辺はなにか性質が違うのではないのでしょうか(??)
- anmochi
- ベストアンサー率65% (1332/2045)
本当はあるんだけど、建前上あっちゃ困るよね? Write Any Language, Run on Windows(どんな言語で書いても、Windows上で動く)というのが.Net Frameworkのそもそもの目的だ。.NET Frameworkの言語は、C++、C#、VB.NET、J#はご存知だと思うが、この他にもPerl.NET、COBOL.NET、Python.NETなどの言語を追加する事が理論上可能で、実際にいくつか出ている。 つまり、得意な言語で同じプログラムが書けるよというのが建前なので、C#とVB.NETは同機能でないといけない。 まぁ、あえて挙げるとすればルート名前空間の定義がその一つだ。 VB.NETは基本的にプロジェクト単位でアセンブリを作成する事が多いだろう。この際、VB.NETではプロジェクト名がアセンブリ名になる。例えば、MyProjectというプロジェクトを作成してその中にMyNameSpace名前空間を定義し、MyClassクラスを作成したとしよう。すると、他のプロジェクトからはMyProject.MyNameSpace名前空間のMyClassクラスになる。C#ではこれは起こらない。アセンブリは全てルート名前空間から開始になる。 後、むか~し(まだFrameworkが0.9だった頃)、C#の方が速いと言われていたが、まぁそれはねぇ、あったとしてもせいぜい1.01倍くらいの速度しか無いと思うけどね。
お礼
ありがとうございます。なるほどあんまり変わらないのですね。
お礼
ありがとうございます。たしかにすっきりしていて、詳しい人とかはVBよりC#の方がいいって言ってました。