- PR -

あなたはVB2005派?、C#派?

投稿者投稿内容
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2007-10-10 23:50
VS2003ではコードコメントWebレポートがC#でしか使えないという差異がありましたが、
2005になってそれもなくなりましたし、やれることは確かに殆ど一緒ですよね。

どっちが好きかと言われればどっちもそれなりに好きです。

言語としての完成度はC#の方が高いと感じます。
ホビープログラマでなく、プロとして1から学ぶならC#の方がオススメです。

VBはデフォルトでOption Strict OFFになってたり、
Microsoft.VisualBasic名前空間がImportされてたり、
コンストラクタに()を付けなくてもコンパイルを通ったりと、
良くも悪くも「VBらしさ」が残っているのですが、
「悪くも」の方を意識して避けられるようになると、
同じ機能のモノを少し短い時間で作れたりします。
#この点に関しては慣れの部分が大きいですが…

多分、最大のポイントは既存のソースをばっさり切り捨てるか、
多少なりとも活かしたいかじゃないですか?

自動的にまるっと全部移行ってのは経験上無理と思いますが、
ソースコードを部分的にコピペする程度なら構文規則が同じVBの方が良いでしょう。
kiyokura
ベテラン
会議室デビュー日: 2007/08/08
投稿数: 69
お住まい・勤務地: 岡山
投稿日時: 2007-10-11 00:36
他の方の返答にもあるように、VS2005であればVB.NETとC#とで出切る事に差はほとんど無いと思いますから、実現できる機能の優劣を判断基準にはし辛いのではと思います。
(結局成果物として実現できることは、ほぼクラスライブラリに依存する事になり、それらは共通です)
また、最近はMSDNのサンプルコードもVB.NETとC#で量に差はあまり無いように思えますし、そもそもどちらで書かれていても、読み替えるのは大した問題にならない気がします。


私の感覚的には、C#のほうがスマートな書き方が出来る場合が多いようにも思いますが、VB.NETはMyとかMicrosoft.VisualBasic名前空間のような、VB6.0な人向けのシンタックスシュガー(と言っていいかどうかは解りませんが……)も用意されていて、ひょっとしたらVB6以前がバリバリだった人にとっては、よりスマートに感じるかもしれません。


また別の視点として、VB.NETはVBとは言ってもやはり色々な部分で.Net Frameworkの作法(?)に従うため、元々VBを使っていた人間からすると「なんでこんな書きかたせなあかんの?」的な部分が出てくると、なまじVBっぽいだけに余計に違和感を感じるかもしれません。そういう方ならまるっきり違うC#の方が、最初から『まったく違うもの』として入れる分、余計な苦労を負わなくてよいかも、という気もします。


回答になっていない気がしますが、可能であれば、せっかくExpress版という無料環境もあるのですから、まずは双方をメンバに使ってもらってみて評価する、というのはどうでしょうか。

ひろ
会議室デビュー日: 2007/09/19
投稿数: 9
投稿日時: 2007-10-11 16:50
#個人的にはC#が好きですが

他の方も回答されているように、ツールの違いについては大差ないと思います。
スレ主さんが1人で移行作業をされるのであれば、もう、好みでいいんじゃないですかね。
1人でなく、チームで行うのであれば、チームのスキルが重要ですので、それに合わせて選択されればいいと思います。

私は経験がないので判りませんが、VB6のソースを.NETに置き換える作業を行う場合、やっぱりVB.NETの方がわかりやすいのでしょうかね?

#VBとVB.NETは「似て非なるもの」というイメージがあるので。

常連さん
会議室デビュー日: 2004/10/27
投稿数: 21
投稿日時: 2007-10-15 15:56
ここ4年は.NET案件ばっかりやってきました。
その中でVBもあればC#もあり、案件ごとにすでに決まってしまっていたので
その時その時で必要な言語を使って開発をしてきました。
なのでVBもC#もそれなりに使ってきましたが、私の好みとしてはC#の方が断然好きです。
C言語からプログラミングを勉強していたので、文法的になれていたって言うのが
一番の理由ですね。
あとC#の方が同じことをやるにしてもVBより記述が楽になるのが好きです。
VB.NETはC#に比べて無駄なキーワードが多すぎます。
わかり易いといえばわかり易いのかもしれませんけど、C上がりでかつせっかちな私には
「Dim hoge As Integer」の記述すらうっとしく感じます。
デフォルトパラメータが無いからExcelとかと連携するときは不便ですけどね。

前まではVB.NETの案件が多かったですが、最近は少しずつC#の案件も増えてきている
ようでエンジニアも少しずつではありますが増えてきてるんでしょうね。
でもやっぱり今のところはVB.NETのエンジニアのほうが多いのかな?
.NET経験者という前提で人を集めるならまだVB.NETの方が楽かもしれませんね。
ハニワ祭り
大ベテラン
会議室デビュー日: 2005/11/15
投稿数: 115
投稿日時: 2007-10-20 10:32
私はVB派ですが、言語の好みより、
アプリケーションの形態と開発者の資質で選択するのがよいと思います。

基本的には、
WinForm → VB.NET(VB6経験者)
ASP.net → C#.NET(JAVA経験者)

いままでの経験則ですが、
@Web開発に慣れているプログラマーはJAVAをメインで使っていた人間が多く
 C#の方が違和感が少なく、生産性が高いです。
 逆にWeb開発しか経験のないJAVAプログラマーがWinFormの開発を行うと
 イベント周りの癖がわかっていないため、イベント系のバグが多く発生します。
AWinFormに慣れているプログラマーはVB6をメインで使っていた人間が多く
 VB.netの方が違和感が少なく、生産性が高いです。
 逆にWinForm(VB)開発しか経験のないプログラマーがWebの開発を行うと
 セッション、コネクションまわりを理解していなかったり、
 安易にクラス変数を使用してしまったりする傾向があります。



[ メッセージ編集済み 編集者: ハニワ祭り 編集日時 2007-10-20 10:35 ]
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2007-10-20 20:39
私の場合、VBをほとんどやったことが無く、VCとJava経験があることからC#の方がなじみます。
でも結局のところ、
 ・.NET Frameworkを覚える。使いこなす
 ・VS.NETに慣れる。使いこなす
がポイントになるように思います。

スキルアップ/キャリアアップ(JOB@IT)