CLR: .Net / Mono / Boo / Otros CLR > Otros CLR
Visual Basic .NET O Visual C#
eliza_marti:
Cual es el mejor el C# o el Visual Basic.Net?... :think: ..muy buena pregunta..esa es la que yo también me la hago y aún la sigo preguntando!.....pero he estado investigando y ..he llegado a la conclusión de que las diferencias han quedado para el pasado (Visual Basic.Net ha mejorado todas sus deficiencias del pasado.. :) )...ahora con las nuevas tecnologías incorporadas..como el Net FrameWork por ejemplo hace que el lenguaje en que programes sea independiente de la ejecusión.. :) ..es decir para el Net Framework es transparente el lenguaje en el que se programó la aplicación....en conclusión es el gusto de cada uno seguir en la herramienta con la que más se sienta comodo (ahora podemos decir que los 2 son iguales)..yo por mi parte aunque vengo de un visual basic....seguiré a C#.. :P pero es porque me gusta lo desconocido..jijiji.. :P ...
Bye!... :hola: :comp: ..
Kev:
Ambos son poderosos, ambos se basan en el Net Framework, ambos tienen el mismo alcance, VB.NET de rediseño para que ahora sea completamente orientado a objetos, no es una mejora sino un rediseño, ahora que un lenguaje sea mejor porque esta creado especialmente para .NET no estoy de acuerdo con eso, ya que aca la idea es unir y no discriminar, porque microsoft claramente dice que con el tiempo podras usar el lenguaje que te guste pero te basaras en el Net Framework, eso es la logica usar cualquier lenguaje y obtener el mismo resultado y alcance.
:o No digo que C# sea malo al contrario a mi tambien me gusta, pero creo que C# esta abarcando terreno por popularidad. en la red hay varios articulos que hablan de este tema y los expertos de microsoft afirman que los dos son igual de poderosos y tienen el mismo alcance
:comp:
giggs:
Yo tengo una elección clara: prefiero Visual Basic.
He programado en C/C++ y Visual Basic 6.0 A la hora de pasar a .NET he visto que para hacer compatibles los dos lenguajes han quitado varias "ayudas" que tenía VB 6.0 como las matrices de controles o el ADO que lo han centrado excesivamente en servidores de bases de datos.
Hay una cosa de VB que C# no tiene, la conversión implícita de los datos. Si se coge un valor de una caja de texto puedo usarlo directamente como número sin conversión alguna. El código se hace muy limpio gracias a esto y es muy comodo. ¿Por qué C# no tiene esto si el código resultante es posible de hacer? Será por rendimiento, pero se podría dar a elegir entre que haga esa conversión o no. Ya sé que con una pequeña conversión se soluciona, pero cuando uno está acostumbrado...
En cuanto a la sintaxis, C# es más corto pero con el IntelliSense se tarda más o menos lo mismo en VB.
En cuestión de potencia parece que son iguales, así que nada que decir al respecto.
Y por supuesto, me parece más fácil aprender VB que C# para los programadores que empiezan.
Un saludo a todos
JuanK:
--- Citar ---Hay una cosa de VB que C# no tiene, la conversión implícita de los datos. Si se coge un valor de una caja de texto puedo usarlo directamente como número sin conversión alguna. El código se hace muy limpio gracias a esto y es muy comodo. ¿Por qué C# no tiene esto si el código resultante es posible de hacer? Será por rendimiento, pero se podría dar a elegir entre que haga esa conversión o no. Ya sé que con una pequeña conversión se soluciona, pero cuando uno está acostumbrado..
--- Fin de la cita ---
Precisamente esto no existe en C#.NET porque aunque a muchos desarroladores que vienen del estilo de vb 6.0 les suele parecer que es algo limpio, lo cierto es que solo hace mas corto el codigo pero empobrece la legibilidad del mismo y en proyectos grandes más que una ayuda es una demora tener que buscar de que tipo de dato es algo ya que se puede asignar asi nada mas y de hecho puede dar pie a muchos errores de desarrollo si ambos tipos de dato son el mismo o son diferentes etc.. para poder detectar algun error o hacer una modificacion,se conservo unicamente para favorecer a los dev. que vienen de vb.
--- Citar ---En cuestión de potencia parece que son iguales, así que nada que decir al respecto.
--- Fin de la cita ---
No es del todo cierto, cosas como las que ya hemos mencioando hacen la diferencia sin contar que siempre C# ha sacado nuevas cosas en sus diferentes versiones y solo tiempo despues estas cosas son implementadas en vb.net y solo cuando son cosas relativamente sencillas, por ejemplo muchas cosas de C# no estaban en visual basic.net y no fueron incorporadas sino hasta la version 2005, y ahora hay mas cosas en c#.net que no estaran disponibles en vb.net sino hasta futuras versiones o nunca:
http://www.microsoft.com/spanish/msdn/arti...ices/vs04k1.asp
giggs:
--- Citar ---
lo cierto es que solo hace mas corto el codigo pero empobrece la legibilidad del mismo y en proyectos grandes más que una ayuda es una demora
--- Fin de la cita ---
Supongo que es cuestión de gustos. Si se quiere hacer algo legible se puede comentar o hacer esa conversión más clara en los momentos más conflictivos. Aunque si se abusa, tienes razón, puede dar problemas. De todas maneras, dar la opción a usarlo o no estaría bien. No sería complicado añadir esta función al compilador con una directiva.
--- Citar ---ahora hay mas cosas en c#.net que no estaran disponibles en vb.net sino hasta futuras versiones o nunca:
http://www.microsoft.com/spanish/msdn/arti...ices/vs04k1.asp
--- Fin de la cita ---
He leído el artículo y es cierto que estas mejoras son nuevas, aunque algunas creo que no son muy útiles para el programador típico de VB, que no suele querer meterse en la parte de clases y objetos propios.
Aunque hay algunas que están muy bien como...
* Sobrecarga de operadores -->Alguna vez lo he echado en falta
* Componentes genéricos-->Muy útil, aunque faltan algunas construcciones nativas en el framework como árboles.
Así que parece que sí es más potente el C#, pero ya que estamos VB es más cómodo por algunas cosas más:
Mayúsculas y minúsculas: Es una gozada declarar con las mayúsculas bien puestas en la declaración de métodos y variables y luego no tener que preocuparse que se ponen solas.
La tabulación automática es excelente. Se pone todo en su sitio sin necesidad de hacer nada. En C# es necesario algo más de trabajo.
Y una herencia de tiempos pasados: El punto y coma final que hay que poner en todas las instrucciones.
Pueden parecer tonterías, pero creo que quitan trabajo. El problema del C# es que se basa en lenguajes antiguos con muchos seguidores y no se pueden hacer muchas modificaciones.
Así que cambio de opinión. Lo dejo en empate. C#-->Potencia (aunque para la mayoría de programadores no la van a aprovechar y VB-->Facilidad y comodidad
Un saludo a todos
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa