3 - Generalidades de Java
3 - Generalidades de Java
3 - Generalidades de Java
FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA
PROGRAMACION ORIENTADA A OBJETOS
GUIA NO. 3
GENERALIDADES DE JAVA
OBJETIVOS
QUÉ ES JAVA
HISTORIA
CARACTERÍSTICAS DE JAVA
Simple
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 de
este todo lo que resultase complicado o fuente de errores en este lenguaje.
Dinámico
El lenguaje java y su sistema de ejecución en tiempo real son dinámicos en la
fase de enlazado
Orientado a Objetos
Posiblemente sea el lenguaje más orientado a objetos de todos los existentes;
en Java todo, a excepción de los tipos fundamentales de variables (int, char,
long...) es un objeto.
Distribuido
Java es muy orientado al trabajo en red. Soporta protocolos TCP/IP, UDP,
HTTP y FTP, el uso de estos protocolos es sencillo comparado con otros
lenguajes que lo soportan. Periten abrir sockets y establecer y aceptar
conexiones con servidores o clientes remotos.
Robusto
Seguro
Sobre todo un tipo de desarrollo: los Applet. Estos son programas diseñados
para ser ejecutados en una página web. 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 permite realizar cualquier acción que pudiera dañar
la máquina o violar la intimidad del que visita la página web.
Portable
En 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.
Esto no ocurre así en C++, por ejemplo. En éste un entero, por ejemplo, puede
tener un tamaño de 16, 32 o más bits, siendo lo única limitación que el entero
sea mayor que un short y menor que un long int. Así mismo C++ bajo UNIX
almacena los datos en formato little endian,
Este esquema lo han seguido otros lenguajes, como por ejemplo Visual Basic.
Sin embargo, nunca se había empleado como punto de partida a un lenguaje
multiplataforma ni se había hecho de manera tan eficiente. Cuando Java
apareció en el mercado se hablaba de que era entre 10 y 30 veces más lento
que C++. Ahora, con los compiladores JIT (Just in Time) se habla de tiempos
entre 2 y 5 veces más lentos. Con la potencia de las máquinas actuales, esa
lentitud es un precio que se puede pagar sin problemas contemplando las
ventajas de un lenguaje portable.
Arquitectura Neutral
El código generado por el compilador Java es independiente de la arquitectura:
podría ejecutarse en un entorno UNIX, Mac o Windows. 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 este se ejecuta mediante una
máquina virtual. Esto permite que los Applets de una web pueda ejecutarlos
cualquier máquina que se conecte a ella independientemente de que sistema
Rendimiento medio
Actualmente la velocidad de procesado del código Java es semejante a la de
C++, hay ciertos pruebas estándares de comparación (benchmarks) en las que
Java gana a C++ y viceversa.
Multithread
Soporta de modo nativo los threads, sin necesidad del uso de de librerías
específicas (como es el caso de C++). Esto le permite además que cada
Thread de una aplicación java pueda correr en una CPU distinta, si la
aplicación se ejecuta en una máquina que posee varias CPU. Las aplicaciones
de C++ no son capaces de distribuir, de modo transparente para el
programador, la carga entre varias CPU.
Orientación a objetos