20 marzo 2009

Visual Basic vs. Java

Hace mucho tiempo escribí un pequeñito articulo donde comentaba mis problemas al pasar a Java un viejo programa realizado en Visual Basic. Curiosamente es uno de los artículos más leídos del blog (pese a que no dice nada interesante y lo escribí hace casi 3 años). Por ello he decidido completar el artículo, haciendo una comparación entre estos dos lenguajes de programación.

El Visual Basic tiene su punto fuerte en Microsoft, durante mucho tiempo fue el abanderado en la sección de programación de esta compañía. Permite realizar, en poco tiempo, una aplicación basada en ventanas, que se podía integrar, de una manera más o menos sencilla, con otros componentes como Access, Word, Excell, etc... Y ahí viene su primer problema, es totalmente microsoft, sólo funciona en plataformas Windows. Aunque ahora hay proyectos como Momo que permiten correr aplicaciones Visual Basic en Linux.

Java, en contra, tiene una orientación multiplataforma desde sus inicios, y en general los programas Java pueden correr en una gran variedad de plataformas, normalmente sin tener que realizar cambios. La gran expansión de Java se debe a que se ha vinculado a los desarrollos distribuidos, ampliando las aplicaciones y funciones, está presente en la gran mayoría de desarrollos web de empresa (web services, applets, servlets, java beans, etc...).

Java es un lenguaje orientado a objetos y tiene una inmensa biblioteca de funciones que va creciendo sin parar, tanto por las ampliaciones que realiza Sun (los padres de Java), como por desarrollos de otras empresas, organismos, o particulares que liberan su desarrollo. Visual Basic no es orientado a objetos (permite trabajar con ellos, pero no definirlos), y su librería de funciones está limitada a las proporcionadas por Microsoft.

Java es un lenguaje organizado y estructurado, muy flexible, pero sencillo de manejar incluso por los noveles en programación, existen multitud de entornos para trabajar con él, siendo el más popular el Eclipse, que es un desarrollo abierto con multitud de plugins que ayudan mucho en el desarrollo.

Visual Basic es más desorganizado, obliga a utilizar aberraciones de programación como saltos incondicionales tipo Goto, variables globales, etc.. Prácticamente el único entorno que existe para trabajar con Visual Basic es el Visual Studio, bastante pesado y muy poco flexible.

La gran ventaja con la que contaba Visual Basic era la sencillez para poder realizar programas windows e interfaces de usuario. Pero ahora mismo, con los plugins de Eclipse, y algunos otros entornos de programación, Java está al mismo nivel de sencillez para la programación gráfica.

En empresas el gran ganador es Java, por su orientación multiplataforma, por que está ampliamente utilizado en el mundo web, y desarrollos distribuidos, y por la enorme cantidad de herramientas, librerías de utilidades, etc... que permiten conectar con bases de datos, documentos, aplicaciones gráficas, etc... de cualquier sistema, así como facilitar el trabajo de programadores.

Visual Basic se ha quedado reducido a utilizaciones más o menos puntuales, por lo intrísecamente ligado que está a los demás productos Microsoft, pero no es un lenguaje serio, pese a todos los intentos de microsoft, y se ve reducido a pequeñas y sencillas aplicaciones, scripts para programas Microsoft y poco más.

Pedazo charla que he metido... Espero que a los que buscan ese artículo les sirva de inspiración.


Actualización (2014-09-05)

Oracle se hizo con Java en el 2009, al hacerse con la empresa Sun. Desde entonces ha habido varios "enfrentamientos" entre Oracle y la comunidad de programadores (por los cambios que han añadido a Java, o el intento de modificar la licencia de uso).

Desde que escribí esta entrada han cambiado muchas cosas, y cabe destacar que han desaparecido algunos de aquellos plugins de eclipse que comentaba, aunque han salido otras posibilidades para la programación gráfica, y otros entornos interesantes (como net beans).


Actualización (2016-08-19)

Con el paso de los años he visto más usos en empresas de Visual Basic, pero siguen siendo aplicaciones de uso local, desarrollos a medida y de manera no muy extendida. Pero estoy seguro que hay empresas que tienen grandes desarrollos en Visual Basic. No he usado las últimas versiones del VB para las que ya me han dicho que se ha mejorado la orientación a objetos, aunque sigue sin ser case sensitive ("AA" "aa" "Aa" y "aA" serian los nombres de una misma variable, ¿no os parece lioso?).

En cuanto al Java, ya hay algún comentario donde inciden en el hecho que el Java no es un lenguaje compilado, si no que es interpretado, y tienen razón. Normalmente se llama "compilar el codigo java" a generar los .class que son interpretados por la máquina virtual java en cada entorno, eso es algo que no hay que perder de vista.

Y como nota, fijaros que hay plataformas que trabajan practicamente sólo con Java (como Android), y la programación gráfica (tanto en Java como en VB) ha mejorado muchísimo.

Nota: en las empresas en las que he trabajado, con las que he colaborado, y con las que mantengo algún tipo de relación, los lenguajes que se usan son, en su amplia mayoría Java y C/C++, y, de forma minoritaria, algunas siguen usando admás Cobol, y otras hacen pequeñas aplicaciones con VB.

40 comentarios:

hdodero dijo...

Los argumentos son contundentes, y adhiero a ellos, de hecho estoy en tren de migrar a Java mis aplicaciones Visual Basic. El problema inicial es la complejidad, y aveces creo rebuscada. Para insertar un registro en mi base de datos en Visual Basic tenía mi formulario, una conexión,mi recordset y una sentencia SQL. En Java tengo una conexión (igual), mi formulario (casi igual), mi objeto como instancia de una clase, mi mapeo con hibernate, y mi sentencia en hibernate para insertar el registro. No entiendo la necesidad de declarar todos los datos que tengo en una tabla como objetos que son instancias de una clase y mapearlos y... Acepto que mis variables globales pasen a ser atributos de objetos. Bien. Pero el resto es una acumulación (creo innecesaria) de líneas de código que en Visual Basic simplemente no existe. Mi "objeto" está en definido en la tabla y mi recodset me lo trae y me permite grabar, modificar ,agregar y eliminar. Seguramente todo esto es una animalada, pero es lo que me hace tan cuesta arriba el aprendizaje de Java. Ni hablar de las infinitas tecnologías y variedad de recursos para hacer lo mismo... (con su legión talibán de defensores cada una). Spring, Strusts, Maven, JBoss, Hibernate, iBatis, EJB, JSF, Glassfish, Tomcat, Swing, Ant, JWT, .... DIOSSSSS !!!!!!!!!!!!!!!!!

el Meyer dijo...

Ahí has dado con uno de los puntos negativos de Java, la cantidad de tecnologías y recursos que tiene, continuamente aparecen más y más, y siempre oirás a alguien decir que es lo mejor (y a algún otro decir que es lo peor)...

Quizás tambien se pueda considerar como un punto positivo de Java. Pero obliga a estar continuamente actualizado, a no "bajarse de la ola" para no quedarse atrás...

Anónimo dijo...

Visual Basic es útil para hacer un prototipo en poco tiempo, en sólo un par de días de ponerle código tienes un programita que más o menos hace lo suyo. Abres el Visual Studio y pones el código, y ya está.
Java por el contrario, necesita que entiendas los conceptos de la Programación Orientada a Objetos, y fundamentalmente, que antes de abrir el Eclipse o NetBeans, tengas un diseño bien pensado de tu aplicación, en general un diseño ULM, cosa que en Visual Basic ni siquiera existe.
En definitiva, son dos conceptos totalmente distintos de abordar la programación de ordenadores.

Anónimo dijo...

nuevamente la gente tirando duro a Microsoft, no se dejen guiar por lo que digan los demás brinden su punto de vista personal y ya.
Todos los lenguajes de programación sea compilado, interpretado o como sea, son muy útiles para casos específicos lo que si se es que para programar en Windows lo mejor es Visual Basic, Visual C++ y Visual C#, ya que son desarrollados bajo la confianza de Microsoft y por lo tanto se conocerán la plataforma mejor que cualquier otro.
Para crear aplicaciones multiplataformas o abiertas considero que lo mejor es Java y Php...en fin todo depende de lo que se quiere hacer y la comercialización de la misma aplicación sea privada, publica o incluso compartida.
Atte:
Lulz Cooper

Eugenio dijo...

Porqué será que cuando hablan de VB siempre se refieren al VB6?.
Que VB6 esto que VB6 lo otro!

Eugenio dijo...

Por qué será que cuando se refieren al VB siempre hablan de las limitaciones del VB6?
Que VB6 esto, que VB6 lo otro!
VB6 salió al mercado hace como 15 años!
Si revisaran VB-2010 se darían cuenta que todo lo que critican es falso!
La única diferencia entre VB-2010 y C#-2010 es la sintáxis!, Básicamente son el mismo lenguaje, incluso hay una pequeña aplicación que te puede hacer una conversión entre VB-2010 y C#-2010, uno a uno, sin ningún inconveniente y puedes tener una aplicación completamente funcional en los dos lenguajes, incluso puedes desarrollar aplicaciones usando ambos.
Puedes desarrollar una aplicación potente, dinámica, velóz y totalmente orientada a objetos con VB-2010 en muy poco tiempo!, el único inconveniente es que solamente fucionará en los (850'000.000) ochocientos cincuenta millones de computadores que tienen instalado un Windows!
Ahora bien, puedes desarrollar la misma aplicación con Java, te tomará un poco más de tiempo y probablemente te salgan canas verdes, pero tendrás la gratificación que al ser mutiplataforma podrás correrlo en cualquier sistema, aunque los frutos serán agridulces, ya que al hacer la liberación deberás prepararte para una oleada de quejas del tipo "En el computador de mi casa funciona bien, pero en el de la oficina no corre, en el de mi novia me pide que haga una actualización y en el de mi hermano se cuelga".
Un maestro me enseñaba que el mejor lenguaje de programación es el que uno domina, pero que el plato más sabroso es el del tío de al lado.
Muchas de las personas que conozco que critican el VB ni siquiera saben que existen las versiones modernas y que el lenguaje ha continuado su desarrollo, incluso hablan del basic de líneas numeradas!!!
Java es bueno, incluso excelente y es fácil aprenderlo, pero los otros lenguajes no se quedan atrás.

Un abrazo de programador!

Anónimo dijo...

Los comentarios suenan rudos para java, además no se puede comparar un gatito con un leon, java es muy multiplataforma. No creo que una ventana de VB vaya a correr en dispositivos móviles(todos). Si quieres sencillez y fluidez deberías aprender Python. Arrastrar un boton (Quién no puede hacerlo)

NetBeans soluciona el problema para arrastrar un botón facilmente. Pero el gran problema es que si un programador que ha estado toda su vida con VB, obviamente le dará un infarto al ver código objeto de Java y de cualquier lenguaje POO. Visual Basic según vi en videos de youtube, se ve muy límitado a la hora de escribir código.

el Meyer dijo...

Tengo que reconocer a Eugenio que tiene razón, no conozco el VB 2010 y la versión que más conozco es la 6, de hace demasiados años.

Posiblemente algun dia le de una oportunidad, aunque solo sea para poder actualizar esta entrada.

De todas formas sigo pensando que uno de peculiaridades, que solo sirva para plataformas Windows, y no sea facil trasladar el código para compilarlo en otras plataformas, es justamente su peor defensa.

Anónimo dijo...

visual basic.net 2010 es superpoderoso, no tiene nada que envidiar a otros lenguajes como java o c#.....nada que ver con la version 6...los que dicen que es un lenguaje para principiantes solo demuestran ignorancia de la verdadera potencia del lenguaje
victor. desarrollador.net certificado

Anónimo dijo...

La verdad es que los comentarios y el artículo están realizas sin un profundo conocimiento de .Net, con respecto a lo de multiplataforma existe Mono, con respecto a lo de las licencias existen proyectos como sharpdevelop que te permiten desarrollar tanto con VB.Net como con C#

el Meyer dijo...

El artículo, así como mis propios comentarios están realizados desde mi experiencia (más de 10 años) en el mundo de la informática, para diferentes sectores.

Si que conozco Momo, pero no deja de ser poco más que una curiosidad, que no se utiliza en absoluto en proyectos de empresas. Y no había oído hablar nunca de sharpdevelop. Eso lo miraré.

Anónimo dijo...

Muerte a todo lo que se escriba con Llaves ( {}{}{} )

Anónimo dijo...

Saben cual es el problema? de cada 10 aplicaciones java, 3 o 4 no funcionan y sale el horrible mensaje "java could not create the virtual machine". Ademas, muchas maquinas no tienen java y estan congeladas, no se puede instalar nada nuevo. Por eso VB es mas util.

Anónimo dijo...

LA NUEVA TECNOLOGIA VISUAL NET 2011 ES TOTALMENTE ORITENTADA A OBJETOS PARA LOS ENAMORDOS CON JAVA TIENE UN LENGUAJE PARECIDO SE LLAMA VISUAL F++
SALUDOS

Anónimo dijo...

VB6.0 es un gran lenguaje que solo opera bajo plataformas windows 98 ME y XP (NO W7) pero eso no es problema porque es mas que bien sabido que 999 de cada 1000 computadoras tiene windows!!... aunque la verdad es un lenguaje ya muy obsoleto... les recomiendo Visual basic 2010 - el Visual basic 2008 esta muuy pesado y fue una cagada mas de microsoft igual que les paso con Windows Vista; de hecho son del mismo año .. coincidencia?... :).. Java es ex elente tambien y creo que los dos lenguajes VB2010 y Java(NetBeans 7) no se piden nada el uno al otro.. Marcos Medina

CarlosKaya dijo...

concuerdo con eugenio, vb.net es muy bueno la plataforma de .net ha ganado mucho terreno de hecho la mayor bandera de muchos otros leguajes es decir que es multiplataforma pero es que hasta en eso ya no es limitacion ya existe mono!!

Fernando dijo...

Bueno, hace mucho años conocí VB y en ese entonces pensé que era lo máximo(Y eso que tiempo atrás conocía C y pascal), por encima conocí java pero muy por encima... posteriormente me vi en la obligación de aprender PHP, y algo de POO, JavaScript, Html, CSS... pero java siempre a un lado y se presentaban muchas oportunidades de trabajar en el pero no lo conocía, así que sentía algo de temor de no llegar a cumplir las metas!! Cuando quise intentarlo comencé con algunos formularios objetos, clases, librerías y eventos...y creía que ya estaba listo y que conocía lo que necesitaba de Java en pocas palabras comparaba lo que podia hacer en VB y pensaba también lo puedo hacer en java, pero comencé a trabajar en el tema y entre mas conocía del lenguaje más me veía obligado a cambiar algunas técnicas que había aprendido de toda la vida y siempre aplicaba, deshacía y rehacía código con lo que aprendía. Dio inicios la persistencia, el enfoque en la concurrencia, la serialización, en explotar los servlets, la inyección dependencias, patrones como singleton, prototype, factory y aunque ya conocía MVC este se fortaleció con el avanzar del tiempo, Ibatis en aquel tiempo, Hibernate para descubrir un ORM, JPA, JSF, Spring, EJB (Y todo se convirtió en un camino con muchas vertientes de la cual entras a confundir todo)...

Fernando dijo...

Tiempo después aprendí mucho sobre procedimientos almacenados a un nivel de optimizador avanzado... ahora que también había trabajado como maquetador en css, y creando alguna librería JavaScript (proyecto que no llego muy lejos); En fin solo quedaba fusionar toda esa experiencia...y el resultado sobre esta plataforma fue realmente asombroso. En un principio es complejo y todo te parece innecesariamente oscuro y enredado y resulta frustrante, pero todo tiene un punto y es cuando realmente descubres la utilidad de cada cosa y porque la necesidad de ser implementado de esa manera. En ese punto, realmente vi descubrí el poder de java...te obliga!!, a aprender a programar correctamente, y lo mejor a desarrollar aplicaciones realmente potentes... Actualmente aprendo c# y ya tengo un proyecto en producción y dos en proceso aplicados a Web Services.

Fernando dijo...

Y Con C# aprendo a la vez cosas de Java. Por que?? Si C# es una réplica de muchas de las tecnología que ya conoces en Java y al migrar ese conocimiento te encuentras que son muy similares(Demasiado diría yo!!) - Pero no me gustan las comparaciones son una pérdida de tiempo innecesaria (Si proponer teorías o discusiones de quien es mejor). Sencillamente se debe dedicarle el tiempo suficiente a cada cosa hasta volvernos expertos en ella y solo en ese entonces dar un paso a aprender mas cosas... de lo contrario serás un conocedor de todo pero de utilidad en ninguno.

Fernando dijo...

Ahora respondo las preguntas de muchos, esta bien aprender java pero de tantas herramientas, framework y demas...cual seleccionar. Y yo digo firmemente JSTL, JSP, JSF(Que ya integra facelets y Ajax), JPA nativo y con hibernate, y EJB. (No se encesita mas). Para ser un desarrollador de peso. Pero sería aun mejor dominar CSS, con Jquery, procedimientos alamcenados(Sin lugar a dudas!!).... Pero antes de toos eso aprender a aplicar correctamente la POO y conceptos de arquitectura. y con eso sera´el final de la historia.

Anónimo dijo...

VB.NET (que no vb6 lenguaje depreciado hace mucho) es muy superior a JAVA.
Solo una mínima lista de caraterísticas que en java apenas sueña... (Válidas al momento de la escritura de l artículo)
-lambda expressions dynamics,
-optional and named parameters,
-partial classes,
-delegates,
-extension methods,
-variable type inference

Y aclaro que "todas" las caraterísticas de JAVA estan incluidas en VB.NET

Por supuesto, no solo de caraterísticas del lenguaje vive el programador, la comunidad hace la diferencia y la JAVA community es arrolladora, sueño con lo mejor de los 2 mundos :).

Pablo.

Anónimo dijo...

No soy salvavidas pero rescato lo dicho por aquel profesor: que el mejor idioma es el q uno domina. Y estas disgresiones sobre quien lo tiene mas largo (el código digo) es de toda la vida (de la programación). El que sabe sabe y dominar es de pa a pé. Siempre el otro tiene la mina mas linda, el pasto mas verde y así pero una cosa es desear una función que otro idioma hace y otra es reinventar todo de nuevo (hasta la manera de pensar ) y pasarse a otro idioma por un par de funciones. Java hoy dia está apalancado x el redescubrimiento de programar en poco espacio (para telefonia movil y eso). Yo con word 97 hacia diseño 3D de (un maquetado) de un mueble o inmueble x q no tenia espacio en la PC para un cad por ejemplo. En la loca carrera de los SO y Hard te inventan un SO que apenas cabe en el HArd y luego que puedes llegar a ese hard: primero es obsoleto y estan lanzando el otro SO q tambien es grande para ese Hard y así. Recuerdo haber ido a instalar 8 Megas de ram a lo de un Sr. que hacia diseño grafico y era como poder tener hoy dia un tera de ram y todos orgullosos por estar pesentes solo cuando el cargaba el corel. Lo breve si bueno 2 veces breve y si funciona ... nada esa es la idea que funcione.
Saludos Pedro Gundim

Anónimo dijo...

mil gracias por el aporte

Nadales dijo...

Hola a todos. tengo 49 años y llevo toda mi vida programando (aprendí con 14/15 años, COBOL y basic). Y trabajo programando desde hace 25 años. VB6 era muy bueno en su momento, y ahora lo es V.net. Java es un lenguaje simple y al que demasiada gente le mete mano para hacer librerías etc, que no te atreves a utilizar por que no sabes al detalle los problemas que te van a surgir. Cuando desarrollas aplicaciones de las que depende una empresa no puede estar con librería que ha desarrollado no se sabe quien. Dile a tu cliente que el programa que has desarrollado no va en su ordenador, o se raya, por no se qué Liberia. Veras donde te manda. Un buen programador tiene que asegurar que su programa no falla y que controla todo aquello que hace su código. La seguridad de V.net es que es Microsoft, pese a quien le pese. En cuanto a los lenguajes, un buen programador programa en cualquier lenguaje, ya que este sólo es un idioma y de él sólo necesitas saber la sintaxis y algún detalle más. Y el mejor lenguaje es aquel que me permite hacer mi trabajo con mucha rapidez y con seguridad de que no va a fallar.

Anónimo dijo...

en los 12 años que llevo de programador independiente, mis clientes solo me piden que les solucione el problema, quieren su sistema de bases de datos y me dicen lo que quiere que haga el sistema... Todo lo he resuelto con visual basic y sql, jamás me han dicho en que lenguaje lo quieren. No critiquen sin saber, vb.net es un lenguaje muy poderoso, la tecnología Microsoft, el respaldo de la empresa mas poderosa del mundo. He firmado contratos de muchos miles de dólares con la confianza de que tengo mi licencia de paga de visual studio y si algo falla ellos te responden.... y con java?? quien te responde??? saludos!

el Meyer dijo...

No es criticar el ultimo comentario, ni nada parecido, pero yo también llevo mucho tiempo desarrollando software (demasiado tiempo, diría), aunque nunca de modo independiente, y puedo asegurar que hay clientes que exigen el lenguaje (en ese caso Java es el más demandado), incluso llegando a exigir la versión (no es inusual que nos pidan desarrollos para Java 1.4, o Visual Studio 6, o incluso para un C en OS-2...)

Pero de todas formas, las herramientas de Microsoft tienen una gran desventaja, que a la vez es su máximo fuerte, su completa dependencia del sistema operativo. Solo sirve para entornos Windows (y la versión mínima del Windows la va a imponer la versión de Visual Studio a utilizar). Por cierto, eso mismo le pasa al Objective-C con el iOS de Apple.

Me diréis que no tiene su encanto saber que una aplicación desarrollada en java pueda correr en casi cualquier tipo de dispositivo y sistema operativo (y muchas veces sin cambiar nada). Eso sí, también es verdad que justamente eso, en muchas ocasiones, no añade ningún valor a un proyecto...

Anónimo dijo...

vamos en windows8 y puedo correr en el cualquier programa hecho con cualquier version de java.

Ni siquiera microsoft puede decir lo mismo por que "necesita una version minima del sistema para correr tal cosa"

si estas haciendo un programita que te solucione un problema especifico tal vez no tenga importancia, pero cuando tengas una empresa, y quieras que sus sistemas sigan funcionando luego de 30 años... es un dolor de cabeza y te amarra a seguir pagando licencias o mantener otros sistemas legado.

Anónimo dijo...

microsoft es una empresa que gana dinero con sus roductos y cada dia trabaja por hacerlos mejor y darles soporte..java pertenece auna empresa open source que dificilmente trabajan al ritmo de microsoft..

el Meyer dijo...

Respecto al ultimo comentario... Java pertenece a Oracle. Y esta compañía no trabaja por amor al arte, si no para ganar dinero. Desde que se hicieron con Java pretenden cambiar mucho en lo que respecta a las licencias y distribución de este software. Por ahora sigue siendo gratis bajarse el JDK y trabajar con él, pero esto va a cambiar, ya lo verás....

luis torres s dijo...

estoy aprendiendo java netbeans y lo veo distinto(su estructura)

Benito dijo...

Buenas,a tod@s.
Os digo una cosa.Ni VB6,ni Java,ni PHP,ni Phyton,ni C++,ni C#,etc..etc..por mencionar algunos de los más afamados.Donde esté GAMBAS que se quiten los demás.
Eh ? . Se ve claro ? .
Probadlo y vereis. Ya vereis como me dais la razón.
Asi que a probar GAMBAS.
Saludos

Roberto Miguel García Aguirre dijo...

JAVA es mas robusto....pero mas complicado. Por eso me he mantenido alejado de el. En Visual BASIC, jalas un control, importas una librería y listo, puedes hacer lo que quieres. Conectarte con Acces, hacer una hoja de calculo EXCEL, un documento WORD, etc , etc.
Ultimamente estoy regresando a JAVA, de la mano de NETBEANS. Yo diría que NETBEANS es a JAVA lo que VISUAL BASIC a BASIC. Es sencillo intuitivo, te autocorrige, es Visual, puedes arrastrar objetos al estilo Visual Basic, en fin un IDE maravilloso.
Y de repente JAVA se me hizo fácil, estoy haciendo un sistema de reconocimiento de huellas digitales, conectado a una base de datos mySQL para control de entrada-salida de personal. Y la verdad con NETBEANS se me esta haciendo muy fácil, aun no al nivel de Visual Basic, pero me esta encantando lo que se puede hacer. Creo que una de las ventajas de Visual Basic es que es un gran IDE (hace muchas cosas por ti), pero con NETBEANS JAVA esta casi a la par.

zas dijo...

programar con vb.net es un placer el ide te facilia mucho las cosas, el lenguaje basado en basic pero orientado a objetos no le pide nada a java, si java tuviera el ide de visual studio fuera mas popular, oracle debe hacer un visual sudio pareceido a el de microsoft

cuando se programa el cliente no sabe de lenguajes solo quiere ver lo que pide funcionar
lo mejor es hacerlo con el lenguaje que se domine o el mas adecuado para el ipo de aplicacion que se esa pidiendo.

Roberto Miguel García Aguirre dijo...

Me encanta Visual Basic, es un lenguaje sencillo y en poco tiempo estas programando. He programado sistemas con BD access , reportes en Excel, etc, todo rápido y fácil.
Hasta hace poco, pese a que se Java lo habría evitado por su complejidad. Entonces descubrí Netbeans.Java sigue siendo un poco as complejo, pero con un buen IDE asi de completo, ya es mucho mas fácil. Me esta gustando JAVA.

Anónimo dijo...

Yo he aprendido ambos, lógicamente he usado ambos.
Os contare la experiencia de las practicas de empresa que he hecho después de un ciclo formativo de GS:
Una de las cosas que tuve que hacer fue programar una aplicacion para Windows Mobile 6 (en pleno 2015...), tuve que usar la versión VB6, no quedaba otra, después de haber usado en clases las nuevas versiones de Visual Basic, y comprendo de ese modo que el articulo se queje de Visual Basic, pero de la versión 6, no de las nuevas. Ha evolucionado mucho, es un lenguaje de programación rápido y cada vez con mas posibilidades. En un mundo competitivo donde el cliente no tiene ni idea de lo que es Java o VB, optará por aquel que le ofrezca algo funcional cuanto antes y a precio razonable.

Y una cosa que nadie dice VB es COMPILADO, no PSEUDO-INTERPRETADO como Java, es algo que hay que matizar y que no se explica, que es tanto su virtud y la razón de ser multiplataforma como su desventaja por tener que depender de la compilación por la maquina virtual de Java cada vez que se ejecuta el código, lo que le hace perder rendimiento.

También me llama la atención el argumento (algo que ya alguien ha matizado en comentarios) de que no ser multiplataforma es una desventaja. En principio si, pero cuando nos ponemos a pensar la cuota inmensa del mercado que tiene Windows, no ser multiplataforma es una desventaja, pero en este caso bastante pequeña. Podéis ir a cualquier empresa y ver cuantas de ellas usan Windows, bastantes, muchas. Unos tantos Mac, y pocos Linux, y lo de Mac para cosas muy concretas y Linux mas que nada en servidores, en su mayoría para cosas que ya están cubiertas, ejemplo, si lo quieres como servidor WEB tienes ya Apache.
Es mas, es que en ese aspecto es hasta preferible optar por C o C++ antes que Java.

Para mi Java en lo que mas musculo tiene hoy día es en el mundo Android.

Por cierto tengo en cuenta que el articulo se escribió en 2010, aunque por ese año ya existía una versión posterior de VB y Java seguía siendo Pseudo interpretado, como siempre.

Guillermo Ugalde dijo...

Uso los dos. Vb.net para sistemas distribuidos y java para android. Dos mundos diferentes. La curva de aprendizaje de Java es mas larga. Felicito a toooodos los que aquí han comentado por sus valiosos comentarios profesionales. Gracias por ello

Anónimo dijo...

Hola, me parecen muy buenos sus comentarios; pero VB6 no es tan malo; Si JAVA tiene sus ventajas es cierto y a nivel laboral es el más demandado. Pero quiero aclarar unas cosas, VB.net acepta POO al 100%, al igual que JAVA, VB6 de los 3 requisitos fundamentales de la POO solo cumple 2, sería algo así com un 75%(EncApsulación=True,Polimorfismo=True, Herencia=False). He probado con éxito el entorno de programación VB6 en W7 64Bits. He registrado dx8vb.dll que me permite desarrollar aplicaciones Direct X 8 en Windows, esto último lo hice con un W7 64Bits en la carpeta SysWOW64. También usando puro código creo mis objetos de conexión a base de datos y hago mis consultas SQL contra cualquier base de datos. MULTIPLATAFORMA: pues usando WINE cualquiera puede usar una aplicación creada con VB6. Y en el campo de la electrónica se han creado aplicaciones que hacen uso de los puertos del PC; claro aquí si dependen más de los OCX (Averigua por Google). Pero si tengo interés en aprender JAVA por ser multiplataforma y por razones laborales. Y también me interesa migrar mis aplicaciones VB6 a JAVA

Anónimo dijo...

hablas asi de Visual Basic porque no lo conoces bien. Sos un sanatero, VB y C# son equivalentes, a mi me gusta Visual Basic porque se puede escribir mas agilmente ya que las teclas shift y alt hacen mas lento el tipeo. Odio el case sensitive y la dureza del codigo, tampoco me gusta ver 10000 de simbolos por toda la pantalla.

el Meyer dijo...

Respecto al ultimo comentario anónimo, he tenido que buscar en google que coj... has querido decir con "sanatero" (es mentiroso en argentina), y al margen de lo que opino de un insulto sin argumento, no das una imagen de experto, ni siquiera de aficionadillo, cuando tus quejas son para el case sensitive o el número de símbolos... Si bien el Visual Basic no es case sensitive ¿no tiene tambien una miriada de simbolos, como cualquier lenguaje de programación?.

Además el que puedas poner la misma variable como "Aa" "AA" "aa" "AA" lo que hace es complicar la lectura del código, o eso me parece a mí.

zas dijo...

Vb.net es orientado a objetos.y igual o mejor que java..lo uso para desarrollos rápidos..para mi es lo mejor que hay en cuanto a rapidez para hacer las cosas.poder con su moustrosa ayuda de información..