私はこれを考慮していません-私はC#とVBに慣れていますが、どちらの専門家でもありません. しかし、私のチームの何人かは、標準として C# に移行しているため、これを行う意向を表明しています。
12 に答える
地獄の番号です。絶対に時間の無駄です。
C# よりも VB (または VB よりも C#) を使用するのは、言語が他の言語では利用できない機能を有効にしている場合のみです。
たとえば、COM 相互運用オブジェクトへのレイト バインド呼び出しの作成は、C# よりも VB の方がはるかに簡単です (ただし、これは C# 4.0 で変更される予定です)。
そうは言っても、私はあなたのチームが使用している言語、またはあなたが好む言語に固執します (それがオプションである場合)。
災害のレシピ、または実際の利益のない無数のWTF-瞬間のように聞こえます.
.net アセンブリは言語に関係なく互換性があるため (とにかく最後はすべて IL です)、それによるメリットはありません。
私は C# に慣れるでしょう。それほど長くはかからないはずです。VB で記述してから変換するのは時間の無駄です。
さらに、言語に慣れていない場合、C# コードを読む必要がある場合はどうなりますか?
私はこれをしません。私はC#を使い始めます。
ある言語から別の言語に移行するよりも、プログラマーの意図からいずれかの言語のソースに移行する方が簡単です。
使用する予定の言語を使用する必要があります。
言及されていない他の考慮事項があります。特に、自動化されたソフトウェアを使用して VB コードを C# に変換している場合、変換に関する問題が数多く発生することが予想されます。VB.NET と C# は、あなたが思っているよりもはるかに離れています。ある言語から別の言語に変換すると、スケジュールに大量の作業が発生し、予期しない方法でコードの一部を書き直す可能性があります。
やった人から取ってください。
既存のコードを C# に移植する本当にやむを得ない理由がない場合は、既存のコードをその言語のままにして、新しいコードを C# で単純に作成する方がはるかに費用対効果が高くなる可能性があります。また、開発者が新しい言語への変更に完全に満足していない場合、一部の開発者が感じる不快感に対処する必要がある場合があります。私たちがそれに同意するかどうかにかかわらず、一部の従業員はそれについて非常に強く感じて退職する可能性があり、それはあなたが彼らを交代させなければならないときにかなりの費用がかかります.
ちょうど私の2セント。
私はそのアプローチに反対します。
標準として C# に移行することが目的である場合、C# の使用を開始するのを待つ必要はありません。また、変換がまったく起こらないことを想像するのはあまりにも簡単だと思います. 重要な時期になると、変換と機能の追加/修正のどちらを選択するかを選択する場合、変換が最初に行われる可能性があります。
それは人の問題であるという意味で。そもそもなぜ C# に移行したのでしょうか。それが標準であることに誰もが参加していると確信していますか?
VB の大ファンとして、これは本質的に非常に悪い考えだと思います。C# を使用している場合は、C# で記述します。
実際、.NET では、複数のアセンブリに分割されている限り、1 つのプロジェクトで複数の言語を簡単に混在させることができます。アプリオリに、この慣行に反対するものは何もありません。ただし、プロジェクトで1 つの言語が標準として確立されるとすぐに、すべての開発者はそれに固執する必要があります。
自動でエラーのない変換ツール (私が認識している) が存在しないため、変換は時間とお金の無駄であり、常に手動による後処理が必要になります。これは受け入れられるべきではありません。さらに、VB を知っている場合に C# を学習することは非常に簡単であり、コード変換のコストを相殺する障壁を作成するべきではありません。
私はそれをお勧めしません。それは仕事の私見を2倍にするだけです。
2 つの異なるアプリケーションが相互に通信する必要がある場合は、データの転送に Web サービスまたはオープン フォーマット (XML) を使用することをお勧めします。そうすれば、VB アプリと C# アプリの両方を保持できます。
私は C# の方が好きですが、大部分の開発者が VB.NET の人なら、なぜ C# に移行するのですか? それは学習曲線であり、生産性は向上しません。また、大多数が VB.NET のユーザーであると想定しています。うまくいかない場合は、大きな PR の悪夢を抱えていることになります。
私たちのアプローチは、VB.NET の担当者が VB.NET で開発し、C# の担当者が C# で開発するというものです。幸運にも、IL レベルで問題なく対話できる明確に定義されたモジュールを使用できます。
いいえ、いいえ!いやだっていうだけだよ。
私の上司は、ある時点で、多くのエンジニア (注意.. プログラマーではなく構造エンジニア) が VB6 を知っていて VB に慣れていたため、C# を標準として使用したいと提案しました。
私はすぐに彼を着飾って彼に何らかの感覚を吹き込みたいと思いましたが、私は自分を抑えて落ち着いて彼と選択肢について話し合った. 私は最終的に彼に、.NET は .NET ですが、VB.NET と VB6 のスライスを組み合わせた VB.NET は、ユーザーが「コーディングの容易さ」のために確実に絞り込むものであり、C#.NET と同じではないことを納得させることができました。
少なくとも私たちにとっては、ある .NET 言語から別の .NET 言語に変換するコーディング曲線ではなく、C# の学習曲線が時間の価値があるほどの違いがあります。