Java es un lenguaje de programación creado
para satisfacer una necesidad de la época, planteada por nuevos requerimientos
hacia los lenguajes existentes. Con la aparición de Java se desarrolló
notablemente la programación orientada a objetos (POO), lo cual permite fabricar
programas de forma más parecida al pensamiento humano. Simplifica
el problema dividiéndolo en objetos y permitiendo centrarse en cada
objeto, para de esa forma eliminar la complejidad. Cada objeto se programa
de forma autómata y esa es la principal virtud.
Características que se le atribuyen a Java como súper-lenguaje:
- Simple: Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las características menos usadas y más confusas de éstos.
- Orientado a Objetos: Soporta las características fundamentales del paradigma, todo en Java es clase u objeto.
- Distribuido: Java se ha construido con extensas capacidades de interconexión.. Existen librerías de rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a los programadores acceder a la información a través de la red con tanta facilidad como a los ficheros locales.
- Robusto: Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución.
- Arquitectura neutral: El compilador Java compila su código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (run-time) puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha sido generado.
- Seguro: La máquina virtual hace chequeos para asegurarse de la autenticidad del código.
- Portable: Los tipos de datos se implementan siempre de igual forma. El sistema de ventana sirve en cualquier Sistema Operativo.
- Multihilo: Java permite muchas actividades simultáneas en un programa.
- Dinámico: Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución.
Java es un lenguaje sencillo de aprender. Su
sintaxis es la de C++ “simplificada”. Los creadores de Java partieron
de la sintaxis de C++ y trataron de eliminar todo lo que resultase complicado o
fuese fuente de errores en este lenguaje. La herencia múltiple, la
aritmética de punteros, la gestión de memoria dinámica (que en Java
se realiza de modo transparente para el programador gracias al recogedor
de basura) son ejemplos de puntos complicados del lenguaje C++ que en
Java se han eliminado o simplificado. Esta decisión de diseño, intencionada,
tenía como objetivo atraer a desarrolladores con conocimientos de C++
al nuevo lenguaje de programación, objetivo que fue alcanzado.
Java es completamente independiente de la máquina y el sistema operativo
en el que se ejecuta. El código generado por el compilador Java es
independiente de la arquitectura: podría ejecutarse en un entorno UNIX,
Mac o Windows; en un procesador Sparc, x86, PowerPC, ARM, tanto de 32
como de 64 bits. El motivo de esto es que el que realmente ejecuta el
código generado por el compilador no es el procesador del ordenador
directamente, sino que se ejecuta mediante una máquina virtual, que
es la que genera código máquina adecuado para cada arquitectura.
Además, Java es portable a nivel de código fuente. El párrafo anterior,
aborda la portabilidad de Java a nivel de binario: un mismo programa
compilado puede ejecutarse en distintas arquitecturas. Pero además
en el lenguaje Java no hay aspectos dependientes de la implementación,
todas las implementaciones de Java siguen los mismos estándares en
cuanto a tamaño y almacenamiento de los datos, y en cuanto al modelo
de memoria que ven las aplicaciones.
Java es un lenguaje de programación robusto y seguro. Estas características
surgen en buena medida de ser un lenguaje que no es ejecutado directamente
por la CPU, sino que es ejecutado por la máquina virtual. Esta máquina
virtual puede controlar los permisos que se le otorgan a una determinada
aplicación y garantizar que dichos permisos no son violados. Por ejemplo,
Java proporciona soporte para la creación de Applets. Estos son programas
diseñados para ser ejecutados de modo automático cuando un usuario
visita una página web. Si el Applet no estuviese restringido en lo
que puede hacer al ejecutarse, podría comprometer nuestra máquina.
Sin embargo, Java garantiza que ningún Applet puede escribir o leer
de nuestro disco o mandar información del usuario que accede a la página
a través de la red (como, por ejemplo, la dirección de correo electrónico).
En general no le permite realizar cualquier acción que pudiera dañar
la máquina o violar la intimidad del que visita la página web.
No hay comentarios:
Publicar un comentario