Capítulo 2. Por qué Java?

Tabla de contenidos
C/GDK/GTK
C++/QT
C#/GTK#
Java

Existen varias formas de realizar aplicaciones multiplataformas, incluso tecnologías diseñadas originalmente para Linux se basan en técnicas multiplataformas para poder abarcar otros entornos.

Sin embargo hay otros factores que influyen en la capacidad multiplataforma de una aplicación, entre estos aspectos se pueden mencionar la conectividad a base de datos y realización de interfaces de usuario. A continuación se hará un breve analisis de las alternativas que se disponen hoy en dia para el desarrollo de aplicaciones multiplataforma en Linux.

C/GDK/GTK

El lenguaje C es bastante potente. Practicamente todo se puede hacer en C, y cuando se requiere algo demasiado especifico, siempre está la alternativa de escribir trozos en Assembly. El lenguaje de programación mayormente utilizado en Linux es C.

Existe una gran cantidad de bibliotecas para C, y a la hora de usar interfaces gráficas, GDK y GTK son bastante poderosas. El conjunto de GDK y GTK está diseñado para ser independiente de la plataforma y en cierta medida dependiente del lenguaje. Lamentablemente los ports de GDK no están tan extendidos en plataformas no Linux. Por otra parte las librerias de C específicas son generalmente ligadas a la plataforma. Por lo que habria que comenzar a combinar código generico con código especifico, lo que complica el desarrollo.

Otro aspecto a considerar es que un programador de C debe tener especial cuidado en su forma de programación. Hay hartas cosas que quedan en manos del programador, y es frecuente que surgan bugs muy dificiles de encontrar (memory leaks por ejemplo).

Por ultimo, de acuerdo al contexto de aplicaciones que se estan analizando en este trabajo, no existe una forma unificada de acceso a datos, o bien, existen intentos pero no se asegura que funcionen con todos los pares de bases de datos y arquitecturas existentes.

El lenguaje no soporta orientación a objetos en forma natural. Es posible programar orientado al objeto, pero requiere de más habilidades de parte del desarrollador.

En conclusión, es recomendable el uso de C/GDK/GTK para aplicaciones específicas en Linux, pero para desarrollo multiplataforma no es inmediatamente aplicable.