Professional Documents
Culture Documents
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.
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.
F O R M AC I N
217
SEPTIEMBRE 2004
W W W. P C W O R L D . E S
PRCTICO
FORMACIN
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.
218
W W W. P C W O R L D . E S
SEPTIEMBRE 2004
PRCTICO
FORMACIN
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
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.
F O R M AC I N
W W W. P C W O R L D . E S
SEPTIEMBRE 2004
221