¿Debería cambiar c # dev a VB.net cuando se mezcla la base de idioma del equipo?

13

Recientemente me uní a un nuevo equipo de desarrollo donde las preferencias de idioma se mezclan en la plataforma .net.

  • Dev 1: Conoce VB.net, no sabe c #

  • Dev 2: Sabe VB.net, no sabe c #

  • Dev 3: Sabe c # y VB.net, prefiere c #

  • Dev 4: Sabe c # y VB6 (VB.net debería ser bastante fácil de entender), prefiere c #

Me parece que los líderes de pensamiento en el espacio .net son c # devs casi universalmente. También pensé que algunas herramientas de terceros no eran compatibles con VB.net pero cuando empecé a buscarlo no encontré ningún buen ejemplo.

Preferiría poner a todo el equipo en c #, pero si no hay una buena razón para forzar el problema aparte de la preferencia, entonces no creo que sea la elección correcta.

¿Hay alguna razón por la que deba alejar a las personas de VB.net?

    
pregunta Wilman 31.07.2015 - 14:24

16 respuestas

2

No hay una razón verdaderamente convincente para forzar a alguien a cambiar de idioma a menos que uno tenga una función que sea particularmente útil o que ahorre tiempo para su (s) proyecto (s). Ambos compilarán a IL y se desempeñarán de manera equivalente (suponiendo que Option Strict esté activado en VB.NET ... de lo contrario, puede incurrir en penalizaciones por vinculación tardía). Todo lo demás realmente es preferencial (no lo descarto en absoluto, pero no es una métrica objetiva).

Le sugeriría buscar en las listas de empleos en su área y ver qué idioma prevalece más en la oferta de trabajo (es decir, el grupo de trabajo para ambos idiomas). Ver cuál le proporcionará un grupo de trabajo más grande o mejor probablemente será su métrica más convincente.

    
respondido por el Adam Robinson 11.01.2011 - 17:31
7

Afortunadamente, la respuesta es simple: no hay un "mejor" idioma. Todos los lenguajes .NET utilizan, en su raíz, la funcionalidad del conjunto de clases que proporciona .NET Framework. Por lo tanto, todo lo que puede hacer en VB.NET puede hacer en C # y viceversa. Las únicas diferencias entre los idiomas son meramente sintácticas.

Los programadores C ++, Java y J ++ preferirán la sintaxis concisa y sin sentido de C #. Los programadores de Visual Basic (VB) pueden preferir quedarse con el demonio que conocen: el enfoque de lenguaje pseudo-natural que distingue entre mayúsculas y minúsculas de Visual Basic .NET. Si tienes programadores VB y son reales. programadores (ver Opción estricta ENCENDIDA) obtendrás los mismos resultados VB es más verbose .... C # es un destructor de bolas con sensibilidad a mayúsculas.

    
respondido por el Anna Karin 11.01.2011 - 17:29
5

Sinceramente, un equipo de desarrolladores debe usar el mismo idioma o, al menos, saber los mismos idiomas.

Esto ayudará en la capacitación cruzada y el soporte entre varias aplicaciones que produce un equipo de desarrollo.

Al final, VB vs C # es toda una batalla de preferencias, pero el equipo debe estar en la misma página en la que usarán o apoyarán.

    
respondido por el Tony Abrams 11.01.2011 - 17:34
5
  

En caso de que c # dev cambie a VB.net cuando   ¿La base de idiomas del equipo es mixta?

El desarrollador debe usar el lenguaje .NET que es el estándar para el equipo. En mi opinión, debería haber un idioma que se use (a menos que se pueda presentar un caso extremadamente convincente).

  

¿Hay alguna razón por la que deba liderar?   ¿Gente lejos de VB.net?

Creo que la mayoría de la gente aquí prefiere C #, pero esto no es tanto una cuestión técnica como una decisión política o de negocios. Decida qué lenguaje .NET usar y luego utilícelo. Ahora, obviamente, hay un montón de factores a considerar:

  • ¿Existe una base de código existente? ¿En qué idioma está escrita la mayoría?
  • ¿Pueden los desarrolladores de VB.NET captar fácilmente C #? ¿Ellos quieren?
  • ¿Tiene sentido desde el punto de vista financiero invertir en el aumento / entrenamiento de C #?
  • ¿Cómo podría un cambio de idioma impactar los entregables existentes?
respondido por el Randy Levy 11.01.2011 - 18:02
4

De hecho, VB.NET tiene algunas características que C # no tiene actualmente: literales XML y sintaxis de consulta para usar el método Agregado en LINQ.

    
respondido por el John Saunders 11.01.2011 - 17:39
3

Puede consultar estos tres artículos que comparan C # y VB.NET:

Todos parecen proporcionar argumentos muy lógicos y comparaciones entre los dos. Personalmente voto por C # (mi empresa eligió C # para nuestros proyectos ASP.NET cuando realizamos la transición desde el ASP clásico).

    
respondido por el 3 revs, 3 users 56%scrappedcola 27.03.2012 - 08:33
2

Estaba en una situación muy similar en 2003 en la que ahora estás. Estaba administrando un equipo que se estaba moviendo a ASP.NET desde ASP Classic. La mayoría de nuestro equipo tenía experiencia con VBScript como el lenguaje de facto para ASP, pero casi la mitad del equipo prefería C # a pesar de una ruta de migración un poco más compleja desde ASP / VBScript. Finalmente, elegí VB.NET, pero en retrospectiva, realmente desearía haber ido por el camino de C #.

En el quinto aniversario de esa decisión, escribí un artículo de blog sobre mi razón para tomar la decisión y traté de proporcionar el beneficio de mi visión retrospectiva a otros gerentes de desarrollo que intentaron hacer la misma llamada. Aquí hay un enlace al artículo:

"Retrospectiva de un gerente en C # versus Decisión VB.NET "

Larga historia corta, para aquellos que no quieren leer el artículo completo: no creo que el proyecto haya sido peor para elegir VB.NET sobre C #, y probablemente nos ahorró mucho tiempo en el corto correr. El mayor problema era realmente con el reclutamiento. Me encantaría contratar a un programador de C # o VB.NET para trabajar en cualquiera de los dos idiomas. Realmente no son tan diferentes. Sin embargo, ya sea que se lo merezca o no, VB.NET tiene un estigma que hace que un gran número de desarrolladores eviten trabajos en los que saben que trabajarán con él como idioma principal.

    
respondido por el JohnFx 11.01.2011 - 20:39
1

Me inclino por C # porque es menos detallado y en mi experiencia es mucho más frecuente en Internet. También diría que C # o VB.NET son fáciles y rápidos de aprender, hasta el punto en que es insignificante e insignificante. El framework .NET, por otro lado, es enorme y una criatura en constante evolución. Dominar .NET lleva muchos años, pero dominar C # o VB.NET podría tomar algunos meses o menos.

    
respondido por el Nelson Rothermel 11.01.2011 - 17:39
0

Creo que @Anna Karin tiene un buen punto, por lo que no debes preocuparte por las bibliotecas. Al menos, no puedo recordar a nadie que solo funcione con c # y no con vb.net.

Otro punto importante es que hará que las comprobaciones de códigos sean más difíciles entre los miembros del mismo equipo si trabajan con diferentes idiomas. Creo que es una mejor idea usar algún lenguaje común, para reducir la fricción en la comunicación.

    
respondido por el Tiago Deliberali Santos 11.01.2011 - 17:32
0

Si bien estoy de acuerdo con la respuesta anterior de que .NET debería ser la misma característica, esto no siempre es así, pero es lo suficientemente cerca como para que si tienes un proyecto simple no debería importar.

La principal razón que daría para cambiar a C # en todo el equipo es que es el idioma en el que se encuentran la mayoría de los ejemplos y la mayoría de los proyectos de código abierto publican el código fuente en C #. Por lo tanto, si su equipo no puede obtener un recurso de este tipo, es posible que se limite innecesariamente.

    
respondido por el jjrdk 11.01.2011 - 17:32
0

C # y VB.NET se basan en la plataforma .NET; Es importante para los desarrolladores que trabajan en .NET conocer .NET, principios, técnicas, patrones ... En ese caso, el cambio entre idiomas no será un problema, se trata principalmente de la sintaxis. En un equipo mixto, tal vez todos deberían tratar de aprender los dos idiomas (no es un gran problema), pero puede ser importante para la futura colaboración entre los miembros del equipo.

    
respondido por el Vladimir 11.01.2011 - 17:33
0

Yo diría que la única ventaja de que todos usen el mismo idioma es que significaría que cualquier desarrollador podría trabajar en cualquier parte del código.

Más allá de eso, VB.NET y C # difieren solo por la sintaxis bajo .NET. Y el código escrito en ambos idiomas puede coexistir en el mismo proyecto muy bien.

    
respondido por el Jonathan Wood 11.01.2011 - 17:34
0

Iría con C # porque:

  • está más cerca de Java y C ++ (lenguajes que se enseñan muy a menudo en los cursos de CS).
  • hay muchos recursos en Internet en C # que en VB (por lo que he visto por ahí).
  • las posibilidades son mayores para encontrar / contratar a otros desarrolladores que conozcan C # mejor que VB (por lo que he visto en mi empresa) para mantener el proyecto.
respondido por el Andrei Pana 11.01.2011 - 17:39
0

Mi opinión sería que permitiría el desarrollo basado en contrato con interfaz, y el desarrollador debería poder codificar una clase en el idioma que desee, y probablemente separar las clases de bajo / alto nivel en diferentes ensamblajes. Siempre que las clases respeten la interfaz solicitada e implementen el requisito, debería haber un pequeño problema.

    
respondido por el dvhh 11.01.2011 - 17:39
0

Estoy de acuerdo con muchas de las otras respuestas aquí. He sido parte de dos equipos que han tenido que tomar esta decisión. En ambos decidieron inicialmente que los desarrolladores podían elegir ya que los dos idiomas trabajan juntos. Sin embargo, dentro del primer año, ambos desearon haber elegido C # y poner un nuevo requisito para que todos los nuevos proyectos estén en C #.

    
respondido por el Beth Whitezel 11.01.2011 - 19:15
0

Razones para usar C #:

  • Ha hecho felices a dos de tus desarrolladores hasta el momento, y bien puede engladden a los otros dos una vez que lo aprendan.
  • Usted planea contratar más desarrolladores en algún momento y desea evitar la multitud de "20 años de experiencia en VB".
  • Te encantan las llaves.
  • Amas la vida.

Razones para usar VB.NET:

  • Los dos desarrolladores que no conocen C # se niegan absolutamente a aprenderlo.
  • "Luchar en el camino de menor resistencia" es el lema de su compañía.
  • Existe una gran base de código de VB que no se puede actualizar.
  • estás en un H.P. Dale una patada al Lovecraft y lamenta la falta de "horrores de energía" en tu vida diaria.
respondido por el Shog9 11.01.2011 - 19:27

Lea otras preguntas en las etiquetas