A continuación se presenta un cuadro de comparación de los lenguajes de programación considerados como candidatos para la elaboración del presente proyecto de tesis.
Rapidez (Peso: 2)
Java (Peso: 3). Aunque no es tan veloz como C++, la rapidez de ejecución es aceptable para los objetivos de este proyecto.
C++(Peso: 5). C++ es más rápido que estos lenguajes, puesto que genera código nativo de cada máquina.
Visual Basic(Peso: 3). Su velocidad no es comparable a la de C++ pero se acepta para los objetivos del proyecto.
Facilidad de lectura de código (Peso: 2)
Java(Peso: 5). Es de fácil lectura.
C++(Peso: 4). Su flexibilidad hace que sea más difícil de entender que los demás lenguajes.
Visual Basic(Peso: 5). Es de fácil lectura.
Disponibilidad de herramientas de desarrollo (Peso: 2)
Java(Peso: 5). Desarrollo de aplicaciones de forma rápida gracias a las herramientas de las que dispone facilitando la tarea del programador.
C++(Peso: 4). Las herramientas de las que dispone no son tan variadas como las de Java. Aunque hay librerías disponibles en Internet para C++ estas no son estándar y por algunas hay que pagar.
Visual Basic(Peso: 4). Está fuertemente ligada al sistema operativo Windows. Las librerías para ejecutar programas en Visual Basic vienen incluidas en Windows XP.
Multiplataforma (Peso: 3)
Java(5). Es multiplataforma. Se puede ejecutar una aplicación java en cualquier plataforma. Basta con tener la máquina virtual de Java.
C++(Peso: 2). Una de sus grandes desventajas: no es multiplataforma. Lograr que las aplicaciones ejecuten en varios sistemas operativos requiere de esfuerzo.
Visual Basic(Peso: 3). Sólo utilizable en ambiente Windows.
Generación de archivos en formato pdf (Peso: 1)
Java(Peso: 5). Dispone de las librerías necesarias y gratuitas para generar documentos de este tipo de formato
C++(Peso: 2). No existen librerías de uso común utilizadas para la generación de documentos con este tipo de formato.
Visual Basic(Peso: 4). Si es posible generar documentos en pdf mediante controles Activex.
Disponibilidad de información (Peso: 3)
Java(Peso: 5). Cuenta con una amplia comunidad de usuarios que brinda mucha información en Internet: sitios Web, foros y manuales.
C++(Peso: 4). Cuenta también con una amplia cantidad de información disponible en Internet, aunque no tan grande como la de Java.
Visual Basic(Peso: 4). Existe mucha información sobre programación de Visual Basic en Internet.
Conexión a base de datos (Peso: 3)
Java(Peso: 5). Dispone de las librerías necesarias para la conexión con el gestor de base de datos utilizado en este proyecto (SQLITE)
C++(Peso: 5). Dispone de las librerías necesarias para la conexión a una base de datos SQLITE.
Visual Basic(Peso: 5). Dispone de las librerías necesarias para la conexión con el gestor de base de datos SQLITE.
Costo (Peso: 3)
Java(Peso: 5). El compilador y los entornos de desarrollo son gratuitos.
C++(Peso: 4). El compilador es gratuito aunque el entorno de desarrollo más conocido (Visual C++) es de pago.
Visual Basic(Peso: 3). Necesita de un entorno (por el que hay que pagar) para desarrollar sobre él.
Entorno de desarrollo gráfico (Peso: 3)
Java(Peso: 5). Entornos de desarrollo potentes que simplifican el trabajo. Ejemplo: NetBeans y Eclipse.
C++(Peso: 5). Existen librerías como GTK+ y QT que hacen posible la programación visual.
Visual Basic(Peso: 5). Su entorno de desarrollo visual es sumamente sencillo y amigable.
Según los criterios establecidos y los valores asignados a los distintos argumentos de cada una de las opciones el mejor lenguaje de programación a utilizar en este proyecto es Java. Por tanto entre los motivos que sustentan el porqué del uso de Java como el lenguaje de programación seleccionado para el desarrollo del presente proyecto están:
1. Java es un lenguaje de programación maduro que en la actualidad es utilizado por muchos programadores, lo que permite que se encuentre una gran cantidad de información en Internet: ejemplos, manuales y foros.
2. Su distribución es libre y por tanto es sencillo conseguir las herramientas adecuadas para empezar a trabajar con este lenguaje.
3. De suma importancia son también las librerías existentes que permite intercomunicar el programa con cualquier base de datos.