質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Basic 6.0

Microsoft Visual Basic 6.0(VB6)とはCOMプログラミングのためにMicrosoftが提供したプログラミング言語とintegrated develpment enviornment(IDE)のことです。

Q&A

解決済

2回答

2566閲覧

Visual BasicとC#

ryohasegawa

総合スコア437

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Basic 6.0

Microsoft Visual Basic 6.0(VB6)とはCOMプログラミングのためにMicrosoftが提供したプログラミング言語とintegrated develpment enviornment(IDE)のことです。

0グッド

0クリップ

投稿2016/02/13 15:26

Visual BasicとC#の利点と欠点は何ですか?
現在どちらのほうが実際使われていますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2016/02/14 00:53

VB6ですか?VB.NETですか?
guest

回答2

0

ベストアンサー

C#は変数の型がきちんとしていないとエラーになりますが、
Visual Basicは変数の型があいまいでもエラーにならないところです。
これが利点でもあり、欠点でもあると思います。
つまり、Visual Basicで変数の型をあいまいにできる分、潜在的なバグが生みやすい分、
初心者でもとっかかりやすい。
C#は、変数の型をあいまいにできない分、初心者には、少し敷居が高いといった感じでしょうか。
初心者は、Visual Basicでも良いと思いますが、中級以上はC#が良いと思います。

昔、Visual Basicで書かれていたコードをC#にコンバートしていく際、
変数の型でコンパイルエラーになって苦労した覚えがあります。

投稿2016/02/13 15:42

dthani

総合スコア131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2016/02/13 15:43

せっかく勉強するならC#の方がいいですか?
dthani

2016/02/13 15:59

やる気があるなら、C#がお勧めです。 また、C#の方が本も多く、サンプルもC#で書かれていることが多いですし、C#に似たような言語が沢山ありますので、 他の言語にも移りやすいです。 Visual Basicを覚えて得することといえば、Excelなどのマクロが書けたりする ことでしょうね。但し、Excelなどのマクロは、Visual Basic 6のバージョンで文法は古いんですけどね。
ozwk

2016/02/14 02:16

VB.NETの型が曖昧ってどういうことですか?
guest

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

thom.jp

総合スコア686

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問