shuichiの日記: VB, or not VB, that is the question. 9
日記 by
shuichi
とあるCOBOLで書かれてたプログラムをWindows上で動くようにリプレースする事となった。
大量のデータ入力がある為、操作性を考えるとブラウザ上で動くものではなく、
クライアントサーバ形式のアプリケーションが望ましい。
そこで開発言語を選択しないといけないのだが、一度稼動し始めると、
おいそれとはリプレースできないので、あと10年は戦えない(メンテナンスし続けられない)といけない。
また、開発効率が高く、短期間で開発ができないといけない。
そういう事情で、.NET Framework で作成しようと考えている。
私としては、下記の理由から C# を押している。
・Windows上で標準的な言語である。
・VB.NETよりC#の方が将来性がありそう(標準化されてたり等)
・変更する場合にも技術者を確保しやすいと思われる
・個人的に、VB.NETは好みではない。
だが、ある人は下記の理由から、VB.NETを支持している。
・社内の他システムで導入実績がある。
・VBはこれまで長く使われており、今後も使われると思われる。
・部署内でのC#の実績がない
作るのたぶん私なんだが、
さてどうするかな・・・
自分だったらどっちでもいいなー (スコア:1)
作るのがshuichiさんで、VB.NETが好みではないという点だけが、判断材料として大きいですね。サポートに関しては懸念材料としては無視してよいと思います。Microsoft が何度も言っているので。
VB.NET はほとんど C# と一対一に予約語が対応しているので(同じCLIに対応しているのであってC#に対応しているわけではないのが実際ですが)、予約語をインテリセンスに任せて入力している分には苦労なく開発できて、チャンポンの現場でも自分はそれほど苦労しませんでした。
LIVE-GON(リベゴン)
Re:自分だったらどっちでもいいなー (スコア:1)
追記。
これに関してはC#の方がダントツなので、自分だけだったらどっちでもいいけど、今後のことを考えたら開発者の数でC#かなーと思いました。
LIVE-GON(リベゴン)
その後、 (スコア:1)
ある人曰く、
「Windowsが無くなるかもしれないからJavaアプリケーション」
あり得ない、、、
ちなみにこの件は、ある人に決定権があります
Re:その後、 (スコア:2)
…「Windowsが無くなるかもしれないからJavaアプリケーション」…
10年前(.NET 1.1な時代)なら、ありなんですけどねー。今ぢゃ、元々Javaでなきゃ、ふつー .NET 3.5以降なC♯又はVBかと。なをVBな場合でも将来のC♯へ移行容易をこっそり図るには、直接関節を問わずMicrosoft.VisualBasic∗な名前空間に極力依存しないことがお奨め。
Re:その後、 (スコア:1)
うわあ。それはさすがに中途半端な知識によるアレな……。正論より、なにかうまい搦め手が見つかることを祈ります。
LIVE-GON(リベゴン)
まずは理論武装 (スコア:0)
社内の他システムでVB.NETつかった担当者にヒアリングしてみるとか
# 絶賛されたりして
Re: (スコア:0)
導入実績とはVB6のことで、実はVB.NETも初めてだったという衝撃のオチかも。
Re: (スコア:0)
これ思い出した
マイクロソフト関係者へVB6からVB2008 への移行に関して [microsoft.com]私のところでは (スコア:0)
1990年代末から2000年代初めにVB6が入ってきましたが、汎用機がカバーする分野(COBOL)の置き換えには使えませんでした。
その後、2000年代半ばからC#が出てきて、汎用機がカバーする分野も置き換えることが出来ました。もちろん、それ以外の分野でも使えます。
機能、環境がそろっており使いやすいです。
.NET 1.1 → .NET 3.5 .NET 4という感じで、.NETのベースも変わってきていますが、移行もしやすいです。
あなたと同じ理由でC#をお勧めします。
言葉は悪いですが、VB.NETはゲテモノです。どうしてもVBというところ以外では使うメリットはありません。
またVB6までのVBとVB.NETはほとんど別物です。
延長上に作られたものではなく、別に作られたものです。
Microsoftの方針、情報・サービス提供もC#優先、中心としたものとなっています。
それと
他の方の次の発言は気になりますと言うか、これはないです。何か勘違い、誤解されています。
今までVB6を使われていた方が、趣味としてのプログラムでVB.NETを勉強して使っていくのはあるかもしれません。
しかし先細りです。これからの人、新しい人はC#からでしょうし、企業ベースではC#となるでしょう。
> ・VBはこれまで長く使われており、今後も使われると思われる。
その他、一般的にはGrapecityやAdvance等のサードベンダーツールは使わない方がいいでしょう。
.NETのバージョンが変わった時の動作の違いや非互換が多いです。確認・検証が大変です。
サードベンダーツール使わずWindows Workflow Foundation(WF)等、Microsoftのツールやライブラリーで賄うことをお勧めします。