私は数年前から VB.net 開発者をしていますが、現在 C# を使用するいくつかの企業に応募しています。少なくとも 1 社は VB.net 開発者を望んでいないとさえ言われました。
私は2つの間の本当の違いを見つけようとしてオンラインで探していて、crackoverflowで尋ねました. 唯一の大きな違いは、私も Java 開発者であるため、些細な構文の違いです。
インタビュアーが C# 開発者を探していると言ったとき、または同様の質問に対して、どのように答えるとよいでしょうか?
私はいくつかの C# の職について人々にインタビューしなければなりませんでした。これは、C# の職について面接を受ける VB.Net 開発者に対する私の一般的なアドバイスです。
あなたの特定の質問について: 私は以前にそのタイプの質問をしたことがあります. 可能であれば、ガベージ コレクション、IDisposable、ファイナライザー、安全でないコード ブロックの危険性、スタックとヒープなどについて話してください。.Net フレームワークの複雑さを本当に理解していることを示すためのすべての種類のものです。善悪を問わず、VB の遺産は、低レベルのプログラミングと一般的なウィンドウの理解の欠如の期待をもたらします (皮肉なことに、c++ 開発者は ac# 開発者を理解しています... など)。
最後に、経験をどのように構成するかによって、世界が大きく変わります。自分を VB.Net や C# ではなく .Net 開発者として位置付けている場合、愚かで疑似宗教的な冗談は会話に入らないかもしれません。これにはもちろん、インタビューの時点で VB.Net と C# の両方を実際に知っている必要がありますが、それは良い方針です。
実のところ、以前に VB.Net で開発を行っていたという理由だけで、面接担当者があなたのことを否定した場合、いずれにせよ、VB.Net で働きたいとは思わないでしょう。
時々私を適切に捕まえるいくつかの違い(構文よりも実質的なもの):
私は C# が大好きですが、VB.NET のオプションのパラメーターがうらやましいです。C# でのオフィスの自動化は非常に苦痛です。
私も死ぬほど C# 好きですが、違いは構文だけではありません。VB が HANDS ダウンを獲得する場所があります。
C# から COM を操作するのは、非常にイライラする作業です。(不可能とは言いません!)
私はこれについて真実が明らかになると思います:
私はソフトウェア開発者です。言語の構文はパズルの最後の部分です。私を採用することで、問題解決とロジックの実証済みの経験を持つ人を獲得できます。私は、.NET 環境、CLR、および関連する Windows スタック (SQL と Windows サーバーを含む) の経験があります。私は C# の構文を知りませんが、オブジェクト指向のアプローチには慣れているので、数週間以内に構文のより細かい点を完全に理解できるようになるのに問題はありません。これらのコードの例から、私が経験豊富な開発者であることがわかります。移行がシームレスになることを保証します。私はすでに言語の学習を開始しており、これまでのところ問題はありません。
@DAC - VB は (.net3.5 で) ラムダをサポートするようになりました:
Function(x) x.ToString()
あるインタビューで、CLR とそのコードが実際に何をしているのかを理解することが重要であり、どちらでも喜んでコード化できると私は言います (そうであると仮定して)。
正直に?あなたも Java 開発者なら、私はそれを先導します。一般に、.NET の経験がある Java 開発者は、Java の経験がある VB 開発者よりも良い印象を与えます。.NET と Java の違いに関する質問に答えることができれば、あなたは良い状態にあるはずです。
また、C# の構文をできるだけ早く学習することをお勧めします。VB と Java の経験があれば、それほど時間はかかりません。
多くの開発者は、VB とそれを使用する人々に問題を抱えています。有効かどうかにかかわらず、その現実に対処する必要があります。
VB または C# はどちらも構文のみが異なりますが、ロジックを適用する場合は同じです。