Visual Basic .NET no es Basic

Mucho se ha hablado de la revolución de Visual Basic .NET comparado con Visual Basic.

A punto está de aparecer Visual Basic .NET 2005, y ahora Visual Basic está totalmente orientado a objetos.

Lo que ocurre es que mientras que Visual Basic, era una extensión de BASIC (Beginner’s All-purpose Symbolic Instruction Code), Visual Basic .NET, no es una extensión de BASIC ni de Visual Basic. Es otra cosa.

¿Por qué? Muy sencillo:

1) BASIC nunca ha tenido operadores de incremento (++) ni decremento (–). A lo sumo algunos dialectos incluían funciones para tal menester (PowerBasic con su INCR y DECR).

2) En BASIC todas las variables han sido siempre sin tipo (Variant en terminología Microsoft reciente).

3) Las variables con tipo de BASIC, se pueden especificar con los modificadores de tipo (%, #, !, $, …).

4) BASIC acepta números de linea.

Los puntos anteriores, los cumple BASIC, y también sus dialectos evolucionados (GWBASIC, Quick Basic, Turbo Basic, PowerBasic, Visual Basic, …). Por contra, con Visual Basic .NET, no son ciertos.

En conclusión Visual Basic es un BASIC modernizado, con extensiones, y nuevas características, pero BASIC a la postre.

Visual Basic .NET es un lenguaje mucho más complejo y potente, pero no es ni Visual Basic ni BASIC.

Podríamos llamarlo BASIC#, ya que tiene en común con BASIC, lo mismo que C# con C.

No es descabellado pensar en lo necesario que es disponer de un entorno de desarrollo actualizado, pero basado en un lenguaje sencillo, como era el caso de Visual Basic.

Una herramienta ideal para el aprendizaje, y para emprender sin quebraderos de cabeza desarrollos sencillos. Creo que Microsoft debería sacar una nueva versión del Visual Basic tradicional.



10 comentarios en “Visual Basic .NET no es Basic”

  1. A mi no me ha costado mucho aprender vb.net. Igual es porque ya sabía vb6, aprendí c#, y luego vb.net me parecía lo mismo que c# pero con la simplicidad de vb6 (qué pupurri). Pero si, de hecho los programadores \"de toda la vida\" de vb6 se han quejado porque microsoft va a dejar de dar soporte para este… normal, una parsona que lleva 15 años con basic a sus casi 50 tacos actuales, no está por la labor de dedicarse a aprender algo demasiado nuevo para él.

  2. hombre, yo estoy con xergio, vb.net es muy sencillo de aprender, otra cosa es que la gente no este por la labor de aprender lenguajes nuevos. De cualquier forma, creo que todo son ventajas al pasarse de VB6 a .NET, el primero tiene una orientación a objetos "de juguete".Además, basic sigue siendo basic, la sintaxis es la misma, solo que ahora tienes "cuatro o cinco" cosas más que aprenderte, pero que posiblemente te resolverán la vida en cuanto sepas utilizarlas. Y ni que decir tiene que una vez aprendido VB.NET es trivial pasarse a C#, con matices, y que ya es posible escribir aplicaciones .NET tanto para linux como para windows. No se, creo que .NET es una opción muy pero que muy acertada, se mire por donde se mire.

  3. Está claro que Visual Basic.NET no es complicado de aprender, si se viene de Visual Basic, y cualquier otro lenguaje que utilice la jerarquía de clases del .NET framework.

    En efecto, tenéis razón en que las ganas y la capacidad de aprender, son fundamentales para conseguir congerle el truco.

    Lo que quiero decir, es que me parece una infraestructura demasiado compleja para proyectos sencillos, y más complicado de aprender que VB, aunque esto no quiera decir que sea difícil.

  4. ¿Crees que Visual Basic .NET es más potente? Más complejo sí, para ciertos proyectos (grandes y que requieran mucha carga) más capacitado, pero no diría yo que es más potente. La potencia de un lenguaje es difícil de cuantificar, pero BASIC en su sencillez era enormemente potente por eso, porque era sencillo, de la misma forma que C lo era -y es- no por la complicación del lenguaje en sí, sino por permitir programación a tan bajo nivel que otros no podían alcanzar. Java es potente porque te permite trabajar con muchos entornos gracias a sus máquinas virtuales (en todo lo demás, está por detrás de C). Ahora bien, decir que VBNET es más potente que BASIC…. ¿por qué? ¿Porque el IDE es más complejo? ¿Porque la RAD también se usa en C#? ¿Porque tiene la desventaja -yo no lo llamaría ventaja- de su infumable framework?

    Lejos de mí contradecirte -además, tú me das mil vueltas en esto-, pero BASIC era muy potente porque con la sencillez que tiene podías hacer proyectos enormes con muy poca inversión en desarrollo. De hecho en tiempos de VBScrip, algunos programas los hacía en script usando VB porque con Java era odioso hacerlo, y no es que Java no pudiera, pero requería tal complicación y tiempo de depuración que agotaban mi paciencia.

    Obviamente un Lamborghini es más potente que un Seat Ibiza, pero ¿para qué? Claro, si estás en un circuito es mejor el Lambo, pero para el día a día y para llevar a los críos al colegio e irse uno al trabajo, mejor comprarse el Ibiza. Será menos potente, pero más eficiente.

    Microsoft se vio obligada a hacer ese mal-invento del VBNET por una única razón: para obligar a usar su framework. No tenían otra salida. ¿Y como lo hicieron? Pues como hacen las cosas desde hace ya bastantes años: en plan chapuza.

  5. Me quedo con tu comparativa final BiaNamaran. BASIC es un Seat Ibiza, y VB.NET, no diría que es un Lamborghini, pero podría ser un Seat León TDI.

    Claro que hay gente como PowerBASIC, que vendrían a hacer algo como un Ibiza Cupra. No es que lo necesites a diario, pero está bien tenerlo.

    Aunque me gusta mucho VB, le veo varias carencias. La primera es el manejo de errores con On Error, que lo hace muy tedioso. La segunda son las cosas raras de compatiblidad, por ejemplo que un Integer sea de 16 bits, y debamos usar Long para todo, o que no sea OOP. En eso me gusta C/C++. Te permite programar proceduralmente, o con objetos, tu elijes.

    VB.NET, como lenguaje es mucho más moderno, como Framework, hace muchas cosas. Lo malo, es que es poco eficiente, y que no te permite empezar a codificar de manera rápida. Algo que VB permitía. Hacías el prototipo con el diseñador de formularios, escribías algo de código, y en unos minutos tenías algo.

  6. Por eso, entre otras cosas, no me gustan los lenguajes basados en Garbage Collector, Manuel. Prefiero C, C++ o Pascal, donde el programador tiene el control y la responsabilidad de liberar la memoria previamente reservada. Algo que por desgracia no está muy de moda actualmente.

Deja un comentario