You are on page 1of 5

PRCTICO

FORMACIN

J AVA ( I )
IGNACIO CSPEDES ORDUA icespedes@pcw.idg.es
BAJO

P R O G R A M AC I N E N

CONOCE EL LENGUAJE DE PROGRAMACIN JAVA? SI TIENE INQUIETUDES SOBRE EL TEMA NO DEJE DE SEGUIR NUESTRO CURSO DE INICIACIN. HOY ES UN BUEN MOMENTO PARA EMPEZAR.

NIVEL DE DIFICULTAD: OBJETIVO DEL ARTCULO: Iniciarse en la programacin con JAVA. HERRAMIENTAS NECESARIAS: Entorno de desarrollo JAVA.

F O R M AC I N

Si ha pensado en alguna ocasin en aprender un lenguaje de programacin enhorabuena! Va a tener la oportunidad de iniciarse en uno de los lenguajes ms completos que existen hasta el momento. Java le va a permitir desarrollar aplicaciones de muy distinta ndole, brindndole la oportunidad de ejecutarlas en la mayora de las plataformas existentes. Hemos de destacar la evolucin que ha experimentado Java desde sus inicios. Naci como lenguaje para programar pequeas aplicaciones en electrodomsticos de uso cotidiano y ha terminado siendo uno de los lenguajes ms populares y verstiles que existen en la actualidad.

Con l podremos hacer aplicaciones de propsito general, pequeas aplicaciones mviles para Web (ms conocidas como applets), desarrollar componentes para procesar en un servidor (los denominados servlets), construir pginas dinmicas basadas en plantillas JSP, e incluso desarrollar aplicaciones para dispositivos tales como telfonos mviles y PDA. Esta diversidad de aplicaciones hace conve niente la creacin de una jerarqua de clases que van de lo ms genrico y abierto a lo ms espec fi co y concreto. As, por ejemplo, tendremos J2SE (Standard Edition), J2EE (Enterprise Edition) o J2ME (Micro Edition).

216

W W W. P C W O R L D . E S

SEPTIEMBRE 2004

FORMACIN

PRCTICO

Pero sin duda la caracterstica fundamental de Java, y quizs la ms importante, no es otra que su capacidad de ejecucin en las distintas plataformas del mercado, como Solaris, Linux, Windows 98, NT, 2000, XP, etc. Esta capacidad de ejecucin en distintas plataformas se consigue gracias a la Mquina Virtual Java (JVM), especfica en cada plataforma, que permite interpretar el lenguaje ByteCode generado por el compilador y, por consiguiente, ejecutar sin problemas la aplicacin en cuestin.

ELIJA EL ENTORNO DE DE SARROLLO


En la actualidad existe gran variedad de entornos de desarrollo a travs de los cuales puede trabajar. A continuacin haremos una breve descripcin de los ms populares para que tenga una visin general de ellos y pueda elegir aquel que crea ms conveniente o considere que es ms fcil de manejar. Hemos de puntualizar que no pondremos versin, 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 mayora de los entornos de programacin ver Figura 1-. Sin embargo, tiene la peculiaridad de que dispone de una opcin de bienvenida que nos permite recorrer brevemente la mayora 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 opcin de recorrido sobre el programa se muestran opciones generales sobre el entorno, como la barra de herramientas del proyecto, las pestaas por cada fichero que est abierto, la ventana de errores previos a la compilacin y, por ltimo, el panel de contenido. En este ltimo podemos encontrar la estructura del programa con sus constructores. Como la mayora de entornos de programacin, cuenta con una opcin 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 ms que en los libros convencionales ver Figura2-. En cualquier caso, si no le es posible hacerse con una versin de JBuilder 6.0, puede acudir a la pgina de Sun y bajarse alguno de los programas gratuitos que en ella se ofrecen. Si bien es cierto que no cuen-

Visin general del entorno integrado de trabajo.

tan con las ventajas de un entorno de programacin como JBuilder 6.0 en cuanto a facilidad de uso, ayuda y vistosidad, son igualmente vlidos para dar los primeros pasos en la programacin.

CAR AC TERS TICA S GENER ALE S DEL LENGUA JE


Se trata de un lenguaje orientado a objetos, por lo que nuevamente nos adentramos en tecnologas de POO. Si no est an familiarizado con este tipo de programacin le adelantamos que deber tener bien claros, al menos para empezar, los conceptos siguientes: -El elemento clave en la programacin orientada a objetos es la clase, que cuenta con una serie de mtodos 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 estn las pblicas (public), que pueden ser accesibles desde otras clases, bien directamente o por herencia (definimos la herencia ms 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 mtodo abstracto. Este tipo de clases no se instancia, ms 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

F O R M AC I N
217

SEPTIEMBRE 2004

W W W. P C W O R L D . E S

PRCTICO

FORMACIN

Breve paseo descriptivo del nuevo entorno de desarrollo.

no permite a nadie heredar de este tipo de clase. Es cierto que existen algunos modificadores ms, pero en principio para no confundir al lector ms 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 (declaracin), despus le asignaremos memoria (instanciacin) 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 caractersticas 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 mtodos 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 podramos decir que la clase pato hereda todas las propiedades y funcionalidades de su clase padre aves. En cuanto al polimorfismo, lo podramos definir como la capacidad de definir un mtodo de una clase con el mismo nombre pero con parmetros distintos.

LA CARACTERSTICA FUNDAMENTAL DE JAVA, Y QUIZS LA MS IMPORTANTE, NO ES OTRA QUE SU CAPACIDAD DE EJECUCIN EN LAS DISTINTAS PLATAFORMAS DEL MERCADO, COMO SOLARIS, LINUX, WINDOWS 98, NT, 2000, XP, ETC.

F O R M AC I N

NOMBRE DE LA APLICACIN JBuilder Standard VisualAge for Java CodeWarrior Lite Free Builder Java Workshop Community Edition JDesigner Pro FreeJava

BREVE DESCRIPCIN Entorno de desarrollo de Borland ideal para el desarrollo rpido de aplicaciones. Est considerado como uno de los mejores entornos de desarrollo, es de IBM y se lo puede bajar gratuitamente de su pgina web. Tan slo tiene que registrarse como usuario. En l encontramos todos los elementos necesarios para el desarrollo de programas Java, dispone de editor, visor de clases, compilador, depurador, etc. Contiene un editor sensible al lenguaje Java, un depurador y un analizador de clases. Poderoso entorno de desarrollo para sacar todo el partido a la tecnologa Java, fcil y sencillo de manejar. Incluye gestor de plantillas, gestor de proyectos, motor de base de datos, etc. Es un sistema visual integrado, para construir aplicaciones Java. Es sencillo pero eficaz.

Tabla A. Algunos de los entornos de desarrollo existentes en la actualidad.

218

W W W. P C W O R L D . E S

SEPTIEMBRE 2004

PRCTICO

FORMACIN

Ayuda online a la hora de programar.

Una vez descrita la esencia fundamental de la POO hemos de destacar en detrimento de otros lenguajes de similares caractersticas 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 caractersticas que a lo largo del tiempo resultaron ms complicadas en lenguajes como C y C++. Entre las caractersticas eliminadas destacan la eliminacin de la aritmtica de punteros, no existen referencias, registros (struct), definicin de tipos (typedef ), macros (#define) y, por ltimo, la necesidad de liberar memoria. Respecto a esta ltima caracterstica debemos hablar de un elemento nuevo: Garbage Collector, o lo que es lo mismo, reciclador de memoria dinmica. A travs de este elemento nuevo se liberan automticamente grandes bloques de memoria, limitando as en gran medida la fragmentacin de la misma. A su vez ofrece una mejor identificacin de errores, ya que tanto en tiempo de compilacin como de ejecucin
DESCRIPCIN Le permitir acceder a bases de datos va SQL. Invocacin remota de mtodos. Hace compatible el modelo de objetos CORBA. Proporciona servicios de directorio y de localizacin de recursos en un entorno corporativo. Entorno para determinar el tipo de datos, encapsular el acceso a ellos y determinar las acciones que se pueden aplicar. Se utiliza para componentes que necesitan encriptacin, certificacin, firmas digitales y autenticacin. Jerarqua de clases para el desarrollo de aplicaciones grficas e interfaces de usuario. Componentes grficos para aplicaciones: botones, pestaas. Tratamiento de informacin grfica bidimensional. Especificacin para crear applets que se ejecutan en el servidor. Se utiliza para el intercambio de informacin entre un servidor web y aquellas aplicaciones que se ejecutan en el entorno. Especificaciones para transacciones comerciales en Internet. Especificaciones para el acceso y utilizacin de informacin interactiva. Especificaciones para la arquitectura, protocolo e interfaces de programacin para reproductores multimedia, captura y videoconferencia. Especificaciones para la comunicacin interactiva bidireccional. Especificaciones para aplicaciones de telefona. Especificaciones para el reconocimiento y sntesis de voz. Especificacin para manipulacin y movimiento de objetos bidimensionales. Especificaciones para la manipulacin de objetos tridimensionales. Especificaciones para aparatos electrnicos. Especificaciones para tarjetas inteligentes, tipo tarjeta de crdito. Especificaciones para aparatos electrnicos industriales.

NOMBRE Java Enterprise JDBC API Java RMI Java IDL JNDI JavaBeans JAF Java Security API JFC Swing Set Java 2D Java Servlet API Java Server API Java Comerse API

F O R M AC I N

Java Media API JMF Java Collaboration Java Telephony Java Speech Java Animation Java 3D Personal Java Java Smart Card Embedded Java

Tabla B. Principales API de JAVA.

220

W W W. P C W O R L D . E S

SEPTIEMBRE 2004

FORMACIN

PRCTICO

NOS ENCONTRAMOS CON UN LENGUAJE DE GRAN POTENCIA, PERO CON UNA MAYOR SIMPLICIDAD A LA HORA DE PROGRAMAR. SE ELIMINAN AQUELLAS CARACTERSTICAS QUE A LO LARGO DEL TIEMPO RESULTARON MS COMPLICADAS EN LENGUAJES COMO C Y C++
se agudiza su deteccin, facilitando en gran medida el desarrollo de soluciones. Nos proporciona tambin la capacidad de desarrollar aplicaciones que puedan correr en varias mquinas interactuando entre s. Esta caracterstica viene dada por una serie de libreras y herramientas con las que podemos contar para hacer aplicaciones distribuidas. Por ltimo, para terminar con este breve resu men de las principales caractersticas del lenguaje Java, destacaremos que es un lenguaje multitarea, es decir, tiene la capacidad de realizar varias tareas simultneamente en una misma aplicacin. Dichas tareas pueden ser pequeos procesos que al interactuar en conjunto den como resultado una solucin global.

PRINCIPALES API DE LA PLATAFORMA JAVA


Para ayudar al lector a hacerse una idea de cules son las API (interfaces de programacin de aplicaciones) que forman la plataforma Java, presentamos una pequea tabla (Tabla B) con una descripcin breve. En realidad en este curso de iniciacin no veremos gran parte de ellas, pero al menos si decide seguir formndose sabr de su existencia y podr continuar investigando. PCW Ignacio Cspedes Ordua es tcnico desarrollador de aplicaciones y nuevas tecnologas.

F O R M AC I N
W W W. P C W O R L D . E S

SEPTIEMBRE 2004

221

You might also like