JAVA

El lenguaje de Java tiene características que lo han hecho un lenguaje esencial para la programación de sistemas de cómputo, que consta de los siguientes puntos:

► Orientado a objetos. Ante todo Java es un lenguaje orientado a objetos, lo cual lo pone en la misma categoría que lenguajes como C++ y Smalltalk. Como parte de esta característica, se cuenta con un ligado dinámico (dynamic linkage) de clases en tiempo de ejecución, herencia y polimorfismo; además de aspectos de metanivel similares a los de Smalltalk.

► Portátil. Un aspecto que ha hecho de Java un lenguaje muy utilizado es su portabilidad. A diferencia de lenguajes como C y C++, que varían en su detalle dependiendo de la máquina en que se ejecuten, Java es exactamente igual en cualquier plataforma. Por ejemplo, a diferencia de C y C++, el tamaño de los tipos de datos en Java es fijo, independiente de la máquina. La importancia de este aspecto es que si se compila el programa en una plataforma particular, el sistema correrá en cualquier máquina, reduciendo mucho el costo de desarrollo (tiempo y dinero). Para ello, está el concepto de la máquina virtual de Java (Java Virtual Machine, JVM), que debe existir en cada plataforma donde se ejecute un programa de Java.

► Abierto. Este aspecto de portabilidad ocurre gracias a su diseño abierto, que permite a cualquier compañía, e incluso desarrollador, tomar el código fuente, para adaptarlo a una nueva plataforma donde aún no se ha probado. Ninguno de los demás lenguajes ofrecen esta característica. Otra razón de la gran popularidad de Java.

► Gratis. Muy de la mano con el aspecto “abierto” está que el lenguaje se ofrece gratis, aunque bajo licencia, a cualquier usuario. Esto reduce el costo de la aplicación y fortalece la decisión de utilizarlo en distintas plataformas, donde no se incurre en el costo de pagar gran número de licencias, como es obligatorio en la mayoría de los demás productos.

► Integrado a la web. Éste es uno de los aspectos que ha impulsado la gran difusión de Java, en una época donde la Internet ha sido de crucial importancia. Java es el único lenguaje, con excepción de algunos lenguajes scripts, que viene integrado con los navegadores (browsers) más utilizados en la Web.

► Simple. Otro aspecto es su similitud con C y C++, en relación con las expresiones básicas del lenguaje. Esto ha permitido a los programadores aprender Java de manera más rápida, a diferencia de lenguajes como Smalltalk que requieren un cambio en la manera de pensar de los programadores ya acostumbrados a C y C++. Sin embargo, Java se considera más puro que C++, ya que no contiene más que clases, lo que simplifica el programa y al propio compilador. Java disminuye la complejidad de C++, como es la aritmética de apuntadores, que a su vez agrega complejidad a la administración de memoria. Se elimina la complejidad adicional de tipos como estructuras y el uso de asociaciones de tipo, a través de typedefs, junto con el preprocesa-dor de C++ con palabras reservadas como #define, #include y #ifdef. Otro aspecto que se elimina es la sobreescritura de operadores. También se eliminan aspectos de manejo complicado como la herencia múltiple.

► Robusto. En contraste con C++ y, en especial, con C, Java está fuertemente tipificado, lo que ayuda a encontrar con mayor facilidad los errores de programación durante la etapa de compilación. Java también incluye manejo de excepciones y recolección de basura, con objeto de lograr programas más robustos.

► Seguro. Debido a la eliminación de los apuntadores de C y C++, Java logra un modelo de manejo de memoria mucho más seguro, que además se apoya en el modelo de verificación de código en tiempo de ejecución, como veremos más adelante en la descripción del modelo completo de Java.

► Eficiencia. En la actualidad, Java está considerado como un lenguaje eficiente. Aunque nunca llegue a la eficiencia de C, en este aspecto se le compara con C++. Esta eficiencia se basa en que cuenta con un compilador para generar el código en contraste con aquellos lenguajes completamente interpretados, donde el rendimiento es menor. Ahora Java cuenta con un compilador incremental (Just-in-Time Compiler, JIT), que ayuda a lograr estos objetivos.

► Bibliotecas. Otro aspecto que ha hecho de Java un lenguaje muy aceptado es la riqueza de sus bibliotecas o paquetes (package). Esto está en contraste radical con C y C++, donde las bibliotecas realmente no existen. En cambio Java contiene un gran número de bibliotecas que facilitan la creación de programas, además de asegurar una estandarización entre aplicaciones. Existen bibliotecas para el manejo de estructuras de datos avanzadas, manejo de multimedia, manejo de redes como TCP/IP, procedimientos remotos y concurrencia mediante múltiples hilos de procesamiento (múltiple threads), estos últimos también conocidos como procesos finos o livianos. En la actualidad, aprender el lenguaje de Java como tal es sólo 10% del esfuerzo, 90% restante se enfoca a aprender a utilizar sus bibliotecas. Obviamente se estudian sólo aquellas que se desea conocer. Por ejemplo, una biblioteca importante es la del sistema de ventanas que puede correr bajo cualquier plataforma. Existe el Abstract Window Toolkit (AWT) desde la primera versión de Java, y se cuenta en la actualidad con las bibliotecas Java Foundation Classes (JFC), también conocidas como SWING. Además de éstas existen bibliotecas de manejo de gráficas en dos y tres dimensiones. Incluso existen versiones para correr en plataformas móviles, como asistentes personales.

► Tecnología. Existe un gran número de productos y tecnología desarrollados alrededor de Java. Aparte de este lenguaje se cuenta con productos tales como Enterprise JavaBeans (EJB), Java Server Pages (JSP), Java Servlets y Java Data Base Connectors (JDBC). Además, existen productos relacionados con estándares tales como Common Object Request Brower Architecture (CORBA) y extended Markup Language (XML). En la actualidad hay tres ediciones principales Java: Java2 Enterprise Edition (J2EE), Java2 Standard Edition (J2SE) y Java2 Micro Edition (J2ME).

Weitzenfeld, Alfredo. “Introducción a Java.” Ingeniería de Software Orientada a Objetos con UML, Java e Internet, Cengage Learning, 2005, pp. [129]-134. Gale Virtual Reference Library, bibliotecavirtual.unad.edu.co:2081/ps/i.do?p=GVRL&sw=w&u=unad&v=2.1&it=r&id=GALE%7CCX3004300042&asid=81fb1d420e8abce85922ab918a53efa4. Accessed 6 Mar. 2017.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s