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

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

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

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

C#

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

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

3回答

3769閲覧

C#勉強に当たって

ranran

総合スコア85

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

C#

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

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2015/03/01 09:35

お世話になります。

vbプログラマでありますが、C#も使用できるように勉強したいと思っています。
そこで学習するに当たり、vbとC#の違いで押さえておいたほうがいいこと等ありましたらご助言ください。

よろしくお願いいたします。

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

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

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

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

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

guest

回答3

0

個人的には、VB.NET の方にはVB6ユーザ向けの互換機能が豊富に含まれていて、C# の方はほとんんどない、という点が一番大きな違いに感じられました。

この違いは、VB.NET にはある何かを、C#でどうやるんだろう? という疑問が湧いた時に調べにくい(存在しない機能を調べるのは難しい)という問題になります。

DOBON.NET というサイトの記事が、そういうVB.NET とC# の違いについて詳しく解説される傾向があり、自分はこのサイトに助けられました。

投稿2015/03/02 00:15

lichten

総合スコア133

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

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

ranran

2015/03/02 06:47

回答ありがとうございます。 私自身、vb6に触れたことがないので互換機能はわからないですが そのような違いもあるのですね。 vb6プログラマの方にも受け入れやすいよう、移行しやすいよう互換機能が豊富なのかなと感じました! DOBON.NET サイト名までは意識したことがありませんでしたが、私も何度もお世話になっています♪ 内容も豊富で、説明もわかり易く助かっています(^^)
guest

0

ベストアンサー

同じようにVB.NETからC#に移行した人間です。
bigfatratさんも言ってますが、言語自体は相当思想が似てるので、覚えるのは大変じゃ無いと思います。

私が感じた違いと言えば、VB.NETは相当「おおらか」な言語です。
変数の宣言や、変数の型、スコープについてものすごくおおらかなので、C#に移行する時にはそこがものすごく手間に感じると思います。

特にVB.NETで普通にプログラムされるレベルになってると変数の型については相当悩まされるんじゃ無いかと思います。
わかりやすく言えば「この命令(関数・メソッド)での入力はstringなのでintは直接渡せないからキャスト(型変換)する」って奴ですね。
VB.NETでは相当なレベルでキャストを自動でやってくれます。
これがやりやすくも有り、誤解を承知で言えば「雑な」プログラマを量産する原因になってると思いますw

結局VB.NETだけで完結するならそのままで良いと思います。

ですが、結局他の言語のライブラリを利用したり、VB.NETでは速度が出ないとか、ライブラリがC++でしか扱えないからとかなったときに苦労する事になるのでは無いでしょうか?

勝手にVB.NETだと思ってましたが、VB6だったとするなら、この際、C#に移行するべきでしょうね。

私は1日2日、その都度、VBではこう書くのをC#ではどうやるのか?を調べてたら後はそのまま想像がつくようになってましたよ。

投稿2015/03/01 12:51

landy77

総合スコア1614

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

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

ranran

2015/03/02 06:35

回答ありがとうございます! > VB.netでは相当なレベルでキャストを自動でやってくれます。 その事実に驚きです String型を仮引数にもつ関数にint型を引数で普通に呼び出せました(^^; 今後とも型には注意したいと思います。 今触れているプロジェクトにおいてC#に触れる機会が多々あるのでこの機会にコーディングできるようになろうと思います! ありがとうございました!
guest

0

VBとC#で実現可能な事はほとんど同じ、って言う所くらいでしょうか。
記述方法はかなり異なるのですが、覚えてしまえばC#の方がコーディングしやすいと言う人が多いです。

投稿2015/03/01 10:30

bigfatrat

総合スコア187

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

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

ranran

2015/03/02 06:20

回答ありがとうございます。 VBとC#、記述の仕方が違うだけでかなり近しいものを感じました C#を使えた方がいいと周りから言われるのでこの機会に学習しようと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問