2010-02-18 34 views
10

Mi compañía está abandonando la idea de usar Entity Framework cuando se trata de .NET 4. Actualmente somos una tienda de VB.NET, pero tenemos cierto interés en cambiar a C#.Entity Framework - C# o VB.Net

¿Hay algún argumento importante a favor o en contra de tal movimiento?
¿EF con C# tiene alguna ventaja en rendimiento, facilidad de codificación, etc. sobre VB.NET?

Gracias por sus opiniones/opiniones!

+0

Manténganse al tanto con la jerga de marketing, no es .0 ya es solo 4;) – Nate

+0

¡Mis disculpas por una supervisión tan ofensiva! ; D – Airn5475

+0

Es posible que desee aceptar una respuesta con la que se sienta cómodo. Ayuda a las personas a darse cuenta de que su problema está resuelto. – JonH

Respuesta

7

Siempre digo que sigas con lo que eres bueno. Si hay una gran curva de aprendizaje de vb.net a C#, puede ser arriesgado. Yo era programador de vb.net pero me mudé a C#, no me pareció tan difícil. Pero si está trabajando en un software robusto que necesita cambios/correcciones diarias, es posible que desee incluir lo que es bueno (en este caso, VB.net).

Here is a nice comparison between both languages.

Cuando se comparan los dos idiomas para el marco de la entidad es que no encontrará mucha diferencia. Si prefiere el sub público con subs finales iguales (más prolijo y detallado), utilice vb.net. Si te gusta {} y menos palabrería, entonces prefieres C#.

Odio decirle a la gente que no aprenda C# porque voy a ser muy honesto, ojalá hubiera cambiado de VB.net a C# hace mucho tiempo. Me gusta la sintaxis críptica porque tengo un fondo C/C++. Tuve que lidiar con VB.net por un tiempo debido a algunas aplicaciones internas. Por lo tanto, es una preferencia y probablemente sea rápido para implementar todo en vb.net. Pero si su empresa está dispuesta a que aprendan un nuevo idioma e inviertan en su conocimiento, entonces les digo que vayan por C# todo el tiempo.

+1

¡C# es definitivamente una buena inversión! ¡Gracias por tus pensamientos! – Airn5475

0

No hay diferencias sustanciales, y ahora más que nunca VB.NET y C# se mantendrán sincronizados por lo que realmente se reduce a su preferencia (o su empresa).

4

Con .NET 4.0, VB.NET y C# tienen exactamente la misma funcionalidad. La única diferencia real es la sintaxis. Antes de 4.0 ese no era el caso, ya que había una serie de pequeñas diferencias. Sin embargo, Microsoft ha hecho un esfuerzo para que los idiomas sean los mismos. Que va a ocurrir con el lanzamiento de 4.0.

+0

Manténgase al día con la jerga de comercialización, no es .0 más es sólo 4;) – Nate

+0

Para golpear con la jerga de Microsoft. Si fueran una compañía inteligente, harían menos jerga y harían mejores productos. Los amo pero todavía necesitan mejorar –

1

Si usted es principalmente un programador de VB, C# puede ser confuso; todas esas llaves arcanas en lugar de un bonito y prolijo "End Sub"!

En su mayor parte, los idiomas son equivalentes; ambos recopilan esencialmente la misma IL (aunque existen diferencias ocasionales) y, por lo tanto, son igualmente efectivos (en su mayor parte).

En pocas palabras: es una preferencia. Prefiero C#. No deberias.

+0

Un señor, prefiero VB6. Noooo! C# :) +1 por ser tan cierto, es solo un dialecto diferente al mismo resultado. –

+4

nice verbose "End Sub" \ * spits \ *;) – johnc

0

Depende del equipo con el que estés trabajando y de la base de conocimientos.

9

En realidad tengo una aversión irracional por vb.net si soy honesto, prefiero la sintaxis C#, pero no hay razones de peso para cambiar. Ambos compilan a IL, con diferencias muy sutiles y ambos son igualmente capaces.

Me imagino que la razón más convincente para cambiar podría ser que es más fácil encontrar y reclutar desarrolladores de C# de alta calidad que vb.

5

Creo que su mayor problema no está en la diferencia de rendimiento o capacidad. Creo que todo se reducirá a la documentación. MSDN probablemente proporcionará características en ambos idiomas, pero la mayoría de las publicaciones de blog, etc. estarán en C#.Estas publicaciones pueden ofrecer una guía del mundo real sobre mejores prácticas, consejos y trucos y una gran cantidad de información adicional en la que se apoyará en su práctica de desarrollo y la mayoría estará en C#.

+0

Estoy totalmente de acuerdo contigo en esto de Chris. Estoy corriendo CONSTANTEMENTE a Google/Bing para aclarar la sintaxis o cómo hacer algo. Soy sinceramente un chico C#, pero este trabajo se me ocurrió, así que estoy trabajando VB.NET Me encantaría volver a C# sin ningún motivo A parte de la documentación externa y los recursos encontrados. – Airn5475

3

Una de las diferencias más convincentes para mí es que C# generalmente tiene una sintaxis más concisa. Esto se manifiesta especialmente con expresiones lambda. Aunque VB.Net ahora tiene la misma funcionalidad, la sintaxis de VB.Net es demasiado detallada.

Por ejemplo, si se utiliza el LINQ 'API Fluido' sintaxis:

C#

var addresses = _users 
    .Where(u => u.Name == "scott") 
    .Select(u => u.Address) 

Es cierto que la sintaxis puede ser un poco raro al principio, pero tan pronto como usted está acostumbrado a esto realmente se vuelve muy legible. Compare esto con VB.Net:

Dim addresses = _users _ 
    .Where(Function(u) As Boolean 
       return u.Name = "scott" 
      End Function) _ 
    .Select(Function(u) as Address 
       Return u.Address 
      End Function) 

EDIT: Al parecer, estaba mal informado ...

El código anterior sólo es válido en VB10 (donde se añaden las declaraciones de varias líneas lambda), pero se puede escribir más concisa de la siguiente manera:

 Dim addresses = users _ 
      .Where(Function(u) u.Name = "scott") _ 
      .Select(Function(u) u.Address) 

Aparte de los guiones feas y la Function palabra clave en lugar de la =>, esto es su mayoría los mismos. Todavía prefiero la sintaxis de C# ;-)

+0

es realmente VB válido? Normalmente, de todos modos, dejarías las cosas "Como booleano" y "Finalizar función". Para los one-liners, la sintaxis de VB.NET no es mucho peor que la de C# –

+0

@Eamon. Como dice Eaomon, el VB válido no es mucho peor que el C#. 'Dim addresses = _users.Where (Function (w) w.Name =" scott "). Select (Function (z) z.Address)' Pero para mí es difícil mejorar este VB 'Dim addresses = From u In _users Donde u.Name = "scott" Seleccione u.Address' – MarkJ

+0

... Me doy cuenta de que mi segundo ejemplo no fue "fluido" (por el libro) pero en mi humilde opinión es legible, extremadamente conciso y permite el encadenamiento, que son los beneficios clave de "fluido" AFAIK – MarkJ

0

C# es el camino a seguir en mi opinión. Puedo codificar en ambos, pero mucho más bien C#. El mundo .Net parece girar en torno a C#. Creo que su empresa encontrará más codificadores de C# que están mejor capacitados que los codificadores de VB.net.

+0

Me gusta su elección de palabras con "girar". estoy de acuerdo – Airn5475

0

Creo que cualquier idioma funcionará. Prefiero C# solo porque hay más documentación disponible en C#.