IsAbEl

Home
Introduccion
Historia de JAVA
Caracteristicas
LIBRERIAS
COMPARATIVA DE JAVA Y OTROS LENGUAJES
PALABRAS RESERVADAS
JAVA EN INTERNET
¿POR QUE RECOMIENDAN JAVA?
MI OPINION
BIBLIOGRAFIAS
Caracteristicas

Lenguaje simple

Java posee una curva de aprendizaje muy rápida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características, como los punteros. Debido a su semejanza con C y C++, y dado que la mayoría de la gente los conoce aunque sea de forma elemental, resulta muy fácil aprender Java. Los programadores experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.

Orientado a objetos

Java fue diseñado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente en entornos cada vez más complejos y basados en red.

Distribuido

Java proporciona una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas.

Interpretado y compilado a la vez

Java es compilado, en la medida en que su código fuente se transforma en una especie de código máquina, los bytecodes, semejantes a las instrucciones de ensamblador.
Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real (run-time).

Robusto

Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.

Seguro (?)

Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real.

Indiferente a la arquitectura

Java está diseñado para soportar aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñado para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.

Portable

La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas.
Estas dos últimas características se conocen como la Máquina Virtual Java (JVM).

Alto rendimiento

Multihebra

Hoy en día ya se ven como terriblemente limitadas las aplicaciones que sólo pueden ejecutar una acción a la vez. Java soporta sincronización de múltiples hilos de ejecución (multithreading) a nivel de lenguaje, especialmente útiles en la creación de aplicaciones de red distribuidas. Así, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos.

Dinámico

El lenguaje Java y su sistema de ejecución en tiempo real son dinámicos en la fase de enlazado. Las clases sólo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos módulos de código bajo demanda, procedente de fuentes muy variadas, incluso desde la Red.

Produce applets

Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets.
Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito íntegramente en Java.
Por su parte, las applets son pequeños programas que aparecen embebidos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc.

___________________________________________________

 

INFORMACION DEL LIBRO

 

CARACTERISTICAS DE JAVA

Hay muchas razones por las que Java es tan popular y útil. Aquí se resumen algunas características importantes.

*      Orientada a objetos: Java esta totalmente orientado a objetos. No hay funciones sueltas en un programa de Java. Todos los métodos se encuentran dentro de clases. Los tipos de datos primitivos, como los enteros o dobles, tienen empaquetadores de clases, siendo estos objetos por sí mismos, lo que permite que el programa las manipule.

*       Simplicidad: la sintaxis de Java es similar a ANSI C y C++ y, por lo tanto, fácil de aprender; aunque es mucho mas simple y pequeño que C++. Elimina encabezados de archivos, preprocesador, aritmética de apuntadores, herencia múltiple, sobrecarga de operadores, struct, union y plantillas. Además, realiza automáticamente la recolección de basura, lo que hace innecesario el manejo explicito de memoria.

*      Compactibilidad: Java esta diseñado para ser pequeño. La versión mas compacta puede utilizarse para controlar pequeñas aplicaciones. El interprete de Java y el soporte básico de clases se mantienen pequeños al empaquetar por separado otras bibliotecas.

*      Potabilidad: sus programas se compilan en el código de bytes de arquitectura neutra y se ejecutaran en cualquier plataforma con un intérprete de Java. Su interprete esta escrito en ANSI C. De cualquier modo, la especificación del lenguaje Java no tiene características dependientes de la implantación.

*      Amigable para el trabajo en red: Java tiene elementos integrados para comunicación en red, applets Web, aplicaciones cliente servidor, además de acceso cliente-servidor; además de acceso remoto a base de datos, métodos y programas.

*      Soporte a GUI: la caja de herramientas para la creación de ventanas abstractas (Abstrac Windowing Toolkit) de Java simplifica y facilita la escritura de programas GUI orientados a eventos con muchos componentes de ventana.

*      Carga y vinculación incremental dinámica: las clases de Java se vinculan dinámicamente al momento de la carga. Por tanto, la adición de nuevos métodos y campos de datos a clases, ya requieren de recopilación de clases del cliente. En C++ por ejemplo, un archivo de encabezado modificado necesita reunir todos los archivos del cliente. Además, las aplicaciones pueden ejecutar instrucciones para buscar campos y métodos y luego utilizarlos de manera correspondiente.

*      Internacionalización: los programas de Java están escritos en Unicode, un código de carácter de 16 bits que incluye alfabetos de los lenguajes mas utilizados en el mundo. La manipulación de los caracteres de Unicode y el soporte para fecha/hora local, etcétera, hacen que Java sea bienvenido en todo el mundo.

*      Hilos: Java proporciona múltiples flujos de control que se ejecutan de manera concurrente dentro de uno de sus programas. Los hilos permiten que su programa emprenda varias tareas de cómputo al mismo tiempo, una característica que da soporte a programas orientados a eventos, para trabajo en red y de animación.

*      Seguridad: entre las medidas de seguridad de Java se incluyen restricciones en sus applets, implantación redefinible de sockets y objetos de administrador de seguridad definidos por el usuario. Hacen que los applets sean confiables y permiten que las aplicaciones implanten y se apegen a reglas de seguridad personalizadas. 

 

Enter content here

Enter supporting content here