viernes, 15 de mayo de 2009

Un mundo de objetos

El objetivo de este webquest es familiarizarse con la sintaxis básica de Java, pasando por el paradigma de la orientación a objetos. Se suponen unos conocimientos básicos de programación (concretamente en el lenguaje C), obtenidos de un webquest anterior.

Comenzamos por una introducción a los paradigmas de programación y las generaciones de lenguajes. Un lenguaje de programación es una herramienta ideada para facilitar la tarea del programador porque, en el fondo, el código que se ejecuta, siempre es "código a nivel de máquina". Al principio de esta ciencia, se programaba con tarjetas perforadas, con el mismo lenguaje interno de computador (unos y ceros, conceptualmente). El siguiente paso se materializó con el lenguaje ensamblador, mucho más fácil, aunque todavía muy parecido al lenguaje máquina. La evolución llegó con la programación imperativa y estructurada, que permitian desarrollar con un lenguaje bastante parecido al lenguaje natural. Y por último, el paso que nos concierne, la programación orientada a objetos viene a intentar mimetizar el mundo que nos rodea para permitir asimilar mejor las necesidades de la aplicación a programar.

Tarea a realizar
Familiarizarse con la orientación a objetos y el diseño en UML básico. Utilizando un editor de texto, crear un archivo ".java" con el código de una aplicación Java que imprima el mensaje "Hola mundo" por pantalla.

Cómo realizarlo
El proceso normal de un desarrollo orientado a objetos comienza por realizar un análisis previo donde se reconocen todos los "objetos intervinientes", esto es, los datos que se van a manejar en la aplicación.

Para este primer paso, debes documentarte sobre la notación UML usando los enlaces de la sección de recursos y realizar un diagrama de clases. En este ejercicio, existirá una clase llamada "Impresora", que se encargará de imprimir "Hola mundo" por pantalla. Es un diagrama muy sencillo, no te compliques.

En el segundo paso, tendrás que codificar esta clase usando el lenguaje Java. Para ello, tendras que crear un archivo de texto plano y ponerle extensión ".java". En este archivo debes escribir la definición de la clase "Impresora" y, dentro de esa definición, deberás declarar el método "main". En la sección de recursos tienes varios enlaces donde puedes verificar la sintaxis. Dentro de ese método main, deberás utilizar la librería de sistema "System.out.println" para imprimir el mensaje. De nuevo, puedes comprobar la sintaxis en los enlaces de la sección de recursos.

Recursos de interés
A modo de introducción: Wikipedia - Programación orientada a objetos
Introducción a UML: Wikipedia - UML
El diagrama de clases de UML: Diagrama de clases
Sintaxis básica de las clases en Java: Clases en Java
Sintaxis del método "main" (en inglés): Main method
Referencia de la librería "System.out.println": Primer programa en Java

Evaluación
Deberás enviarme por correo electrónico una imagen con el diagrama de clases y el archivo ".java" con el código fuente.

Conclusión
Con esta tarea has aprendido un importante paradigma de programación. Ahora deberías preguntarte: ¿Por qué es diferente e importante poder pensar en términos de objetos a la hora de programar? Como has podido ver, has sido capaz de pensar en algo que conoces (una impresora) para centrarte en la funcionalidad que tiene. La capacidad para asimilar la tarea a realizar al mundo real es una de las virtudes de este paradigma. Además, has aprendido la sintaxis básica de uno de los lenguajes de programación más usados del momento.