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

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

ただいまの
回答率

87.34%

C#でクラサバシステムを開発しようと思っていますが、VBの方が良いのでしょうか?

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 3,022

score 14

背景

現在、自分が勤務している会社ではVB.NETをメインでクラサバシステムなどを開発しています。
前任開発者が残したソースが多くあるので、共通クラスのようなものも多くあります。

しかし.NETであれば、「これからはC#ではないか」という話に今更ながらなっており、協力会社
などからC#で開発する上で必要な情報を集めているところです。

ただ、そこで根本的に認識が変わってしまうかもしれない情報を耳にしました。ある方から、

「クラサバ開発ならVB.NETが主流だと思われます。」

とお聞きしたのです。

自分は先々のことを考えると、これから新規で開発する場合はC#の方が良いと認識していました。

その理由は、

  1. 新しいサービスなどでVB.NETがサポートされなくなっている気がする
  2. マイクロソフトがC#を推している気がする

という安易で根拠のない理由ですが、世間の開発者の方々はどのようにお考えなのでしょうか。

質問

  1. これから新規でクラサバシステムを開発する場合、C#とVBどちらが良いと思いますか。
  2. クラウド化することを見据えて、これから新規でクラサバシステムを開発する場合、C#とVBどちらが良いと思いますか。
  3. 弊社がこれから新規でWebシステム開発をする場合は、C#とVBどちらが良いと思いますか。(Web系ソースはほぼ無し)

※基本的に開発・本番環境のOSはWindowsを前提でお願い致します。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Zuishin

    2019/08/15 11:55

    今までの資産が VB.NET だとすれば、これから C# に変えると、両方の言語に人材が必要になります。結果的に人数が無駄に増えたり、新人教育に時間を取られたり、一部の人に負担が集中したりするのは想像できますが、そこまでして変えるメリットがあるかどうかは不明です。過去の資産と未来の案件次第としか言えないんじゃないかと思いますが。

    キャンセル

  • SurferOnWww

    2019/08/15 12:43

    質問者さんの組織の環境・資産・過去のしがらみ、協力会社とのしがらみ等々一切考えないので良いのなら絶対 C# だと自分は思いますが、考えなくては良いはずはないので、第三者には分かりませんとしか言えないのではないですか?

    キャンセル

  • em-hashimoto

    2019/08/15 13:02

    @Zuishin
    ありがとうございます。"過去の資産、未来の案件"も視野に入れて検討しようと思います。

    @SurferOnWww
    ありがとうございます。確かに組織の課題を考慮すべきですね。

    キャンセル

回答 3

checkベストアンサー

+2

C#とVB.NETとの差異を調査することが先決だと思います。

両方とも言語仕様や更新頻度も違いますし、使用率にも差があります。
一般的には言語仕様が厳密と決められており、更新も早く行っており、使用率が高い言語の方が世の中のライブラリやサービスとの連携が組みやすいでしょう。

その点を考慮して言うとするならば、C#が良いと思います。
ただし、C#未経験の社員については学習コストがかかりますから、実際にどの言語を採用するかはよく社内で相談する必要があるでしょう。
そのためにも、両者の差異をよく調査してください。

余談ですが、品川近くにお住まいであればMicrosoftがC#のセミナーを開催しているので学習コストを軽減させる(?)という意味では有効です。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/15 13:16

    ありがとうございます。"C#とVB.NETの差異を調査することが先決"、"一般的には言語仕様が厳密と決められており、更新も早く行っており、使用率が高い言語"といった部分が大変わかりやすかったです。

    キャンセル

+2

C#が良いんじゃないですかね。
.NET関係で調べ物する時の情報量は確実に多いんで。

「クラサバ開発なら」云々というのは、そもそもクラサバ全盛期にVB6から.NETに移行してきたプログラマが文法の近いVB.NETに流れてきた、とかそういう理由だったりするんじゃないでしょうか。

そういう人材抱えてたり、過去の資産を使い回す都合があってC#を採用するコストが高いとかならVB.NETを使えば良いんでしょうけど。(これに当てはまるから悩んでるんでしょうけど)

いずれにせよ実際に作業する技術者の都合もあるだろうから、第三者的にどっちが良いとか決めれるものではないと思いますが。


追記
現場の技術者次第ではありますが、もしC#未経験者が多いんであれば、確実に学習コストはかかるし生産性は落ちると思います。
第三者的にはC#はお勧めしますが、移行する積極的な理由とそこにかけるコストが見合うかどうかは、結局のところ個々の企業の経営判断なんで、「安易で根拠のない理由」とやらで決めるのは経営的に正しいとは思えません。
協力会社と共同で開発を行っていたり、外注先の人員確保の都合や費用の問題もあるでしょうから、C#に移行するならそれなりに(数字的な)根拠を持って判断すべきでしょうね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/15 13:08

    ありがとうございます。情報量が多いのはC#ということ、学習コストも視野にいれること、組織の課題も考慮することを踏まえて検討しようと思います。

    キャンセル

0

解決済みですが、言語そのものとしてはC#の方が良いのは間違いないと思います
とはいえ質問を見るに社内にC#の経験者は少ないように思えますので、C#で作り直しってのはやめた方が良いかと思います、やるなら数年後にしてそれまでの間に社内のメンバーにC#で色々作業してもらっておいて慣れてからって形になるかと思います

  • ちょっとしたツールが必要となった際に今ならおそらくはVBで作ることになるのでしょうけど、それをあえてC#で作るようにする
  • 既存のソリューションに機能追加する場合、新しくプロジェクトを新規で追加する場合にはC#にする

などで徐々に慣れてVBと同じかそれ以上にC#が使えるようになってから手を出すようにすればいいかと思います
ネットで検索しても10年ほど前からVBよりもC#の方が情報が多くなっているよう(体感なので個人差はありますが今ではC#の方が多いはずです)なので何かしら詰まった際に調べるとか、新入社員が勉強するとすればVBよりはC#の方が捗るかと思いますので

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/16 09:45

    ありがとうございます。段階的にC#へ移行していこうと思います。

    キャンセル

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

  • ただいまの回答率 87.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • C#に関する質問
  • C#でクラサバシステムを開発しようと思っていますが、VBの方が良いのでしょうか?