JAVA como lenguaje universal de programación

Resumen

Java es un lenguaje de programación orientado a objetos el cual es uno de los tres más utilizados en la actualidad. Gracias al amplio soporte con el que cuenta, así como también con la gran variedad de clases y colecciones que tiene; Java es uno de los lenguajes más robustos y utilizados en el mundo del desarrollo de software multiplataforma.

Lo anterior debido a que permite al desarrollador el crear aplicaciones o sistemas de información locales, aplicaciones o sistemas dentro de ambientes web e incluso aplicaciones para móviles. Con lo cual se consolida como uno de los mejores lenguajes de programación en la actualidad y en un futuro quizá el lenguaje de programación universal.


Palabras clave: Java, POO, JVM, JVM, IDE, internet, sistemas, software libre, aplicaciones móviles, applets, MVC, Framework.

Abstract

Java is an object-oriented programming language which is one of the three most used at present. Thanks to the wide support with which account, as well as with the great variety of classes and collections that have; Java is one of the most robust and languages used in the world of software development platform.

This is due to the fact that it allows the developer to create applications or information systems for local applications or systems within web environments and even mobile applications. With which is consolidating itself as one of the best programming languages now and in the future perhaps the universal programming language.


Keywords: Java, POO, JVM, JVM, IDE, internet, systems, free software, movile applications, applets, MVC, Framework.

Introducción

Java es un lenguaje de programación multiplataforma que apareció en el año de 1991 por Sun Microsystems, en un principio se quería tomar el lenguaje C++ como base para mejorarlo, no obstante Goslin y Bill Joy lo consideraron inapropiado; después de intentar mejorarlo Goslin abandono el proyecto y comenzó a desarrollar un nuevo proyecto desde 0 el cual se llamaría en un principio Oak (roble en inglés). Sin embargo y debido a cuestiones de propiedad intelectual se cambió el nombre a Java, pues cuenta la anécdota que James Gosling, Arthur Van Hoff, y Andy Bechtolsheim tomaban precisamente un café Java [2].

En un principio Sun no consideraba que el lenguaje creado por su grupo de desarrolladores no tendría tanto éxito, no obstante años después el éxito alcanzado por el lenguaje era tal que su licencia ya tenía firma con algunas de las empresas más importantes de la época como por ejemplo IBM, Microsoft, Symantec, Silicon Graphics, Oracle, Toshiba y Novell.

Desarrollo

Java en la actualidad es uno de los lenguajes de programación más utilizados en todo el mundo, de acuerdo con datos de la encuesta realizada en el año 2015 por Stakoverflow, Java es la tercer tecnología más utilizada en el mundo solo superada por SQL y JavaScript. Lo cual nos lleva a pensar lo siguiente ¿Por qué usar Java?

La respuesta a lo antes planteado puede explicarse de muchas formas en base a las fortalezas que el lenguaje en si ofrece a los desarrolladores, de las cuales podríamos destacar las siguientes:

Analizando las características antes descritas, podemos observar que Java es un lenguaje de programación robusto, práctico y sencillo; con una sintaxis fácil de entender (muy similar a la del lenguaje C++) y distintos entornos de desarrollo desde los cuales se puede programar, Java es el lenguaje de programación universal por excelencia.

En cuanto al uso de Java en el desarrollo de aplicaciones de escritorio, el lenguaje ofrece a los desarrolladores un gran abanico de opciones en cuanto a clases y colecciones genéricas. Ya sea para crear una aplicación sencilla como podría ser la programación de una calculadora o algo más complejo como un sistema de administración de cuentas bancarias, Java provee los elementos necesarios al programador para el desarrollo de la aplicación. Lo cual nos lleva a una nueva pregunta la cual sería ¿Cómo puedo crear una aplicación escrita en Java?

A diferencia con otros lenguajes de programación que requieren de un IDE [4] de desarrollo para poder compilar y ejecutar las aplicaciones desarrolladas en el lenguaje, los programas escritos en Java pueden ser escritos incluso desde un simple procesador de textos, siempre que el archivo se guarde con extensión .java y la computadora en cuestión tenga instalada la JVM [5]; el programador podrá ejecutar y compilar su aplicación desde la línea de comandos del sistema operativo de la computadora (previa configuración de la misma).

De igual forma y si así lo requiriera el desarrollador puede echar mano del uso de algún entorno de desarrollo como pueden ser:

Por mencionar algunos, siendo los anteriores entornos de software libre; lo cual a su vez aporta un punto más a favor del uso de Java como lenguaje de programación universal al dejar fuera el costo de la licencia que se pagaría si se quisiera desarrollar de manera formal aplicaciones de Microsoft por ejemplo.

Aun cuando las aplicaciones visuales desarrolladas en entornos de Microsoft cuentan con interfaces llamativas y coloridas para los usuarios, Java no se queda atrás; pues permite al desarrollador programar aplicaciones visuales de dos formas, ya bien sea haciendo uso de componentes visuales que ofrece el IDE de desarrollo o bien empleando las clases de Java para la creación de interfaces graficas de buena calidad.

Pero Java no solo se queda ahí, entre los años 2002 y 2007 algunas de las aplicaciones y juegos de los teléfonos móviles estaban desarrolladas en lenguaje Java. Hoy día en la era de los teléfonos inteligentes, el uso de Java en la construcción de aplicaciones para móviles sigue presente; ya que la programación en Android está basada en Java e incluso se puede hacer uso de código de este lenguaje para controlar algunas de las funciones en la aplicación, lo cual nos da muestra del alcance y poder que tiene Java dentro del mundo de las aplicaciones móviles.

En Marzo del 96, Rais Buson en un artículo que escribió para la revista Internacional científica y profesional dijo “Si las redes llegan a tener más importancia que las máquinas individuales, Java puede ser el combustible perfecto para toda esta maquinaria.”. Hoy en día podemos corroborar que sus palabras son ciertas, puesto que el uso de Java en el desarrollo de sistemas y aplicaciones basadas en Web es cada vez más. No obstante aun ahí un buen número de desarrolladores que emplean otros lenguajes como PHP o .NET (hablando de ambientes Web) para la creación de sitios o portales dinámicos, a pesar de ello Java tiene un mayor poder y alcance en comparación con PHP.

A pesar de ello PHP sigue siendo utilizado por la baja complejidad que presenta el utilizarlo, ya que para definir variables por ejemplo, no es necesario definir el tipo de variable que es ya que esta se define de manera automática en base al tipo de dato que esta reciba. Por otro lado PHP es más un lenguaje de programación de scripts, el cual no tiene una implementación del POO concreta (en versiones inferiores a la 5), mientras que Java al ser totalmente orientado a objetos ofrece más ventajas y facilidades a los desarrolladores. Lo que permite el desarrollo de sistemas de información robustos de una gran escala.

Esto gracias a que el desarrollo de aplicaciones o sistemas basados en Web de Java, emplea un modelo conocido como “Modelo Vista Controlador” (MVC), el cual permite al programador mantener separados:

Aun cuando algunos otros lenguajes pueden emplear este modelo, dado que Java es un lenguaje orientado a objetos; la separación de los tres elementos del sistema bajo este patrón de desarrollo es aún más fácil de implementar.

Aun cuando en la actualidad para el desarrollo de aplicaciones web existen cada vez más y más Frameworks de desarrollo, la tecnología de Java se acopla perfectamente a las nuevas tecnologías que se han ido desarrollando, pues sigue siendo la base de la funcionalidad principal del sistema o aplicación web.

En el aspecto Web Java no se limita a la programación de sistemas o paginas dinámicas, también sirve para crear applets [6]. Los cuales permiten a los desarrolladores agregar animaciones, juegos u otro tipo de programas; que son independientes a la página web siempre y cuando el navegador cuente con soporte para aplicaciones de Java (en la actualidad todos los navegadores cuentan con soporte para aplicaciones de Java).

De hecho fue gracias al desarrollo e implementación de applets que el internet, tuvo un gran éxito, lo cual marco la pauta del soporte de Java dentro de los navegadores en la actualidad.

Día con día más y más aplicaciones requieren que la computadora en la cual se van a ejecutar cuenten con una instalación de Java, la cual no necesariamente debe ser la que los desarrolladores utilizan; si no que también existe una versión que va a la par de la versión que utilizan los desarrolladores que contiene las clases e instancias necesarias para que se puedan ejecutar ciertas aplicaciones. Incluso algunas páginas web o juegos en línea piden como uno de sus requisitos el tener instalado alguna de las versiones de Java.

Analizando lo anterior, podemos observar que Java es uno de los lenguajes más utilizados en el mundo del desarrollo de aplicaciones y sistemas no importando el ambiente o plataforma en la cual se ejecute. No obstante también puede llegar a ser conflictivo.

Lo anterior prácticamente suele suceder por detalles de compatibilidad entre las versiones. Cada determinado tiempo Java libera una nueva versión del lenguaje, la cual es tan solo una mejora de la versión anterior pero, dentro de la mejora se pueden quitar o mejorar algunas de las instrucciones o clases lo cual puede llevar a errores de compatibilidad e incluso a que si se está trabajando el desarrollo de la aplicación por partes, si las versiones de Java de los desarrolladores fueran distintas pudieran llegar o no a tener problemas; y en casos más extremos la JVM puede ser la causante de muchos problemas, ya que pudiera no estar ejecutando de manera correcta las instrucciones contenidas en la aplicación. Lo cual puede ser corregido en algunos casos desinstalando la versión de Java e instalando una nueva versión de este.

Conclusiones

Java es un lenguaje programación que se puede ejecutar en múltiples plataformas, el cual día con día va ganado terreno como uno de los lenguajes de programación más utilizados en el mundo. Al ser un lenguaje multiplataforma, el desarrollo de las aplicaciones o sistemas es más sencillo pues el programador no tiene que preocuparse por el sistema operativo en el cual se ejecutara la aplicación que este desarrolle; el único requisito que deben de cumplir la computadora en la que se vaya a ejecutar el programa es tener instalada la versión adecuada de Java. Además de que si se está familiarizado con lenguajes como C y C++, el aprendizaje y utilización de Java es mucho más fácil pues la sintaxis de este es muy similar a la de C y C++.

Aunado a lo anterior está el hecho de que día con día las empresas que se dedican al desarrollo de software buscan cada vez más y más programadores que manejen este lenguaje de programación, lo cual va marcando la tendencia del uso del lenguaje. Además de que usuarios alrededor del mundo contribuyen día con día con nuevas librerías o fragmentos de códigos que ayuden a otros desarrolladores a resolver problemas comunes dentro del ámbito de la programación.

Por otra parte el hecho de que sea una tecnología de código libre, reduce relativamente los costos de desarrollo, puesto que los entornos de desarrollo para Java no requieren del pago de licencias (en su mayoría). Además de la versatilidad que tiene en el desarrollo de aplicaciones en diferentes ambientes (escritorio, web y móvil).

Por tanto, Java es una tecnología que si bien no es aun el lenguaje de programación más utilizado en el mundo del desarrollo; dado el soporte y el auge que tiene en la actualidad en el desarrollo de sistemas basados en web y aplicaciones móviles, no importando la gran variedad de Frameworks [7] que ayudan a crear sitios web más dinámicos; Java es el lenguaje de desarrollo que por excelencia podría llegar a convertirse en el lenguaje universal de desarrollo de software.

Bibliografía

Cub Planeta. (s.f.). Recuperado el 21 de Febrero de 2016, de http://www.cad.com.mx/historia_del_lenguaje_java.htm

Departamento de Lenguajes y Sistemas de Información. (s.f.). Recuperado el 17 de Febrero de 2016, de http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf

J., M. S. (2010). Programador Certificado JAVA 2 Curso Practico (3 ed.). México: Alfaomega.

Miguel, M. (Agosto de 2007). Facultad de Estudios Superiores de Iztacala. Recuperado el 21 de Febrero de 2016, de http://campus.iztacala.unam.mx/mmrg/mono54/archivos_archivos/arch_005_applets.pdf

Rais, B. (MArzo de 1996). El profesional de la información. Recuperado el 21 de Febrero de 2016, de http://www.elprofesionaldelainformacion.com/contenidos/1996/marzo/java_en_el_futuro_de_internet.html

Stackoverflow. (s.f.). Recuperado el 21 de Febrero de 2016, de http://stackoverflow.com/research/developer-survey-2015



[1] Profesor de la Escuela Superior de Tlahuelilpan

[2] Java: es una clase de café de origen Asiático.

[3] Weka: conjunto de algoritmos de autoaprendizaje para tareas de minería de datos; los cuales pueden ser ejecutados desde la aplicación como tal o desde su código en java.

[4] IDE: es una herramienta que ayuda al desarrollador a crear sus aplicaciones de una manera cómoda y sencilla.

[5] JVM: es el entorno en el cual se ejecutan los programas escritos en Java. Define esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que la computadora puede ejecutar.

[6] Applets: es un componente de una aplicación que se ejecuta dentro del contexto de otro programa.

[7] Framework: es una estructura de software compuesta de elementos personalizables e intercambiables para el desarrollo de una aplicación.