| Artículos | 01 SEP 2004

Programación en Java (I)

Tags: Histórico
Ignacio Céspedes.
¿Conoce el lenguaje de programación Java? Si tiene inquietudes sobre el tema no deje de seguir nuestro curso de iniciación. Hoy es un buen momento para empezar.

Nivel de dificultad: Bajo
Objetivo del artículo: Iniciarse en la programación con JAVA.
Herramientas necesarias: Entorno de desarrollo JAVA.

Si ha pensado en alguna ocasión en aprender un lenguaje de programación ¡enhorabuena! Va a tener la oportunidad de iniciarse en uno de los lenguajes más completos que existen hasta el momento. Java le va a permitir desarrollar aplicaciones de muy distinta índole, brindándole la oportunidad de ejecutarlas en la mayoría de las plataformas existentes.
Hemos de destacar la evolución que ha experimentado Java desde sus inicios. Nació como lenguaje para programar pequeñas aplicaciones en electrodomésticos de uso cotidiano y ha terminado siendo uno de los lenguajes más populares y versátiles que existen en la actualidad.
Con él podremos hacer aplicaciones de propósito general, pequeñas aplicaciones móviles para Web (más conocidas como applets), desarrollar componentes para procesar en un servidor (los denominados servlets), construir páginas dinámicas basadas en plantillas JSP, e incluso desarrollar aplicaciones para dispositivos tales como teléfonos móviles y PDA. Esta diversidad de aplicaciones hace conveniente la creación de una jerarquía de clases que van de lo más genérico y abierto a lo más específico y concreto. Así, por ejemplo, tendremos J2SE (Standard Edition), J2EE (Enterprise Edition) o J2ME (Micro Edition).
Pero sin duda la característica fundamental de Java, y quizás la más importante, no es otra que su capacidad de ejecución en las distintas plataformas del mercado, como Solaris, Linux, Windows 98, NT, 2000, XP, etc. Esta capacidad de ejecución en distintas plataformas se consigue gracias a la Máquina Virtual Java (JVM), específica en cada plataforma, que permite interpretar el lenguaje ByteCode generado por el compilador y, por consiguiente, ejecutar sin problemas la aplicación en cuestión.

Elija el entorno de desarrollo
En la actualidad existe gran variedad de entornos de desarrollo a través de los cuales puede trabajar. A continuación haremos una breve descripción de los más populares para que tenga una visión general de ellos y pueda elegir aquel que crea más conveniente o considere que es más fácil de manejar. Hemos de puntualizar que no pondremos versión, ya que de algunos de ellos existen varias en el mercado y no es imprescindible que disponga de la última (ver Tabla A).
Para el desarrollo del curso que iniciamos este mes utilizaremos JBuilder 6.0. Como podrá comprobar, este entorno de desarrollo es similar en aspecto y funcionalidades a la mayoría de los entornos de programación –ver Figura 1-. Sin embargo, tiene la peculiaridad de que dispone de una opción de bienvenida que nos permite recorrer brevemente la mayoría de las funcionalidades del propio entorno, y de esta forma familiarizarnos con él –ver Figura2-. Estamos seguros de que le ayudará a la hora de comenzar a trabajar con el entorno.
En esta opción de recorrido sobre el programa se muestran opciones generales sobre el entorno, como la barra de herramientas del proyecto, las pestañas por cada fichero que esté abierto, la ventana de errores previos a la compilación y, por último, el panel de contenido. En este último podemos encontrar la estructura del programa con sus constructores.
Como la mayoría de entornos de programación, cuenta con una opción de ayuda online que le permitirá resolver cualquier tipo de duda a medida que vaya programando. Sin duda es de gran utilidad, ya que en este tipo de ayudas se suele aprender bastante más que en los libros convencionales –ver Figura2-.
En cualquier caso, si no le es posible hacerse con una versión de JBuilder 6.0, puede acudir a la página de Sun y bajarse alguno de los programas gratuitos que en ella se ofrecen. Si bien es cierto que no cuentan con las ventajas de un entorno de programación como JBuilder 6.0 en cuanto a facilidad de uso, ayuda y vistosidad, son igualmente válidos para dar los primeros pasos en la programación.

Características generales del lenguaje
Se trata de un lenguaje orientado a objetos, por lo que nuevamente nos adentramos en tecnologías de POO. Si no está aún familiarizado con este tipo de programación le adelantamos que deberá tener bien claros, al menos para empezar, los conceptos siguientes:
-El elemento clave en la programación orientada a objetos es la clase, que cuenta con una serie de métodos y propiedades que en realidad son los que definen el comportamiento y la forma de un objeto.
-En cuanto a las clases, existen varios tipos dependiendo del modificador que utilicemos en cada caso. En primer lugar están las públicas (public), que pueden ser accesibles desde otras clases, bien directamente o por herencia (definimos la herencia más adelante) desde otras clases fuera del paquete donde fueron declaradas.
-En segundo lugar nos encontramos con las clases abstractas (abstract), que se caracterizan por tener al menos un método abstracto. Este tipo de clases no se instancia, más bien se utiliza como clase base para la herencia.
-En tercer lugar encontramos el modificador de clase final, que tiene el efecto contrario a abstract, ya que no permite a nadie heredar de este tipo de clase.
Es cierto que existen algunos modificadores más, pero en principio para no confundir al lector más profano en la materia nos quedaremos con estos, que son suficientes para empezar.
Una vez visto lo que es una clase, explicaremos el objeto, que no es otra cosa que una instancia de una clase. Por lo general, para crear un objeto tanto en Java como en lenguajes similares tendremos que seguir estos pasos: en primer lugar proporcionaremos un nombre al objeto (declaración), después le asignaremos memoria (instanciación) y por último podremos inicializarlo y de esta forma proporcionaremos valores iniciales a las variables de instancia del objeto.
En este punto, al tratarse de POO no podemos olvidar dos características fundamentales: se trata de la herencia y el polimorfismo. Definiremos la primera de ellas como la posibilidad que brinda la POO de permitir que clases hijas tengan métodos o funciones que realmente pertenecen a una clase padre. Para los profanos en la materia pondremos un ejemplo de la vida real: supongamos que tomamos como clase padre la clase aves; perfectamente podríamos decir que la clase pato hereda todas las propiedades y funcionalidades de su clase padre aves. En cuanto al polimorfismo, lo podríamos definir como la capacidad de definir un método de una clase con el mismo nombre pero con parámetros distintos.
Una vez descrita la esencia fundamental de la POO hemos de destacar en detrimento de otros lenguajes de similares características una serie de ventajas que nos proporciona Java a la hora de ponernos a desarrollar aplicaciones. Nos encontramos con un lenguaje de gran potencia, pero con una mayor simplicidad a la hora de programar. Se eliminan aquellas características que a lo largo del tiempo resultaron más complicadas en lenguajes como C y C++. Entre las características eliminadas destacan la eliminación de la aritmética de punteros, no existen referencias, registros (struct), definición de tipos (typedef), macros (#define) y, por último, la necesidad de liberar memoria.

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información