Visual BasicとC#の利点と欠点は何ですか?
現在どちらのほうが実際使われていますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
C#は変数の型がきちんとしていないとエラーになりますが、
Visual Basicは変数の型があいまいでもエラーにならないところです。
これが利点でもあり、欠点でもあると思います。
つまり、Visual Basicで変数の型をあいまいにできる分、潜在的なバグが生みやすい分、
初心者でもとっかかりやすい。
C#は、変数の型をあいまいにできない分、初心者には、少し敷居が高いといった感じでしょうか。
初心者は、Visual Basicでも良いと思いますが、中級以上はC#が良いと思います。
昔、Visual Basicで書かれていたコードをC#にコンバートしていく際、
変数の型でコンパイルエラーになって苦労した覚えがあります。
投稿2016/02/13 15:42
総合スコア131
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/13 15:43
2016/02/13 15:59
2016/02/14 02:16
2016/02/14 02:28
0
利点・欠点は好みによってとらえ方が違うので特徴として説明します。
Visual Basicは基本的には大文字と小文字を区別しません。変数aと変数Aは同じものです。
C#は基本的には大文字と小文字は別のものです。変数aと変数Aは異なります。
また、VBはブロック構造が文章のように読めます。
lang
1If a = 1 Then 2 Console.WriteLine("テスト") 3End If
対してC#は波かっこでブロック構造を作ります。記号が多いです。
lang
1if(a == 1) { 2 Console.WriteLine("テスト"); 3}
C#では命令の終わりにセミコロンが必要です。
VBでは改行までを一つの命令と見なすのに対し、C#ではセミコロンを区切りと見なすからです。
C#では改行は無視されるので、自由に改行できます。最後にセミコロンさえつければ。
VBでは改行位置に制約があります。
Console.
WriteLine
とは書けますが、
Con
Sole.
Write
Lineとは書けません。
C#ではこれが可能です。
セミコロンを煩わしいと感じるか、自由に改行できて良いとするかは好みの問題です。
※変なキーボードを使ってると{が変な場所にあったりしてC#のコーディングが辛いです。
VBとC#に、できることの差は無いです。
必要なら、VBで作ったライブラリをC#で呼び出したり、その逆も可能です。
あとは好みの問題かと。
さて、次にどちらが使われているかですが、これはC#が優勢だと思います。
VBはもともとBASICという初心者用の言語の文法を引き継いでいますから、アマチュア出身の方も多く、サンプルコードが汚いと言われてました。そういう経緯からプロの中にはVBを嫌う方も多いです。
言語自体は高度になってますので、綺麗に書けるかどうかは本人次第ですが。
逆に初心者向けの解説記事や書籍が充実していますので、とっかかりは易しいと思います。
C#はMicrosoftの主力言語です。C、C++、Javaなどのもともとプロの開発者が使う言語のスタイルを受け継いでいるので、開発者には受けが良いです。実際VB6.0とC++では難易度に相当の開きがありました。
現在はVB.NETとC#は書き方の違いを除いて殆ど同じ言語であるといえますが、それでもBasicの呪縛はなかなか。。
Microsoftも本気はC#で、VB.NETは過去のVB6.0からの移行者のために残しているだけという印象を受けます。(実際はどうか知りませんが)
書店でいくつか書籍を比べてみて、目的に合ったC#本があればC#をお勧めしますし、なければVBを当たってみると良いでしょう。
投稿2016/02/14 00:36
総合スコア686
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。