martes, 31 de marzo de 2009

Java
Estructura y gestión de datos
En la actualidad existen diversos tipos de lenguajes que han sido creados para una determinada función, están especialmente diseñados para facilitar la programación de distintos tipos de problemas, garantizando la seguridad de las aplicaciones para obtener una mayor facilidad de programación y conseguir un mayor aprovechamiento de los recursos del ordenador.
Cuando un programador elige un lenguaje debe pensar en sus necesidades y la facilidad de la programación.
Como nuevos estudiantes de java debemos preguntarnos para que fue pensado este programa.

Que es java?
Java es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Está desarrollado por la compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más punteras.

¿Para que se creo java?
La tecnología Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box (cuya traducción literal al español es aparato que se coloca encima del televisor, es el nombre con el que se conoce el dispositivo encargado de la recepción y opcionalmente decodificación de señal de televisión analógica o digital (DTV), para luego ser mostrada en un dispositivo de televisión) en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991


Características de java
Las características mas generales de java nos ayudaran haber para que tipo de problemas esta pensado este lenguaje:
Simple: es un lenguaje sencillo de aprender de sintaxis parecida ala de c++ pero mas simplificado. Cabe aclarar que los creadores de java partieron de la sintaxis de c++, tratando de eliminar las partes complicadas y las fuentes de error del lenguaje.
Orientado a objeto: posiblemente sea el lenguaje mas orientado a objeto de los existentes; en java todo a excepción de los tipos fundamentales de variables (int, char, long, etc.) es un objeto.
Distribuido: java esta muy orientado al trabajo en red soportando protocolos como tcp/IP, udp, http y ftp. El uso de estos protocolos es bastante sencillo comparándolo con otros lenguajes que los soportan
HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura Web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor.

Robusto
El compilador java detecta muchos errores que otros compiladores solo detectarían en tiempo de ejecución o incluso nunca.
If(a=b) then, el compilador java no nos dejaría compilar este código.
Seguro: es un lenguaje muy seguro en cuanto al desarrollo de sus aplicaciones, especialmente en los apple. Esto son programas diseñados para ser ejecutados en una página Web. El programa java garantiza que ningún apple puede escribir o leer desde nuestro disco, o mandar información del usuario que accede ala pagina 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 maquina o violar la intimidad del que visita la pagina Web.
portable: en java no hay aspectos dependientes de la inplementacion, java sigen los mismos estandares en cuanto a tamaño y almacenamiento de datos, esto no ocurre asi en c++ por ejemplo. en este un entero puede tener un tamaño de 16, 32, o mas bits siendo la unica limitacion que un entero sea mayor que un yort o menor que un long int. c++ vajo sistema operativo iunit almacena los datos en formatos littleendia mientras que vajo windon lo ase en formato big endia. java lo ase siempre en little endian para evitar comfucion.
nota: Big y Little Endian se refiere al formato en el cual un dato con múltiples bytes se ordena para escribirse en la memoria de una computadora.
En el formato Big Endian el extremo más grande de cualquier dato aparece en primer lugar. El segundo formato Little Endian se almacena al contrario, es decir al inicio se pone el dato más pequeño.
Conocer estos formatos nos ayudan a interpretar archivos correctamente, ya que el uso entre formatos Big-endian y Little endian depende de la arquitectura del procesador. Un ejemplo más concreto de esto es Intel(Little Endian) y Apple clásico (Big Endian).

Es PORTABLE :
Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros estándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además, enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, Pc o Mac.

Es INTERPRETADO :
El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. Enlazar (linkar) un programa, normalmente, consume menos recursos que compilarlo, por lo que los desarrolladores con Java pasarán más tiempo desarrollando y menos esperando por el ordenador. No obstante, el compilador actual del JDK es bastante lento. Por ahora, que todavía no hay compiladores específicos de Java para las diversas plataformas, Java es más lento que otros lenguajes de programación, como C++, ya que debe ser interpretado y no ejecutado como sucede en cualquier programa tradicional.

Se dice que Java es de 10 a 30 veces más lento que C, y que tampoco existen en Java proyectos de gran envergadura como en otros lenguajes. La verdad es que ya hay comparaciones ventajosas entre Java y el resto de los lenguajes de programación, y una ingente cantidad de folletos electrónicos que supuran fanatismo en favor y en contra de los distintos lenguajes contendientes con Java. Lo que se suele dejar de lado en todo esto, es que primero habría que decidir hasta que punto Java, un lenguaje en pleno desarrollo y todavía sin definición definitiva, está maduro como lenguaje de programación para ser comparado con otros; como por ejemplo con Smalltalk, que lleva más de 20 años en cancha.

Es MULTITHREADED :
Al ser multithreaded (multihilvanado, en mala traducción), Java permite muchas actividades simultáneas en un programa. Los threads (a veces llamados, procesos ligeros), son básicamente pequeños procesos o piezas independientes de un gran proceso. Al estar los threads contruidos en el lenguaje, son más fáciles de usar y más robustos que sus homólogos en C o C++.
El beneficio de ser miltithreaded consiste en un mejor rendimiento interactivo y mejor comportamiento en tiempo real. Aunque el comportamiento en tiempo real está limitado a las capacidades del sistema operativo subyacente (Unix, Windows, etc.), aún supera a los entornos de flujo único de programa (single-threaded) tanto en facilidad de desarrollo como en rendimiento.

Cualquiera que haya utilizado la tecnología de navegación concurrente, sabe lo frustrante que puede ser esperar por una gran imagen que se está trayendo. En Java, las imágenes se pueden ir trayendo en un thread independiente, permitiendo que el usuario pueda acceder a la información en la página sin tener que esperar por el navegador.

Es DINAMICO :
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. Las librería nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API anterior).


No hay comentarios:

Publicar un comentario