Pregunta de la entrevista sobre similitudes/diferencias de C# y VB.net [cerrado]

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

  •  08-06-2019
  •  | 
  •  

Pregunta

He sido desarrollador de VB.net durante algunos años, pero actualmente estoy postulando a algunas empresas que usan C#.Incluso me han dicho que al menos una de las empresas no quiere desarrolladores de VB.net.

He estado buscando en línea tratando de encontrar diferencias reales entre los dos y pregunté en crackoverflow.Las únicas diferencias importantes son algunas diferencias de sintaxis que para mí son triviales porque también soy desarrollador de Java.

¿Cuál sería una buena respuesta para un entrevistador cuando me diga que está buscando un desarrollador de C# o preguntas similares?

¿Fue útil?

Solución

Tuve que entrevistar a personas para algunos puestos de C# y este es mi consejo general para los desarrolladores de VB.Net que se entrevistan para un puesto de C#:

  • Asegúrese de tener claro que ha estado trabajando en VB.Net.Esto parece obvio pero es algo que aparentemente no lo es (según mi experiencia).
  • Intente dar un ejemplo de código, si es posible.He visto algunos horribles VB.Net (y C#) escritos por programadores de VB que no parecieron aprender mucho en la transición a .Net.
  • Ser capaz de escribir en C# durante la entrevista, si se le solicita.Sé que no hay muchas diferencias reales entre los dos, pero no quiero pagarte para que aprendas la nueva sintaxis.

Para su pregunta específica:He hecho ese tipo de preguntas antes y lo que quería escuchar era en qué se parecen el sistema y el marco subyacentes.Si es posible, hable sobre recolección de basura, IDisposable, finalizadores, los peligros de los bloques de código inseguros, pila versus montón, etc.Todo tipo de cosas para demostrar que realmente comprendes las complejidades del marco .Net.Bien o mal, la herencia de VB trae consigo la expectativa de una falta de comprensión de la programación de nivel inferior y de Windows en general (que, irónicamente, un desarrollador de C++ tendría de un desarrollador de C#...etcétera).

Por último, la forma en que enmarcas tu experiencia puede marcar una gran diferencia.Si se posiciona como un desarrollador .Net, en lugar de VB.Net o C#, es posible que las bromas estúpidas y pseudoreligiosas no entren en la conversación.Por supuesto, esto requiere que conozca tanto VB.Net como C# en el momento de la entrevista, pero de todos modos es una buena política.

La verdad del asunto es que si descubre que la persona que lo entrevista lo descarta simplemente porque ha estado desarrollando anteriormente en VB.Net, probablemente no será un lugar en el que desee trabajar de todos modos.

Otros consejos

Algunas diferencias (que son más sustanciales que sintácticas) que a veces me llaman la atención:

  • VB.NET no tiene delegados anónimos
  • Los bloques de código inseguros no están en VB.NET

Amo C# hasta la muerte, pero envidio los parámetros opcionales de VB.NET.La automatización de oficinas en C# es muy, muy dolorosa.

Creo que la verdad se revelará en esto:

Soy desarrollador de software, la sintaxis del lenguaje es la parte final del rompecabezas.Al contratarme, obtendrás a alguien con experiencia demostrable en resolución de problemas y lógica.Tengo experiencia con el entorno .NET, CLR y la pila de Windows asociada, incluidos SQL y Windows Server.No conozco la sintaxis de C#, pero estoy acostumbrado al enfoque orientado a objetos, no tendré problemas para ponerme al día con los puntos más finos de la sintaxis en un par de semanas.Puedes ver en estos ejemplos de mi código que soy un desarrollador experimentado, te aseguro que la transición será perfecta.Ya he empezado a aprender el idioma, hasta ahora no he tenido ningún problema.

@DAC: VB ahora (en .net3.5) admite lambdas:

Function(x) x.ToString()

En una entrevista, diría que lo importante es comprender el CLR y lo que realmente hace el código, y que estás feliz de codificar en cualquiera de los dos (suponiendo que así sea).

También soy un amigo mortal de C#, pero las diferencias no son solo la sintaxis.Hay lugares donde VB gana SIN MANOS

  1. Parámetros opcionales
  2. Encuadernación tardía

Trabajar con COM desde C# puede ser un asunto muy frustrante.(¡Lo cual no quiere decir imposible!)

¿Sinceramente?Si también eres desarrollador de Java, empezaría con eso.Un desarrollador de Java con cierta experiencia en .NET generalmente dará una mejor impresión que un desarrollador de VB con experiencia en Java.Si puede responder preguntas sobre la diferencia entre .NET y Java, debería estar en buena forma.

También te recomiendo que aprendas la sintaxis de C# lo antes posible.Si tiene experiencia con VB y Java, no le llevará mucho tiempo.

Muchos desarrolladores tienen problemas con VB y las personas que lo usan.Válido o no, tendrás que lidiar con esa realidad.

VB o C# solo tienen una sintaxis diferente, pero si aplica la lógica, la forma es la misma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top