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

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

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

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

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

3回答

6149閲覧

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

em-hashimoto

総合スコア14

C#

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

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/08/15 02:31

背景

現在、自分が勤務している会社では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を前提でお願い致します。

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

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

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

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

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

Zuishin

2019/08/15 02:55

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

退会済みユーザー

2019/08/15 03:43

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

2019/08/15 04:02

@Zuishin ありがとうございます。"過去の資産、未来の案件"も視野に入れて検討しようと思います。 @SurferOnWww ありがとうございます。確かに組織の課題を考慮すべきですね。
guest

回答3

0

ベストアンサー

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

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

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

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

投稿2019/08/15 02:54

編集2019/08/15 02:59
BluOxy

総合スコア2663

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

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

em-hashimoto

2019/08/15 04:16

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

0

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

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

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

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


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

投稿2019/08/15 02:44

編集2019/08/15 02:55
gentaro

総合スコア8949

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

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

em-hashimoto

2019/08/15 04:08

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

0

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

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

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

投稿2019/08/15 10:33

len_souko

総合スコア1348

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

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

em-hashimoto

2019/08/16 00:45

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問