Aunque hay mas razones y con mejores explicaciones, las mas breves y sencillas del porque no usar VB nos las explica "Daniel Clemente", aquí vamos:
* No es en absoluto portable ni multiplataforma. Aunque técnicamente sería fácil hacer un compilador para Linux o MacOS, Microsoft lo tiene prohibido (¡vaya futuro que le espera! En el mundo real no sólo se usa Windows).
* Te enseñará malos hábitos: tiene normas poco estrictas que hace que un programa se ejecute aunque esté mal diseñado. Ejemplos: permite no definir las variables, tiene propiedades que sirven para lo mismo, y requiere de librerías DLL que no todo el mundo tiene.
* Plantea problemas de seguridad: los virus de macro que afectan al Office usan el mini-VB que éste soporta. La mayoría de virus de Windows se aprovechan del código VBScript, basado en VB. Pudiendo elegir entre JavaScript (el más usado en Internet) o VBScript, los virus eligen VBScript.
* Es muy fácil de desensamblar y modificar por dentro, así que olvídate de la seguridad.
* La documentación es insuficiente: las funciones potentes (APIs de Windows) no tienen documentación. Si se saben usar es porque algún usuario lo ha descubierto y lo ha hecho público. Lo mismo pasa con muchos OCX. También hay características poco documentadas, como los punteros.
* Para colmo, el único compilador de VB que existe es muy caro.
Y a todo esto tambien da algunas alternativas:
* Si lo que te gusta es programar para aprender, ponte Linux y descubre el mundo de la informática, estarás aprendiendo cosas nuevas y útiles sin parar.
* Si, como yo, usabas VB para hacer programitas rápidos y sencillos (procesar archivos, hacer cálculos, tratar datos, ...), tengo que reconocer que me es suficiente sólo con un script de bash (que es un intérprete de comandos de Linux). Mira sinó mi programa Web Characters: la versión de Windows está en VB, la de Linux, hecha en unas horas en un script de 4 kb. y que funciona mejor.
* Usa lenguajes multiplataforma como Java o C/C++. A C++ le puedes añadir muchas librerías (también multiplataforma y libres) para hacer juegos, interfaces gráficas personalizables, programas multimedia, ... Mira la libSDL, Qt y Gtk, por ejemplo.
* ¿En serio necesitas hacer un programa nuevo? Seguro que mucha gente ha hecho tu mismo programa antes. Si han decidido liberar el código fuente, tú también podrás usarlo para añadirle cosas, simplificarlo o sólo usarlo.
* Si usas VB para acceder a una base de datos Access (tampoco lo recomiendo), piensa en otras posibilidades más potentes, baratas y libres. Por ejemplo, ahora mismo lo que se me ocurre es poner un Apache con PHP y que acceda una base de datos MySQL mediante una serie de páginas web que ya están hechas. Todo gratis, apto para cualquier sistema operativo, y técnicamente mucho mejor.
* Bueno, vale....... te diré lo que estabas esperando..... ¿qué hay en Linux para hacer programas al estilo VB, poniendo un botón en un formulario, definiendo eventos, etc.? Pues puedes probar Gambas, aunque te recomiendo que lo mires sólo como curiosidad y aprendas los lenguajes "de siempre", como C++
Recibe notificaciones por correo
7 Comentarios
Escribir Comentariocarnal no sabes lo que dices Visual Basic es lenguaje de programacion excelente, de eso no cabe duda, que las personas sean malos para utilizarlo es muy diferente. Por ejemplo se menciona en el texto que crea malos habitos, ya que no es necesario declarar las variables, eso tiene solucion; solo pin Option Explicit al principio del codigo y listo, muchos se quejan de que no tiene librerias y eso tiene solucion, ya que deporci el propio Visual Basic tiene muchas funciones, y si a eso le agregamos que puede utilizar todo el api de windows entonces no han inconveniente.
ResponderPero tambien mensionaste el problema de que el api no todo mundo lo conoce, bueno te paso esta pagina en ella se encuentra un programa el cuel te describe las funciones del api y por cierto trae ejemplos la pagina es: http://www.allapi.net/ o si no te doy el nombre del programa es Api guide 3.7 (es gratis).
Se menciona un problema de que no es multiplataforma, por lo regular no muchos son multiplataforma a excepcion de java que si lo es, por ejemplo en c/c++ para que puedan funcionar en linux los tienes que volver a compilar con un copilador especial para linux y si es necesario cambiarle partes del codigo.
Para acceder a bases de datos desde VB es muy facil, en especial a las de access ya que puedes utilizar los objetos de access desde VB.
Bueno con todo lo anterior no digo visual basic se el mejor lenguaje de programacion, pero tampoco se pueden atrever a decir que muy malo o que no se programe en él. Es un lenguaje de Programacion Orientado a Eventos Muy potente, yo en lo particular recomiendo utilizar VB6 es muy potente aunque se vea muy viejo....
ATTE SCJA GUILLERMO RAMON MORALES
Te doy toda la razón al decir que tiene librerias y varias API, pero en lo que no te doy la razón es cuando dices que es un lenguaje muy potente, es un lenguaje muy viejo, de hace mas de 10 años ya, si no me equivoco salio en 1998, lo que ahora es Visual .NET es la evolución de Visual (incluyo foxpro y basic).
ResponderRecomiendo empezar con basic porque como el mismo lenguaje lo dice es "basic" (básico), pero nunca les digo que se queden con el, existen otros lenguajes mucho mas potentes.
Con lo de acceder a una BD cualquier lenguaje lo hace, de forma rápida y sencilla, las IDE han avanzado tanto que se puede hacer de forma gráfica en cualquier lenguaje.
El lenguaje no es potente, solo que es básico y fácil de aprender, que se pueden hacer aplicaciones muy buenas de alta calidad, cierto, que es un lenguaje potente, falso.
Y para que veas que no es potente "Es muy fácil de desensamblar y modificar por dentro, así que olvídate de la seguridad." entonces que para que hacerte una aplicación super potente si cualquier descompilador lo vuelve trizas.
Hola que tal, yo no uso pero he usado VB, me gustan mas lenguajes con Java, C/C++, python etc. Pero igual siempre he escuchado o leido que VB es malo, o que no es potente, pero mi pregunta es porque? dices que no es potente pero me gustaria que explicaras porque, vaya que cosas no se podrían hacer en VB?
ResponderPor otra parte, comentas que es el lenguaje de los virus y eso es verdad, pero acaso esa esa razon para no usarlo? se pueden hacer virus en cualquier lenguaje practicamente =P.
Aunque tampoco me gusta VB me parecen muy endebles los argumentos que expones en esta nota, me hubiera gustado leer cosas mas solidas.
Al igual que el comentario anterior, en VB puedes hacer las mil y un maravillas, puedes crear sistemas lo suficientemente robustos como para calificar de "Sistema Seguro", con las API's y librerías necesarias puedes tomar temas gráficos, crear objetos con funciones únicas y hacer cualquier cantidad de cosas.
ResponderLo mismo que puedes hacer con cualquier otro lenguaje de programación, ahora, lo dices por esto que cito de mi comentario:
"El lenguaje no es potente, solo que es básico y fácil de aprender, que se pueden hacer aplicaciones muy buenas de alta calidad, cierto, que es un lenguaje potente, falso."
Aún lo sigo afirmando, ¿porque VB no es potente?, porque un lenguaje potente significa que es seguro, con métodos "actualizados" y sobre todo que sea multi-plataforma.
No todos los lenguajes de microsoft son multi-plataforma y VB es uno de ellos, y creo que la razón mas importante para no calificar como lenguaje potente (en mi parecer) es la siguiente:
VB tiene la ventaja de que se desarrolla muy rápido, pero al ser integrado con windows se pueden generar los mil y un bugs.
Un lenguaje de programación no debe depender tanto de un SO y menos de sus librerías, por tanto un lenguaje debe depender de las librerias propias utilizadas para la creación del mismo y no de ambas partes (SO y programa desarrollado o sistema).
Aunque no puedo obligar a nadie simplemente es como dice el mismo nombre del IDE "Visual Básico"...
Pues, después de años de escribir en VB de MicroSoft, debo decir que es bonito, es fácil, y mucho bla, bla, bla.... de bonitas flores, pero en lo que respecta a mi humilde opinión...., me encanta GNU/Linux, he programado en GAMBAS y está sensacional...., igual no es multiplataforma pero rápidamente puedes programar y distribuir. Fuera de GAMBAS, otros entornos están más que sensacionales, tanto que ya no hay que pelear solo aprender a programar en serio. Buen artículo!
Responder1) Lo mismo aplica para C# y toda la plataforma .NET . Es cierto que Visual Basic te ata a una plataforma. Pero al menos si quieres programar para PC, sigue siendo la mejor opción. Si quieres programar para smartphones o servidores hay otras opciones, pero el mercado del PC sigue siendo 90 % Windows.
Responder2) Cierto son malos hábitos de programación. Lo mismo que PHP, en base a el están programados miles de sitios Web, incluyendo a Facebook en un inicio. Además en Visual Basic puedes evitarte esto con simplemente usar OPTION EXPLICIT ON. Y para evitar errores de conversión de tipos, cosa que PHP también te permite hacer (de hecho PHP es tan bueno para fomentar las malas prácticas como VB), puedes activar OPTION STRICT ON.
3) .NET ya no es caro. Desde 2017 esta libre la versión Community, que podemos usar los desarrolladores para crear software sin pagar la licencia. Así que al menos en parte, ya no existe ese problema con .NET
Así que yo creo que basta de los prejuicios, yo uso VB.NET, Java, PHP , JavaScript y otros lenguajes y te puedo decir que ningun lenguaje es perfecto, todos tienen sus bondades.
Hola Roberto, es como dices, no se trata de prejuicios sino que en el mundo de la programación hay que ser parcial, al momento de escribir esta entrada (2010) ya algunos habían dejado de utilizar este lenguaje porque existían otras soluciones (caso especifico de C# que ahora puedes incluso programar apps móviles nativas y hacer cross con node), mas info: https://www.quora.com/Why-dont-people-use-Visual-Basic-anymore
ResponderLos malos hábitos vienen a partir de la mala documentación y del programador como tal, PHP fue el caso más criticado ya que su documentación carecía de orden y no había un estándar de como hacer las cosas, básicamente era "si funciona, queda", no importaba el uso de clases, métodos, procesos, interfaces ni nada por el estilo (cosa que viene cambiando desde PHP 5.6 y hace más énfasis en la versión 7). Entonces, imagina un carpintero usando el martillo al revés, porque en el libro decía que usara el martillo pero no como, así el ayudante vio como trabajaba y siguió el ejemplo, estos "malos hábitos" los generan ambos y VB.NET aún sigue siendo el caso.
Tienes razón, incluso hay versiones gratuitas, no podemos tomar por punto el tema monetario, sin embargo cuando desarrollas en VB.Net y pasas a C# la diferencia es muy poca, es el mismo caso de pasa de JavaSE a Android.
Por último como dices, todos los lenguajes tienen sus pro y sus contras, los lenguajes que no se adapten a los requerimientos entonces terminan como este, si quieres otro ejemplo de parte de Microsoft te dejo FoxPro y F, utilice ambos (y al día de hoy los sigo usando por mantenimiento de sistemas ya hechos) pero no los utilizaría para un nuevo proyecto.
De cualquier modo repito, esto depende tanto del programador como del lenguaje, si el programador logra sacarle el máximo provecho al lenguaje, realizando todos los procesos de forma correcta y obteniendo el máximo rendimiento entonces no veo problema alguno en utilizarlo... Saludos!
Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.
Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión