La última semana, vengo preparandome un poco Visual Basic, me ha salido una opotunidad de demostrar lo que valgo ;), y es con este «lenguaje» que desconocía. Siempre he oido despotricar a todo el mundo contra él, yo no creo que sea para tanto. Aun no tengo excesivos conocimientos de el tema, de momento solo se lo basico, o quizá ni eso. Así que no os tomeis demasiado en serio lo siguiente, aquí van mis impresiones.
Lo primero, aclarar que en realidad no es que sea un lenguaje, es un entorno de programación que usa el lenguaje Basic como base. De este si que tenía algun conocimiento, ya que lo primero que programé cuando tan solo era un nano, fue en Basic. Fue con un atari (reo que era este, no voy a revolver los armarios) que les regalaron a mis progenitores con una enciclopedia. Venía con un manual que enseñaba a programarlo, aunque era un poco de masocas, ya que el atari en cuestión era un teclado al que le podías conectar cartuchos de juegos (El Donkey Kong, y el Robotron venían) y los típicos mandos 😉 que eran una palanca y un boton. Pues el dichoso aparato, no tenia ningun sistema de almacenacimento permanente, así que si lo apagabas perdías el programa (semanas enteras pasó enchufado con el correspondiente calentón, no se como no se quemó), así que en cuanto el programa funcionaba, ya nunca mas lo pòdía volver a ejecutar. Ahora me paro a pensar, y me doy cuenta de que sigo haciendo lo mismo muchas veces, programar algo para no volver a usarlo, solo por demostrarme que soy capaz de hacerlo.
Despues de esta melancolica mirada al pasado, vamos a lo que vamos, Visual Basic. Tiene bastantes contras, por supuesto, es propietario, solo se puede emplear desde windows, y que yo sepa los programas creados son solo para este sistema (sin tener en cuenta wines y similares). A parte, el lenguaje en el que se basa, Basic, no es que sea precisamente un gran lenguaje de programación, no es demasiado potente, y a veces (despues de conocer otros lenguajes) parece que el modo en el que hay que hacer algunas cosas es un pelin absurdo y/o anticuado. Además, los programas resultantes no es que sean especialmente rapidos, respecto al mismo programa en otros lenguajes.
Sin embargo, a pesar de todo esto, no creo que sea tan mal entorno/lenguaje, me explico. Hay que pensar en para que esta pensado, y es principalmente para crear pequeñas aplicaciones para el entorno gráfico, por personas que no necesariamente sean programadores experimentados, y esta función la cumple. Los programas resultantes son lentos, vale, pero si no esta mal la información que tengo, es un lenguaje semi-interpretado (al estilo de java, podría decirse), que accede a las librerías del sistema para ver como funcionan los controles, aunque también se puede compilar añadiendo todos los controles en el ejecutable, lo que permite al programa emplear nuevas versiones de los controles cuando se actualiza el sistema, sin necesidad de actualizarlo o recompilarlo. El desarrollo es bastante rapido, el sistema de arrastrar los botones, cajas de texto y demás (como en el NetBeans de Java, y otros entornos de programación) es muy util para no tener que pelearse con las funciones gráficas. Hacer una calculadora como la de windows, o un editor de textos tipo Notepad, no debería llevar mas que unas horas como mucho, con lo que es ideal para aplicaciones pequeñas para usos concretos, y que una vez elaboradas, no van a necesitar unexcesivo mantenimiento, mas allá de añadir nuevas funcionalidades.
En resumidas cuentas, no es un lenguaje que escogería para un proyecto personal habiendo otros (y teniendo en cuenta que cada dia le tengo mas tiña al windows), pero sin embargo, no me parece un mal lenguaje, para que personas que empleen este sistema operativo, hagan sus pinitos y pequeñas aplicaciopnes que les ayuden en el dia a dia, y les ayuden a fardar ante los colegas. Otro uso que se le podría dar, por ejemplo, es para crear prototipos de algun programa mas o menos grande, para enseñarlo al cliente. Lo que está claro, es que cada herramienta es para lo que es, y cuando se empieza a usar para otras cosas no se obtienen buenos resultados. ¿Acaso no diriais que un destornillador es una mierda, y que no sirve de nada si lo empleaseis para clavar clavos?