Modulo 2 Inicio Con Java

6
Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, ¿que es en realidad Java?, ¿cual es su historia?, ¿para que me sirve Java?, ¿como aplicamos Java en el mundo real?, y mas importante aún ¿Cómo Java nos ayuda a desarrollar el curso de lenguajes de programación?. A continuación resolveremos parte de estas dudas, las no resueltas las trataremos más adelante 1. Historia de Java. El lenguaje de programación Java es diseñado para resolver los desafíos del desarrollo de aplicaciones que se ejecuten en diferentes ambientes y en redes heterogéneas. Algunos de estos desafíos tienen que ver con la seguridad en las aplicaciones, el consumir un mínimo de recursos, funcionar en diferentes plataformas de hardware y software, y crecer dinámicamente. Java se origino como parte de un proyecto de investigación que pretendía desarrollar un software para una amplia gama de dispositivos. La meta era desarrollar una aplicación pequeña, confiable, portable y que se pudiese distribuir en tiempo real. La opción a este problema era desarrollar la aplicación en un lenguaje conocido, C++ fue entonces la solución. Luego de comenzar el proyecto se encontraron dificultades lo que llevo a crear enteramente la plataforma Java. Java aparece entonces como una solución diferente el desarrollo y la forma como se debe distribuir el software. [1] 2. ¿Qué es entonces Java? Java es un lenguaje de programación de alto nivel caracterizado por ser: Simple Distribuido Multitarea Orientado a objetos Portable De alto rendimiento De arquitectura neutra e independiente Robusto Seguro

Transcript of Modulo 2 Inicio Con Java

Page 1: Modulo 2 Inicio Con Java

Modulo 2. Inicio con Java

Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como

lenguaje de programación o como plataforma, pero, ¿que es en realidad Java?, ¿cual es

su historia?, ¿para que me sirve Java?, ¿como aplicamos Java en el mundo real?, y mas

importante aún ¿Cómo Java nos ayuda a desarrollar el curso de lenguajes de programación?.

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos más

adelante

1. Historia de Java.

El lenguaje de programación Java es diseñado para resolver los desafíos del desarrollo

de aplicaciones que se ejecuten en diferentes ambientes y en redes heterogéneas. Algunos de

estos desafíos tienen que ver con la seguridad en las aplicaciones, el consumir un mínimo de

recursos, funcionar en diferentes plataformas de hardware y software, y crecer

dinámicamente.

Java se origino como parte de un proyecto de investigación que pretendía desarrollar un

software para una amplia gama de dispositivos. La meta era desarrollar una aplicación

pequeña, confiable, portable y que se pudiese distribuir en tiempo real.

La opción a este problema era desarrollar la aplicación en un lenguaje conocido, C++

fue entonces la solución. Luego de comenzar el proyecto se encontraron dificultades lo

que llevo a crear enteramente la plataforma Java.

Java aparece entonces como una solución diferente el desarrollo y la forma como se

debe distribuir el software. [1]

2. ¿Qué es entonces Java?

Java es un lenguaje de programación de alto nivel caracterizado por ser:

Simple

Distribuido

Multitarea

Orientado a objetos

Portable

De alto rendimiento

De arquitectura neutra e independiente

Robusto

Seguro

Page 2: Modulo 2 Inicio Con Java

2.1 Simple, orientado a objetos y familiar.

Las características primarias del lenguaje de programación de Java incluyen una lengua

simple en la que se puede programar sin un entrenamiento extenso. Los conceptos

fundamentales de la tecnología de Java se aprenden rápidamente, así; los programadores

pueden ser productivos desde el principio. El lenguaje de programación Java es diseñado

dentro del grupo de lenguajes orientado a objetos, siendo la tecnología de desarrollo

orientado a objetos la corriente principal que se ha gestado después de mas de 30

años de la programación.

Con Java los programadores usan y acceden a librerías de objetos ya probados, dichas librerías

extienden el comportamiento y funcionalidad de datos básicos a través de: entradas y

salidas, interfases de red o interfaces graficas. Estas librerías se pueden a su vez

extender para proporcionar nuevos comportamientos.

Aunque C++ fue rechazado como lengua para la solución que dio origen a Java, el

lenguaje Java no se alejo del lenguaje C++ y conservo muchas de las características de objetos

usados por el lenguaje. Causando esto que Java sea familiar a un programador de C++ y pueda

emigrar fácilmente hacia el.

2.2 Seguro y robusto

Java es diseñado para crear software altamente confiable. Proporciona una extensa

verificación en tiempo de compilación, seguida de un segundo nivel de verificación en tiempo

de ejecución Java es diseñado para ser ejecutado en diferentes plataformas y ambientes de

producción, por lo cual la seguridad se convierte de vital importancia, Java no permite

construir aplicaciones que invadan el exterior de la aplicación, los programas de Java no

pueden ser atacados por código de puertas traseras, virus, etc.

El modelo de administración de la memoria es extremadamente simple, los objetos se

crean por un nuevo operador, no hay tipo de datos definidos explícitamente, no existe

manejo de apuntadores y se cuenta con un recolector de basura (garbage collection) memoria

no usada de forma automática.

2.3 Arquitectura neutra y portable

Como se ha mencionado la tecnología Java fue diseñada para desarrollar aplicaciones

que funcionaran sin problemas en diferentes tipos de redes, diferentes sistemas

operativos, etc. Para solucionar este problema el compilador de Java genera un

bytecode – formato intermedio y neutro, indiferente de la arquitectura que se puede

transportar eficientemente - .

La característica de neutralidad del bytecode es apenas una porción de lo que hace

verdaderamente a un sistema “portable”. Java determina y específica los tamaños de sus

tipos de datos, y del comportamiento de sus operadores aritméticos, de esta forma se

garantiza que los programas se ejecuten de igual forma sin incompatibilidades por pasar de

una arquitectura de hardware o software a otra.

Page 3: Modulo 2 Inicio Con Java

La plataforma que hace a Java un lenguaje de arquitectura neutra y portable se conoce como

la Maquina Virtual de Java (JVM). Existe documentación y una referencia amplia de las

especificaciones para una maquina virtual.

2.4 Alto desempeño

Java alcanza su mayor desempeño adoptando el esquema de funcionamiento: El run-time

interprete no necesita realizar comprobaciones; El recolector de basura funciona como un hilo

independiente que se ejecuta en background y con prioridad baja, asegurando que se

encuentre memoria disponible cuando se necesite.

En Java los cálculos o procesamientos extensos pueden ser diseñados y reescritos en

código nativo, conectándose a la tecnología Java para mejorar el desempeño cuantas veces sea

necesario.

2.5 Interpretado, Multitarea, y dinámico

Las aplicaciones de red actuales, tales como el navegador HotJava para Internet,

necesitan comúnmente hacer varias operaciones o tareas al mismo tiempo. Java

proporciona los medios para construir aplicaciones con muchos hilos de ejecución

concurrentes gracias a la capacidad multithreading (multitarea), dando así una gran

interactividad para el usuario final.

Java soporta la multitarea en el nivel de lenguaje con la adición de una sofisticada

sincronización primitiva: La librería del lenguaje proporciona la clase Thread (hilo) y el sistema

de run-time proporciona un sistema de monitoreo y condiciones para controlar los bloqueos.

Mientras que el compilador de Java es cerrado y estricto en su comprobación estática en

tiempo de compilación, el lenguaje y sistema de run-time es totalmente dinámico al

momento de ligar las clases, a su vez que solo liga las clases necesarias. [1]

3. ¿Qué es entonces la tecnología JAVA?

Java como tecnología esta compuesto por:

Un lenguaje de programación

Un ambiente de desarrollo

Un ambiente de aplicación

Un ambiente de despliegue

4. Algunas consideraciones de Java

La Maquina Virtual de Java, es una maquina imaginaria que trata de simular las

implementaciones de software de una maquina real. La JVM brinda las especificaciones de una

Page 4: Modulo 2 Inicio Con Java

maquina de hardware, de esta manera se logra una independencia de los programas

realizados en java de la plataforma especifica de hardware. La JVM se podría pensar como un

puende entre el Hardware real y el código bytecode generado en la compilación.

El “Garbage Collection”, es el encargado de administrar la memoria en Java en tiempo de

ejecución, de esta manera el programador no se preocupa por la administración de la memoria

en las diferentes etapas de desarrollo.

Seguridad en el codigo, en Java se logra a través de la Java Runtime Environment (JRE). El JRE

ejecuta el código compilado para una JVM y realiza la carga de clases (a través del cargador de

clases), la verificación del código (a través del verificador de bytecodes) y, por último,

la ejecución de código.

El cargador de clases es el responsable de colocar en memoria las clases necesarias por un

programa Java, este adiciona seguridad en el momento de la carga, no permite la ejecución de

virus, troyanos, etc.

5. ¿Como funciona Java?

Todo el código es escrito en archivos de texto plano que terminan con extensión .java.

Estos archivos se conocen con el nombre de fuentes y son compilados en archivos .class

por el compilador javac. Un archivo .class no contiene el código nativo que es entendido

por el procesador, en lugar de esto contiene el bytecode que es entendido por la maquina

virtual (JVM). Al ejecutar una aplicación en Java esta es lanzada y puesta en

funcionamiento entonces con una maquina virtual desarrollada para la plataforma apropiada.

La maquina virtual de Java esta disponible en muchos sistemas operativos, así los mismos

archivos .class que contienen el bytecode se pueden utilizar de una plataforma a otra.

Page 5: Modulo 2 Inicio Con Java

Algunas maquinas virtuales tienen funcionalidades diferentes o realizan pasos adicionales

en tiempo de ejecución para mejorar el rendimiento de las aplicaciones.

3.1 La plataforma Java.

Una plataforma es el ambiente de hardware o de software en el cual un programa

funciona. Hemos mencionado ya algunas de las plataformas más populares como el

Sistema operativo (OS) de Microsoft Windows, de Linux, de Solaris, y el OS de Mac. La

mayoría de las plataformas se pueden describir como una combinación del sistema

operativo y del hardware subyacente. La plataforma de Java se diferencia de la mayoría de

las otras plataformas por que es una plataforma basada en software solamente y que funciona

por encima de otras plataformas basadas en hardware.

La plataforma de Java tiene dos componentes:

• La máquina virtual de Java

• Las interfaces de programación de aplicaciones Java (API)

Como se ha visto a lo largo del documento, la maquina virtual de Java es la base para la

plataforma Java y esta se encuentra por encima de las plataformas basadas en hardware.

El API es una colección de componentes de software que brindan muchos beneficios. Dentro

de las librerías se encuentran diferentes tipos de classes e interfaces, las librerías son

conocidas con el nombre paquetes. [2]

Page 6: Modulo 2 Inicio Con Java

REFERENCIAS

[1] James Gosling (1996), The Java Language Environment. En version online:

http://java.sun.com/docs/white/langenv/

[2] Sun Microsystems, The Java Tutorials. En version online:

http://java.sun.com/docs/books/tutorial/ Tutorial de Java en SUN