Question d'entretien sur les similitudes/différences C# et VB.net [fermé]

StackOverflow https://stackoverflow.com/questions/14775

  •  08-06-2019
  •  | 
  •  

Question

Je suis développeur VB.net depuis quelques années maintenant mais je postule actuellement auprès de quelques entreprises qui utilisent C#.On m'a même dit qu'au moins une des sociétés ne voulait pas de développeurs VB.net.

J'ai cherché en ligne pour essayer de trouver de réelles différences entre les deux et j'ai posé des questions sur crackoverflow.Les seules différences majeures sont quelques différences de syntaxe qui me paraissent insignifiantes car je suis également développeur Java.

Quelle serait une bonne réponse à un intervieweur lorsqu'il me dit qu'il recherche un développeur C# - ou des questions similaires ?

Était-ce utile?

La solution

J'ai dû interviewer des personnes pour quelques postes C# et voici mon conseil général pour les développeurs VB.Net qui passent un entretien pour un poste C# :

  • Assurez-vous de préciser que vous avez travaillé sur VB.Net.Cela semble évident, mais ce n'est apparemment pas le cas (d'après mon expérience).
  • Essayez de donner un exemple de code, si possible.J'ai vu d'horribles VB.Net (et C#) écrits par des programmeurs VB qui ne semblaient pas apprendre grand-chose lors de la transition vers .Net.
  • Être capable d'écrire en C# pendant l'entretien, si on le demande.Je sais qu'il n'y a pas beaucoup de différences réelles entre les deux, mais je ne veux pas vous payer pour apprendre la nouvelle syntaxe.

Pour votre question spécifique :J'ai déjà posé ce type de question et ce que je voulais entendre, c'était en quoi le système et le cadre sous-jacents étaient les mêmes.Si possible, parlez du garbage collection, d'IDisposable, des finaliseurs, des dangers des blocs de code dangereux, de la pile par rapport au tas, etc.Tout le genre de choses pour montrer que vous comprenez vraiment les subtilités du framework .Net.À tort ou à raison, l'héritage de VB entraîne un manque de compréhension de la programmation de niveau inférieur et de Windows en général (ce que, ironiquement, un développeur C++ aurait d'un développeur C#...et ainsi de suite).

Enfin, la façon dont vous cadrez votre expérience peut faire toute la différence.Si vous vous positionnez en tant que développeur .Net, plutôt que VB.Net ou C#, les plaisanteries stupides et pseudo-religieuses pourraient ne pas entrer dans la conversation.Cela nécessite bien sûr que vous connaissiez réellement VB.Net et C# au moment de l'entretien, mais c'est quand même une bonne politique.

La vérité est que si vous constatez que la personne qui vous interviewe vous radie simplement parce que vous avez déjà développé dans VB.Net, ce ne sera probablement pas un endroit où vous voudrez travailler de toute façon.

Autres conseils

Quelques différences (plus substantielles que syntaxiques) qui me surprennent parfois :

  • VB.NET n'a pas de délégués anonymes
  • Les blocs de code dangereux ne sont pas dans VB.NET

J'aime C# à mort, mais j'envie les paramètres facultatifs de VB.NET.La bureautique en C# est tellement très pénible.

Je pense que la vérité éclatera sur ce point :

Je suis développeur de logiciels, la syntaxe du langage est la dernière partie du puzzle.En m'employant, vous recrutez une personne possédant une expérience démontrable en matière de résolution de problèmes et de logique.J'ai de l'expérience avec l'environnement .NET, le CLR et la pile Windows associée, notamment SQL et Windows Server.Je ne connais pas la syntaxe C#, mais, étant habitué aux approches orientées objet, je n'aurai aucun problème à me familiariser totalement avec les subtilités de la syntaxe d'ici quelques semaines.Vous pouvez voir sur ces exemples de mon code que je suis un développeur expérimenté, je vous assure que la transition se fera en douceur.J'ai déjà commencé à apprendre la langue, je n'ai eu aucun problème jusqu'à présent.

@DAC - VB (dans .net3.5) prend désormais en charge les lambdas :

Function(x) x.ToString()

Dans une interview, je dirais que comprendre le CLR et ce que fait réellement le code est ce qui est important, et que vous êtes heureux de coder dans l'un ou l'autre (en supposant que vous l'êtes).

Je suis également un passionné de C#, mais les différences ne sont pas seulement syntaxiques.Il y a des endroits où VB gagne HAUTEMENT

  1. Paramètres facultatifs
  2. Reliure tardive

Travailler avec COM à partir de C# peut être une affaire très frustrante.(Ce qui ne veut pas dire impossible !)

Honnêtement ?Si vous êtes également un développeur Java, je commencerais par cela.Un développeur Java ayant une certaine expérience en .NET fera généralement une meilleure impression qu'un développeur VB ayant une expérience en Java.Si vous pouvez répondre aux questions sur la différence entre .NET et Java, vous devriez être en bonne forme.

Je vous recommande également d'apprendre la syntaxe C# dès que possible.Si vous êtes expérimenté avec VB et Java, cela ne prendra pas longtemps.

De nombreux développeurs ont des problèmes avec VB et les personnes qui l'utilisent.Valide ou non, vous devrez faire face à cette réalité.

VB ou C# ont tous deux une syntaxe différente, mais si vous appliquez la logique, c'est la même chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top