El lenguaje Java
Características principales (I) Lenguaje interpretado. Fuertemente tipado. Sintaxis similar a C/C++. Sin punteros: Garbage collection. 100% portable. Integra librearías estándar para: Interfaces de usuario. Objetos distribuidos. Threads.
Características principales (y II) Ejecutable desde navegadores web. Origen: Aumento de HTML para conseguir páginas Web dinámicas. Versiones: 1995 – JDK 1.0 1997 – JDK 1.1 … 2004 – JDK 1.5
Desarrollo en Java Java Development Kit (JDK): Java Runtime Environment (JRE): Java Virtual Machine. Java API: lenguaje básico y librerías estándar. Compilador a bytecode. Otras herramientas: Debuggers. Applet viewer. Compiladores RMI …
Compilación e interpretación class Ejemplo { … }
class Aux { … }
Ejemplo.java Compilador Java Ejemplo.class Aux.class Java Virtual Machine JVM
Comparativa: Java vs. C++ (I) Interpretado
Portable
Todo memoria dinámica Garbage collection No existen punteros
Todos los métodos virtuales
No hay herencia múltiple
Información sobre clases en tiempo de ejecución.
Tratamiento genérico de tipos (wrappers).
Java C++ Compilado
Aspectos no portables
Memoria automática y dinámica Gestión del programador Existen punteros
No todos los métodos virtuales
Hay herencia múltiple
Información muy escasa (dynamic_cast).
Punteros a void.
Comparativa: Java vs. C++ (y II) Soporte estándar para interfaces: AWT, SWING
Soporte estándar para concurrencia
Soporte estándar para objetos distribuidos
Ejecutable en navegadores web
Homogeneidad del lenguaje
Lenguaje bien diseñado
Java C++ No incluido en el lenguaje: Microsoft MFC, Borland OWL…
No incluido en el lenguaje
No incluido en el lenguaje: CORBA, ActiveX
No ejecutable por navegadores
Múltiples sintaxis
Compatibilidad con C
Elementos del lenguaje
Aspectos léxicos Ignora múltiples espacios en blanco Sentencias separadas por “;”. Comentarios: /* … */ ? Múltiples líneas de comentario // ? Una única línea de comentario Case – sensitive. Convenios de nomenclatura: Clases con mayúscula. Métodos y variables con minúscula. etc…
Página siguiente |