Java – Introducción

| 2013-09-20 | No hay comentarios »

¿Qué es Java?

Hacia 1990, James Gosling, quien trabaja para Sun Microsystems, fue el encargado de crear programas para controlar aparatos electrónicos domésticos. Originalmente Gosling y suequipo empezaron el diseño de su software usando C++, debido a su orientación a objetos. Sin embargo, se dieron cuenta que C++ no satisfacía los proyectos que se tenían en mente; encontraron dificultades con aspectos complicados de C++ como la herencia múltiple de clases, errores de programación (bugs) relacionados con huecos de memoria.

De esta manera Gosling decidió que tenía que empezar por escribir un lenguaje simplificado que le evitara todos los problemas que se encontró con C++.

Aunque a Gosling no le importó la complejidad de lenguajes como C++, tomo la sintaxis básica y la orientación a objetos del lenguaje.

Cuando terminó el nuevo lenguaje lo llamó Oak (se cuenta que el nombre le vino a Gosling mientras veía un roble por la ventana de su oficina.) Oak se uso por primera vez en un proyecto llamado Proyecto Green, donde el equipo de desarrollo intentó diseñar un sistema de control para usar dentro del hogar.

Con el tiempo Sun Microsystems descubrió que el nombre Oak ya había sido usado y le cambió el nombre por Java, y vio nacer un lenguaje poderoso y sencillo. Java es un lenguaje independiente de la plataforma, lo que significa que los programas desarrollados en Java correrán en cualquier sistema sin cambios.

Java tiene las siguientes características:

• La Máquina Virtual de Java (JVM)

• Recolección de basura

• Seguridad en el código

La especificación de la Máquina Virtual de Java define a ésta como: “Una máquina imaginaria que es implantada por la emulación de software en una máquina real. El código para la JVM es almacenado en archivos .class, cada uno contiene código para al menos una clase pública”. Esta especificación permite a los programas Java ser independientes de la plataforma porque la compilación es hecha por una máquina genérica. Al intérprete de Java de cada plataforma de hardware le corresponde asegurar la ejecución del código compilado para la JVM.

Muchos lenguajes de programación permiten el alojamiento dinámico de memoria en tiempo de ejecución. Este proceso varía en la sintaxis de los lenguajes, pero siempre hay un valor de retorno de un apuntador a ladirección de inicio del bloque de memoria. Una vez que la memoria ocupada ya no se necesita, el programa o el ambiente de ejecución debería liberar la memoria para prevenir que el programa corra sin memoria disponible.

En C y C++ (y otros lenguajes), el programador es responsable de liberar la memoria. Esto puede ser tedioso, porque no se sabe con anticipación cuando se va a liberar memoria. Los programas que no liberan memoria pueden bloquear el sistema cuando no queda memoria disponible.Java quita esa responsabilidad de liberar memoria explícitamente integrando un proceso a nivel de sistema que sigue cada alojamiento de memoria y mantiene una cuenta del número de referencias a cada apuntador a memoria. Durante los intervalos de tiempo de ocio en la JVM, el proceso de recolección de basura revisa si hay apuntadores a memoria donde el número de referencias es igual a cero. Si hay algunos, el bloque de memoria marcado por el recolector es liberado.

Una vez compilados los programas en Java, en el momento de ejecución se lleva a cabo una tarea de carga, revisión y ejecución. La carga consta de cargar en memoria el archivo byte-code, puede cargarse desde lamáquina local o remotamente a través de la red. La revisión consta de verificar que no haya:violaciones de acceso, operaciones que conduzcan a “overflow” o “underflow”, tipos de parámetros incorrectos, conversiones de datos incorrectas, acceso a objetos sin inicializar, entre otras funciones. En el proceso de ejecución ya se corren las instrucciones del programa.

Pasos para usar JAVA:

  1. Para empezar a escribir programas en Java, primero necesitamos preparar el entorno de trabajo. Muchos programadores usan entornos de desarrollo integrado (IDE) como Eclipse y Netbeans para programar en Java, sin embargo, también es posible escribir y compilar programas de Java sin complicados IDE.
  2. Cualquier tipo de programa similar al Bloc de notas será suficiente para programar en Java. Los programadores más avanzados a veces prefieren utilizar editores de texto basados en un terminal, como vim y emacs.
  3. Asegúrate de tener Java Software Development Kit instalado en el PC. Lo necesitarás para compilar tus programas.

Acerca del autor: Rodrigo Paszniuk

Ingeniero Informático, amante de la tecnología, la música, el ciclismo y aprender cosas nuevas.




SEGUÍNOS EN FACEBOOK


GITHUB