Вы находитесь на странице: 1из 40

MONOGRFICO: JAVA

SOFTWARE - Programacin
Escrit per Alberto Ruiz
divendres, 21 d'agost de 2009 00:00

ndex d'article
MONOGRFICO: JAVA
Entorno de desarrollo jGrasp
Entorno de desarrollo BlueJ
Entorno de desarrollo NetBeans
Conclusiones
Totes les pgines

Pgina 1 de 5
There are no translations available.
El rey actual de los lenguajes de programacin, Java, se est convirtiendo por mritos propios en el imprescindible protagonista
de todos los cursos, asignaturas y mdulos profesionales que versan sobre iniciacin a la programacin. Pero Java es un
lenguaje orientado a objetos, y esto supone un desafo para todos aquellos que, incluso teniendo gran experiencia en lenguajes
estructurados como Pascal o C, quieren aprenderlo o ensearlo. Las peculiaridades de este tipo de lenguajes han motivado la
aparicin de entornos de programacin especficamente adaptados para su enseanza: este monogrfico te presenta dos de
los ms utilizados ( BlueJ y jGrasp) confrontndolos con un entorno de desarrollo profesional (NetBeans).

En muy poco tiempo aprenders a ponerlos en funcionamiento de forma sencilla, y conocers sus funcionalidades ms
interesantes de cara a la enseanza y el aprendizaje de Java. Al acabar de leer estos artculos estars en condiciones de
comenzar a trabajar y, lo ms importante, tendrs las claves para escoger el entorno de desarrollo que ms se ajuste a tus
necesidades.

1. Introduccin
Hasta hace no demasiados aos, los compiladores se utilizaban introduciendo rdenes escritas en la lnea de comandos. El
proceso no era sencillo: para empezar, el programador tena que preparar el cdigo fuente usando alguno de los rudimentarios
editores de texto existentes; a continuacin abandonaba el editor para ejecutar la llamada al compilador y obtener el cdigo
compilado. Despus sola ser necesario utilizar otra herramienta para el ensamblado del programa. Finalmente, poda probar
(tambin desde la lnea de comandos) el archivo ejecutable: pero ante cualquier error detectado, deba volver a empezar este
proceso.
No es de extraar, por tanto, que poco a poco fuera desarrollndose el concepto de lo que se ha terminado llamando IDE
(Integrated Development Environment o entorno de desarrollo integrado). Como su nombre indica, su objetivo es integrar en
una misma aplicacin las herramientas necesarias para realizar todo el proceso de programacin: edicin, compilacin, revisin
de errores, depuracin, ejecucin.... El resultado es que utilizando un IDE, compilar y ejecutar un programa requiere
nicamente pulsar un botn.
Existen muchsimos entornos para cada lenguaje de programacin, y cada uno de ellos ofrece al usuario unas determinadas
funcionalidades. Escoger uno u otro depender tanto de nuestras necesidades como de lo intuitivo y agradable que resulte
trabajar en uno u otro entorno. Normalmente el programador va probando entornos hasta que encuentra aquel con el que se
encuentra ms cmodo, pero en el caso que nos ocupa (la enseanza de Java) nos interesa ir sobre seguro y escoger un
entorno que ofrezca al alumno sencillez de uso, facilidad para comprender las ideas subyacentes en el proceso de
programacin, y estimulacin para animarse a hacer programas por s mismo. Cualquiera de los tres entornos que se
presentan en este monogrfico ser una buena eleccin de cara a la enseanza del lenguaje.

Antes de empezar, ten en cuenta que un entorno de desarrollo no es ms que una fachada para el proceso de compilacin y
ejecucin de un programa. Eso quiere decir que no basta con tener un IDE instalado en el ordenador para empezar a trabajar:
previamente debemos instalar el compilador, un proceso que en Java suele generar bastante confusin.
En esta primera entrega nos centraremos precisamente en eso: la instalacin del compilador en nuestro equipo. Adems, se
explicarn las particularidades de los lenguajes orientados a objetos que tendremos en cuenta a la hora de escoger nuestro
entorno.

2. A vueltas con las siglas: JRE JDK?


Si has intentado alguna vez abordar la programacin en Java quiz te hayas desanimado antes de empezar, y es que la
instalacin de Java resulta algo compleja: veamos por qu.
Sabemos que existen lenguajes compilados y lenguajes interpretados:
Los lenguajes compilados traducen el programa fuente a cdigo que puede ejecutar el ordenador, y que por tanto es
dependiente de la mquina en la que se va a ejecutar o, como mnimo, de su sistema operativo. Por ejemplo, si
compilo mi programa en un equipo con Linux no podr utilizar el archivo ejecutable resultante en Windows.
Los lenguajes interpretados, por el contrario, se van traduciendo sobre la marcha, por lo que no se necesita compilador
pero s un intrprete que tambin ser diferente en funcin de la mquina en la que se instale. La interpretacin
requiere tiempo: por eso la ejecucin de los lenguajes interpretados es ms lenta que la de sus homlogos
compilados.
Y qu es Java? Compilado o interpretado? Pues ninguna de las dos, o mejor dicho las dos a la vez. Java compila el
programa a un lenguaje intermedio predigerido llamado bytecode (archivos con extensin .class) comn a todas las
plataformas. A partir de ah funciona como un lenguaje interpretado gracias al entorno de ejecucin de Java, un intrprete
diferente para cada plataforma y que deber estar instalado en nuestro ordenador si queremos ejecutar programas escritos en
Java. Las continuas mejoras en esta mquina virtual realizadas por Sun, la empresa creadora del lenguaje, hacen que las
diferencias de velocidad de ejecucin entre Java y un lenguaje totalmente compilado (como C) sean cada vez menores.
El resultado es el exhibido por el lema de Java: compile once, run anywhere. Es decir, slo necesitas compilar el programa una
vez y podr ejecutar en mltiples y diversas mquinas, siempre que stas tengan instalado el entorno de ejecucin.
Ahora podemos comprender mejor los dos paquetes que nos ofrece Sun para instalar Java:

JRE (Java Runtime Environment) es el entorno de ejecucin necesario para interpretar y ejecutar

archivos .class. Es casi seguro que cualquier ordenador que encuentres en el centro de trabajo tendr instalada una
versin (a veces varias) de este complemento.
JDK (Java Development Kit) es el kit de desarrollo, es decir, el compilador para poder crear programas en Java.
Esta ser, por tanto, la opcin que tendremos que escoger en nuestro caso. Ten en cuenta que la instalacin del JDK
ya incluye el entorno de ejecucin, por tanto no tendrs que hacer ninguna instalacin adicional.
Hemos dicho que los entornos de desarrollo requieren tener instalado el compilador. Por ejemplo, si intentas ejecutar BlueJ sin
haber instalado previamente el JDK, obtendrs este mensaje:

Algo parecido ocurre en jGrasp:

Entonces, qu debemos hacer? Si contamos con el consentimiento del resto de usuarios del equipo, lo mejor es
desinstalartodas las versiones existentes de Java y reinstalar nicamente el JDK ms actual. Por ejemplo, en la siguiente
figura conviven dos entornos de ejecucin, uno antiguo (versin 1.4) y otro ms moderno (versin 6 actualizacin 3), as como
un JDK (versin 6, actualizacin 4). No te preocupes demasiado por Java DB: se trata de un aadido para bases de datos que
se instala junto con el JDK. Por tanto, en este caso desinstalaramos los cuatro elementos que empiezan por Java:

A continuacin, accedemos a la pgina oficial de Java dentro de la web de Sun y escogemos la versin SE (Standard Edition)
frente a otras como la versin empresarial (EE):

Ahora nos encontramos en la pgina de descargas de la versin estndar (SE) de Java. Aqu debemos hacer nuevas
elecciones: tenemos el JRE (que como ya hemos visto no nos interesa, pues slo nos servira para ejecutar programas), el JDK

y los paquetes JDK (bundles), que incluyen algn aadido en la misma descarga. Cul escogeremos? Depende. Si tienes
intencin de probar el entorno NetBeans, escoge el lote que lo lleva incluido. En caso contrario, escoge nicamente el JDK. No
te preocupes demasiado por tu eleccin, ya que si ms adelante cambias de idea puedes instalar (o desinstalar) NetBeans sin
problemas.

Como se ve en la imagen, en el momento de escribir este artculo la ltima versin era la 6, actualizacin 14. Para mayor
confusin, 6 es el nmero de la versin de cara al pblico, pero el nmero con el que Sun identifica internamente esta versin
es 1.6, siendo el autntico nombre de este JDK "1.6_14" "1.6.0_14". Conviene estar familiarizado con este detalle: mira de
nuevo las pantallas de error de jGrasp y BlueJ un poco ms arriba. Cuando nos dicen que se requiere JDK 1.5 o superior, se
nos pide haber instalado el JDK 5 o superior. Otro ejemplo: mira ahora la imagen de la ventana Agregar o quitar programas que
mostramos anteriormente. Observa que uno de los dos JREs instalados en este equipo tiene como versin "1.4", lo que
correspondera al nombre de cara al pblico JDK 4.

3. El problema de las versiones


El proceso de instalacin del JDK es trivial, y no reviste ninguna dificultad. Sin embargo, cuando empieces a trabajar es posible
que te enfrentes a ciertos problemas relativos a las distintas versiones existentes en los equipos tanto del JDK como del JRE.
Este apartado te previene para que no desesperes si te ocurren y sepas reaccionar, pero si lo deseas puedes posponer su
lectura y regresar slo si encuentras dificultades.
Supongamos que hemos estado desarrollando un programa en el ordenador del centro de trabajo, y nos lo llevamos a casa. Es

posible que al intentar ejecutarlo en tu equipo encuentres este crptico mensaje de error: Unsupported major.minor
version. Cmo es posible, si en el centro ejecutaba perfectamente? Se trata de un error muy comn, y la explicacin es la
siguiente: con un JRE moderno puedes ejecutar programas compilados con un JDK antiguo, pero no sucede lo mismo al revs.
Un JRE antiguo no sabr ejecutar programas compilados con un JDK moderno. En nuestro caso de ejemplo, en el equipo de
casa tenamos una versin de Java ms antigua, y eso ha motivado el problema. La solucin? Lo ideal ser instalar en casa
la ltima versin de Java, pero existe una alternativa ms rpida: elimina los archivos compilados (.class) del proyecto para
forzar a tu equipo a recompilar las clases usando el compilador ms antiguo.
Este problema afecta tambin con frecuencia a quienes prefieren trabajar a la antigua usanza, es decir, con la lnea de
comandos. El caso tpico es el siguiente: tenemos instalada la ltima versin del JDK, compilamos el programa pero no
conseguimos hacerlo ejecutar. El motivo es el mismo: tratamos de ejecutar un programa con un JRE obsoleto, seguramente sin
darnos cuenta. El diagnstico es sencillo: ejecuta el comando java -version y sabrs qu versin del JRE ests utilizando:

Si al hacerlo ves una versin antigua (por ejemplo 1.4), ya has detectado el problema. Pero cmo es posible, si instalaste la
ltima versin de Java? Ten en cuenta que algunas aplicaciones (por ejemplo ciertos paquetes del gestor de bases de datos
Oracle) pueden llevar incluido un entorno de ejecucin sin que a veces seamos conscientes de ello, y por llevar instalados ms
tiempo en nuestro equipo, su ruta aparece antes en la variable de sistema PATH. La solucin es sencilla: edita esta variable y
sita al principio del todo la ruta a nuestra ltima versin de Java.
Volviendo a la actualizacin, seguramente ests pensando: puedo realmente actualizar el JRE y el JDK sin perjudicar a otras
personas que utilicen el mismo equipo? La respuesta, siempre que actualicemos a versiones ms modernas, es s; pero
estrictamente hablando debemos matizar esta afirmacin. Como todos los lenguajes Java va evolucionando, y algunas
caractersticas se convierten en obsoletas (deprecated). Es posible que, al cabo de algunas versiones, al intentar compilar un
programa muy antiguo haya alguna sentencia que con la nueva versin provoque un fallo de compilacin. Sin embargo, es
prcticamente imposible que eso ocurra en el nivel en que nos encontramos y adems, incluso en ese caso, lo correcto sera
corregir las escasas lneas que dieran problemas para actualizarlas segn la sintaxis actual del lenguaje. As que no temas
actualizar el JDK: siempre ser una buena idea.

4. Las peculiaridades de ensear Java


Cuando una persona aprende a programar en Pascal, Modula 2 C, no est simplemente aprendiendo esos lenguajes: est
comprendiendo tambin el paradigma de programacin estructurada, y por tanto sabr pasar de un lenguaje a otro con gran
facilidad, tan pronto como se acostumbre a las peculiaridades sintcticas de cada lenguaje. De igual forma, cuando
aprendemos Java debemos desentraar el paradigma de programacin orientada a objetos, que difiere bastante del anterior.
Por tanto debemos tener en cuenta que, incluso si nuestros alumnos tienen nociones de programacin en lenguajes
estructurados - o nosotros mismos como docentes las tenemos - ser necesario cierto esfuerzo para cambiar el enfoque sobre
la forma de disear y abordar nuestros programas.
Explicar las caractersticas de Java excede el propsito de este monogrfico, pero es interesante destacar algunos aspectos
que afectarn a la decisin de qu entorno de trabajo escoger. Y es que si en los lenguajes clsicos nos enfrentbamos a un
problema pensando cmo hay que resolverlo, en Java pensaremos qu necesitamos para resolverlo. En efecto, un
programa en Java es como una obra de teatro en la que debemos preparar primero cada personaje, definir qu caractersticas
tiene y qu va a saber hacer: una vez ese trabajo previo est realizado, la obra se desarrollar sacando personajes a escena y
hacindoles interactuar.
Cuando hablamos de preparar personajes, nos referimos a programar clases. Igual que tenemos un tipo de datos entero para
representar nmeros y un tipo String para representar cadenas de texto, no sera perfecto disponer de un tipo Cuadrado,
Persona, Avin, Factura, ListaDeClientes, etc. segn las necesidades de nuestro problema? Pues eso es precisamente lo que
haremos en Java: crearemos una clase Rectngulo y definiremos sus atributos (la base, la altura, el color...) y sus mtodos (lo
que sabe hacer: calcular su rea, dibujarse en la pantalla...). Una vez est hecha, en mi programa principal podr crear todos
los objetos que quiera de esa clase y personalizarlos con sus distintos atributos. As, las clases y los objetos son el equivalente
a tipos y variables: igual que declaro una variable entera x del tipo entero, creo un objeto juan de la clase Cliente. La diferencia
es que el objeto juan no es una simple variable: incluye todos sus datos personales, y es capaz de hacer cosas como calcular
su edad - con el cdigo juan.calcularEdad()-, imprimir sus ventas - juan.imprimirDatosVentas() -, y todo aquello
para lo que le hayamos preparado.
Pero si lo que definimos son nicamente tipos, dnde est el autntico programa principal? Debe existir un mtodo especial,

llamado main, que s nos recordar a los lenguajes estructurados; slo que en este caso su misin consistir nicamente en
crear objetos a imagen de la clase (sacarlos a escena) y pedirles que hagan cosas. Es aconsejable incluir este mtodo especial
en una clase aparte con un nombre significativo como Test o Principal, para que el alumno entienda que esa clase no
representa ningn concepto (una figura, una persona) sino que simplemente alberga el mtodo principal.
Una de las grandes ventajas de Java es que las empresas pueden repartir el trabajo de programacin, encargando el
desarrollo de diferentes clases a diferentes personas. La integracin del trabajo es sencilla dado que las clases son cajas
negras: slo necesitas saber qu atributos tiene la clase Cuadrado y qu mtodos posee. Pero por complicado que fuese para
quien lo program, no necesitas saber cmo resolvi el mtodo calcularArea de una figura: te basta con saber que est
disponible.
Y en qu afecta todo esto a nuestra labor docente y al entorno? Veamos algunas conclusiones interesantes:
La fase previa a la programacin en Java es muy creativa: se trata de disear las clases que voy a necesitar, y
modelarlas segn el problema que quiero resolver. Qu es para m un cuadrado? Si mi problema es
trigonomtrico,su atributo ser el lado. Pero en otros contextos quiz necesite conocer el material de que est hecho,
o su color. Algo parecido pasa con los mtodos. Qu voy a querer pedirle a un cuadrado? Quiz que calcule su
rea, o quiz que se dibuje en la pantalla.
Las clases estn pensadas para ser reutilizadas por otras personas distintas a aquella que la program. Para ello es
fundamental documentar nuestro trabajo: el programador, de un vistazo, debe poder saber qu atributos tiene la
clase y de qu mtodos dispone. Existen dos herramientas bsicas para esta misin: la
documentacin JavaDoc (una pgina web estndar en la que se resume todo el contenido de la clase, cuyo uso no
ser cubierto en este artculo) y los diagramas de clases, que muestran para cada clase sus atributos, sus mtodos y
su relacin con otras clases. Dichos diagramas pueden tener este aspecto:

Por tanto, conviene habituar al alumno a comenzar su trabajo diseando las clases sobre el papel utilizando este tipo de
diseos. Ser interesante que el entorno sea capaz de crear por s mismo diagramas a partir del cdigo introducido, para que el
alumno pueda contrastar su idea original con la clase que realmente est programando. Una buena prctica consistir en que
un alumno trate de utilizar una clase programada por otro compaero, disponiendo nicamente del diagrama de clases. Pero
sigamos con las conclusiones:
Frente a los lenguajes estructurados, el programa ms sencillo que utilicemos en Java tendr seguramente un mnimo
de tres o cuatro clases, lo cul requiere que tengamos abiertas un buen nmero de ventanas a la vez. El entorno de
desarrollo debe estar capacitado para permitir manejar cmodamente mltiples archivos abiertos.
Java no es un lenguaje para los impacientes. Para resolver un problema sobre trigonometra debo pasar un tiempo
diseando y programando previamente las clases correspondientes a las figuras; pero hemos dicho que una clase es

como un tipo de datos, y por s misma no hace nada, no puede ejecutarse. Ser al final, cuando ya tenga todas las
clases listas, cuando escriba un programa principal que crear distintos objetos a imagen y semejanza de sus
correspondientes clases, y esos objetos s que harn cosas. Para evitar el desconcierto o aburrimiento del alumno
ante esta situacin, algunos entornos ofrecen una posibilidad didcticamente interesante: una vez programada la
clase Cuadrado, puedo crear grficamente un objeto miCuadrado e interactuar con l, probando as sus mtodos y
observando sus atributos, y todo esto a golpe de ratn, sin necesidad de escribir ningn programa principal.

5. Escogiendo un entorno de desarrollo


Ya estamos listos para empezar: con el JDK instalado, y teniendo en mente los aspectos que debemos destacar en la
enseanza de Java, pasaremos a analizar tres entornos de desarrollo en sendas entregas de este monogrfico. Para cada uno
de ellos encontrars las siguientes secciones:

Puesta a punto: se trata de una gua rpida que te permitir ponerte a trabajar en pocos minutos y compilar tu

primer programa de prueba.


Sacndole partido: incide en las funcionalidades ms interesantes que te ofrece la aplicacin.
Valoracin: repaso esquemtico por las ventajas e inconvenientes que presenta el entorno frente a las otras
opciones, siempre desde el punto de vista de la docencia.
Un ltimo apunte: aunque los tres entornos estudiados tienen versiones para Linux, las explicaciones se han hecho sobre la
versin de Windows, por ser el sistema operativo ms frecuentemente encontrado a da de hoy en los centros educativos.

Entorno de desarrollo jGrasp


jGrasp es un entorno de programacin ligero surgido en el mbito universitario, concretamente en la universidad de Auburn. Te
permitir trabajar con distintos lenguajes de programacin, aunque lgicamente en el contexto de este monogrfico nos
centraremos en sus posibilidades de cara al lenguaje Java.

1. Puesta a punto
Lo primero que haremos ser acudir a su pgina web y descargar la ltima versin disponible. La instalacin es sencilla y no se
nos preguntar nada durante el proceso; por otra parte, si instalaste el JDK previamente como hemos sugerido, jGrasp lo
detectar automticamente y no tendrs que configurarlo. En cualquier caso y si tuvieras varias versiones de JDK conviviendo
en el equipo, siempre puedes acceder a la opcin Settings > Compiler Settings para cerciorarte de qu JDK ests
utilizando. Es el momento de arrancar el programa:

La pantalla principal est dividida en tres partes, que pueden redimensionarse en cualquier momento segn nos interese:
A la izquierda encontrars el explorador de archivos, donde podrs seleccionar la clase que quieres editar. Ms
adelante vers que en esta seccin aparece tambin la ventana de proyecto, donde podrs ver todas las clases
pertenecientes al proyecto en el que ests trabajando. Las pestaas inferiores permiten reutilizar esta ventana para
otros usos: la depuracin y el banco de objetos, que sern explicados despus.
Abajo tenemos la ventana de mensajes: jGrasp se comunicar con nosotros a travs de este espacio, indicndonos los
errores de compilacin que vayan surgiendo segn trabajamos. Cuando nuestro programa est listo y queramos
ejecutarlo, en esta ventana veremos tambin el resultado de la ejecucin.
La parte ms amplia es el rea de edicin, donde modificaremos el cdigo de nuestro programa.
Es posible que no te satisfaga la esttica del entorno de trabajo, y es que ste no es sin duda el punto fuerte de jGrasp. Sin
embargo, a travs del men Settings > Look and feel, puedes elegir entre cinco temas visuales hasta encontrar uno
que te guste ms:

Volvamos al aspecto original para comenzar a editar nuestro primer programa. Accede al men File > New > Java y teclea
un programa, guardndolo despus con el icono del diskette o a travs del men File > Save. Recuerda que en Java es
fundamental que el nombre del archivo coincida exactamente con el nombre de la clase, respetando las maysculas. Los
convenios nos dicen que todas los nombres de clase empiezan por mayscula, mientras que los mtodos y atributos lo hacen
en minscula. Tambin puedes recuperar una clase guardada mediante el icono de la carpeta o el men File > Open. En
esta imagen vers los tres botones con los que vamos a trabajar: compilar (cruz verde), ejecutar (un hombre corriendo, del
ingls runpara ejecutar) y depurar el programa (un insecto, del trmino ingls bug utilizado para designar fallos de
programacin).

Inevitablemente, todos cometemos errores al programar. jGrasp nos ir informando de nuestras equivocaciones con el mayor
detalle posible, indicndonos el nmero de lnea en que ha detectado el error, la posicin exacta del mismo, y un mensaje
explicativo. Ten en cuenta que los mensajes no siempre sern precisos, ni siquiera el nmero de lnea: muchas veces un fallo
se achaca a una lnea cuando el autntico motivo del error se encontraba en la anterior.
Aunque jGrasp nos resaltar en color gris la lnea conflictiva, suele resultar til activar la numeracin de lneas en el cdigo
para localizar los fallos ms fcilmente. Podrs hacerlo con el men View > Line numbers.

Cuando todo salga bien, es el momento de ejecutar el programa:

Ya hemos terminado! Tu primera clase ha sido compilada y ejecutada con xito; veamos ahora funcionalidades algo ms
avanzadas.

2. Sacndole partido
Hemos dicho que los programas en Java estn normalmente constituidos por varias clases. Por ello, todos los entornos de
desarrollo permiten crear proyectos para tener rpido acceso a todas las clases que van a participar en nuestro programa.
jGrasp no es una excepcin, as que vamos a ver cmo podemos dar forma a un sencillo proyecto Java. Para empezar, accede
al menProject > New > New Standard Project:

A continuacin aadirs las clases que quieres utilizar. Si an no las has programado, podrs irlas incorporando despus. Ten
en cuenta que las clases del proyecto pueden estar repartidas por tus unidades de disco, aunque te resultar ms cmodo
agruparlas en tu directorio de trabajo. Observa ahora en la parte izquierda la ventana proyectos abiertos, en la que tienes
acceso rpido a los archivos que has incluido en el proyecto.

Se echa de menos, sin embargo, una diferenciacin visual de los paquetes. En Java, cuando tenemos un conjunto de clases
que estn relacionadas entre s, solemos agruparlas en paquetes (un concepto similar al de librera). Por ejemplo, las clases
Crculo, Cuadrado y Rectngulo podran agruparse en un paquete llamado figuras. Esta agrupacin exige dos cosas:
Al principio de cada una de las clases del paquete debe aadirse la siguiente lnea: package figuras
Adems, las clases del paquete deben estar almacenadas en un directorio que se llame figuras
Una de las ventajas de esta agrupacin es que desde una clase puedes referenciar a otra del mismo paquete sin necesidad de
importarla. jGrasp permite esto, pero lo lgico sera que en la ventana de proyecto las clases estuviesen agrupadas
visualmente por paquetes, y eso no ocurre.
Entre las funcionalidades ms interesantes de jGrasp est su diseo automtico de diagramas UML (el estndar ms utilizado
para esquematizar programas) para tu proyecto, mostrando adems las relaciones entre las clases.

Cuando pulsas en una clase, a la izquierda vers con todo detalle sus atributos y sus mtodos. El alumno podr contrastar as
el diagrama de clases que realiz antes de programar, y el resultado que ha obtenido finalmente:

jGrasp ofrece otro tipo de diagramas, llamados de estructuras de control (CSD), accesibles a travs el botn sealado en la
siguiente figura. Siguiendo una notacin que puedes estudiar en la documentacin del programa, el alumno podr ver
representadas grficamente las distintas estructuras de control de flujo, tanto de seleccin ( if, switch) como de iteracin
(while,for). Adicionalmente, unas flechas horizontales identifican los puntos en que un mtodo recibe o devuelve valores. Este

tipo de diagramas puede plegarse y desplegarse con el ratn para facilitar la visin global de la clase. Cuando un fragmento de
cdigo est oculto, aparece un signo +.

Sigamos con funcionalidades interesantes de cara a la docencia: ya dijimos que Java desafa la paciencia del programador
aficionado, ya que hasta que todas las clases no estn listas no podemos programar un mtodo principal que resuelva
problemas. Para aliviar esta espera, jGrasp incorpora una interfaz visual para crear objetos sobre la marcha, ponindolos en un
banco de trabajo (ventana izquierda) y permitiendo interactuar con ellos. En la siguiente imagen puedes ver cmo creamos un
objeto de la clase Tringulo, indicando los valores necesarios para construirlo. Una vez creado, puedes examinar los atributos
del objeto e invocar sus mtodos pulsando el botn derecho del ratn y escogiendo Invoke method.

Observa tambin en la imagen anterior el recuadro Evaluar expresin, tambin en la ventana izquierda: nos servir para
escribir breves fragmentos de cdigo Java para probar su funcionamiento. Estos fragmentos pueden aludir a los objetos
creados en el banco de trabajo.
El banco de objetos es sin duda un gran arma didctica de la que el profesor podr sacar mucho partido, incorporada primero
por BlueJ y aadida despus (de una forma menos intuitiva, todo hay que decirlo) en el entorno que ahora nos ocupa. Aunque
no lo haremos en este monogrfico, te recomendamos probar ms adelante las opciones de visualizacin para estructuras de
almacenamiento (como un ArrayList).
La ltima funcionalidad que vamos a repasar es la depuracin, que nos ayuda a localizar en qu punto de nuestro programa se
encuentra ese fallo que no conseguimos encontrar. La base de toda depuracin consiste en los llamados breakpoints o
puntos de ruptura: simplemente haz click en la columna gris a la izquierda de la lnea de cdigo en la que sospechas que
puede haber problemas, y vers cmo aparece un crculo rojo. Si una vez hecho esto ejecutas el programa pulsando en el
icono de depuracin, vers cmo la ejecucin se detiene cuando el programa llegue a la lnea que has marcado. Es como
pulsar el botn de pausa mientras vemos una pelcula: ahora, en la ventana izquierda, podremos inspeccionar el estado de
nuestros objetos, comprobando si tienen los valores que deberan tener y permitindonos as localizar la causa del error.

Como se muestra en la imagen, los botones superiores nos permitirn reanudar controladamente la ejecucin a partir de este
punto, ofreciendo mltiples opciones: desde seguir paso a paso, ejecutando instruccin por instruccin, hasta continuar la
ejecucin abandonando la depuracin. Tambin podemos decidir si, en caso de que la siguiente lnea corresponda a una
llamada a un mtodo, queremos introducirnos en el cdigo de dicho mtodo paso a paso o preferimos que lo ejecute
normalmente pero se detenga al terminar. Las opciones en depuradores profesionales son muchas ms, pero jGrasp ofrece las
ms utilizadas: es ms, seguramente para el usuario medio sobran la mitad de los botones de que disponemos.
Terminaremos lamentando la ausencia de documentacin sobre este programa en espaol: si bien existen tutoriales y un
manual de uso, a da de hoy todos estn en lengua inglesa.

3. Valoracin
A continuacin se indican los aspectos que sobresalen en jGrasp, para bien o para mal, respecto al resto de entornos
estudiados:

Puntos fuertes de jGrasp

Su planteamiento y organizacin es similar al de IDEs como NetBeans o Eclipse, acostumbrando al alumno a entornos
ms profesionales
Permite una cmoda organizacin cuando hay muchos archivos abiertos
Genera automticamente diagramas de clases UML, de gran utilidad didctica

Puntos dbiles de jGrasp

Su aspecto no es demasiado atractivo


La gestin de los paquetes podra ser ms clara
Carece de documentacin en espaol

Entorno de desarrollo BlueJ


BlueJ es un sencillo entorno de programacin exclusivamente diseado para la enseanza y el aprendizaje de Java. Se
trata de un proyecto nacido en el seno de un grupo de investigacin universitario integrado por miembros britnicos y
australianos. Por sus novedosas caractersticas, en poco tiempo BlueJ alcanz una gran popularidad en entornos
docentes.

1. Puesta a punto
Lo primero que haremos ser descargar el programa de su pgina web y proceder a instalarlo. El procedimiento es
trivial y, asumiendo que ya tuvieses instalado el JDK, no tendrs que configurar absolutamente nada para empezar a
trabajar; pero antes de programar nuestra primera clase, debemos hacer una aclaracin previa.
La pantalla principal aparecer en gris hasta que creemos un proyecto. En BlueJ existe una desafortunada confusin
entre el trmino proyecto, tal y como suele entenderse en los IDEs, y el concepto de paquete, antes explicado. As, un
proyecto BlueJ es igual que un paquete, pero en aras de simplificar se eliminan las lneas de
cdigo package, obligatorias segn la norma de Java. Si trabajar con paquetes es prioritario para ti, BlueJ no es
definitivamente la mejor opcin. Significa esto que no podemos utilizar en BlueJ paquetes de clases programados en
otros entornos? Existe una forma de incluirlos en nuestro proyecto, Project > Open non BlueJ, pero sin duda no
resulta nada intuitivo.
No nos quedemos con este defecto, sin duda uno de los pocos que presenta el entorno: creemos un nuevo proyecto
conProject > New Project y ya podremos empezar a trabajar. La pantalla se mostrar as:

Como ves, la pantalla principal es tremendamente sencilla. A la izquierda tenemos los botones de nueva clase y
compilar; a la derecha la ventana principal, en la que veremos el esquema de clases. Abajo est el banco de objetos,
similar al de jGrasp, que se estudiar ms adelante. Por ltimo, una barra gris cambiar de color y se pondr en
movimiento cuando haya un programa en ejecucin.
Existen dos formas de aadir una clase al proyecto: la primera es crearla nosotros mismos, mediante el botn New
Class. La segunda es aadir una clase existente, mediante el men Edit > Add class from file. Ten en cuenta
que esta clase se copiar al directorio del proyecto actual, mientras que en jGrasp esto no ocurra: simplemente se
utilizaba la clase desde su ubicacin original. Por otra parte no hace falta que te preocupes de guardar las clases, ya
que BlueJ lo har por ti cada vez que compiles o cuando cierres el programa.
El entorno incluye un sencillo asistente para crear clases, cuya misin es proporcionarte un modelo o esqueleto de
cdigo sobre el que trabajar. Este borrador ser distinto si queremos hacer una clase estndar o, por ejemplo, un applet
(aplicacin grfica de ventana). Sin embargo, y ya que la misin es aprender, quiz sea mejor borrar la propuesta y
comenzar a trabajar con el editor en blanco.

Las clases que aadimos al proyecto se representan mediante un rectngulo marrn: en la imagen anterior aparece
rayado porque an no lo hemos compilado. Para editar el programa debes hacer doble click con el ratn sobre el
rectngulo, apareciendo una nueva ventana de edicin. En BlueJ, cada clase se edita en una ventana independiente, lo
que puede ser realmente engorroso en programas complejos.
Para compilar nuestras clases tenemos dos opciones: el botn de la izquierda compilar todas las clases del proyecto,
mientras que si pulsamos sobre el rectngulo de una clase con el botn derecho del ratn, podremos compilar por
separado dicha clase. Este mismo men nos permitira tambin eliminar la clase del proyecto.
Y la ejecucin? Localiza la clase en la que est el mtodo principal, pulsa sobre su rectngulo con el botn derecho, y
selecciona el mtodo main: vers que la ejecucin provoca la aparicin de una ventana independiente (s, otra ms), en
la que aparecer el resultado de ejecutar tu programa.

Sencillo, verdad? Veamos a continuacin opciones algo ms avanzadas.

2. Sacndole partido
Retomemos un proyecto completo, que involucre distintas clases:

Observa que los diagramas que ofrece BlueJ no son completos (no muestran los mtodos ni los atributos de cada
clase): nicamente se contemplan dos tipos de flechas para representar las relaciones entre clase, que caen fuera del
alcance de este artculo. Podemos reorganizar los rectngulos en la ventana para que las flechas se vean con claridad.
Observa tambin esa hoja de papel que aparece en la esquina superior izquierda: se trata de un
archivo Readme.txt que se incluye por defecto en todos los proyectos. Su misin es nicamente permitir al autor del
programa escribir notas sobre el mismo.
Volvamos al proceso de compilacin. Cuando sucede un error, BlueJ resaltar la lnea errnea y mostrar un mensaje.
En ocasiones, un smbolo de interrogacin nos permitir obtener una explicacin ms detallada del problema (en
ingls, eso s).

Al igual que jGrasp, BlueJ no muestra por defecto los nmeros de lnea al editar un archivo. Si deseas que aparezcan,
accede al men Tools > Preferences y marca la opcin Display line numbers.
A estas alturas ya te habrs dado cuenta de que la sencillez ha guiado el diseo de este entorno: ahora comprobars lo
intuitivo y fcil que resulta interactuar con los objetos sin necesidad de un mtodo principal. Haz click con el botn
derecho sobre una clase y tendrs acceso al mtodo constructor (new...). Adems del nombre del objeto, es probable
que tengas que introducir algunos valores iniciales:

A continuacin puedes ver el aspecto del banco de trabajo en la parte inferior de la pantalla, despus de crear algunos
objetos:

Sin necesidad de escribir un programa principal, puedes interactuar con estos objetos pulsando sobre ellos con el
botn derecho y ejecutando cualquiera de sus mtodos:

Tambin puedes examinar sus atributos mediante la opcin Inspect:

A travs del men View > Show Code Pad acceders a una nueva ventana en la que puedes ejecutar expresiones
sencillas y tambin referenciar a los objetos creados en el banco. Recuerda que esta funcionalidad tambin la ha
incorporado jGrasp, como se vio anteriormente.

El banco de objetos es una herramienta muy poderosa y cmoda para probar clases, pero no est pensada para
desarrollar complejas ejecuciones. Imagina que tu problema requiere crear 10 objetos distintos, dar valores a sus
atributos, y luego interactuar entre ellos: cada vez que detectes un fallo y recompiles, los objetos desaparecern y
tendrs que crearlos de nuevo. Por tanto, el banco de objetos en ningn caso sustituye la necesidad de escribir un
mtodo principal que gue la ejecucin del programa.
Una puntualizacin sobre este mtodo principal: el lenguaje pide que main reciba un conjunto de cadenas de texto
como parmetros, para permitir la recepcin de datos externos al ejecutar el programa. Adems, main debe declararse
como mtodo esttico (enseguida aclararemos qu es eso). La cabecera del mtodo main debera ser siempre, por
tanto, public static void main(String[] args). Sin embargo, para aislar al estudiante de ciertas
complejidades, BlueJ admite la siguiente cabecera: public void main(). Ten muy presente que un cdigo como
este no compilar en otros entornos de programacin, por tanto se recomienda respetar la sintaxis original de Java.

Por ser un mtodo esttico, para ejecutar el mtodo main basta (como dijimos anteriormente) con pulsar con el botn
derecho sobre la clase principal y escoger el mtodo main:

Si main fuese un mtodo convencional, tendramos que crear primero un objeto miTest de la clase Test, para a
continuacin invocar el mtodo. Ah est el problema: en programacin orientada a objetos tiene sentido crear objetos
que representen cuadrados o personas, pero qu representara un objeto test, o un objeto matemticas? Puede
haber varias matemticas? Esta es la razn de ser de mtodos estticos como el main de Test, o las funciones
matemticas de la clase Math.
Slo nos queda repasar las funciones de depuracin, que son muy parecidas a las que ofrece jGrasp. Pulsando en la
columna izquierda del editor de una clase, marcamos uno o varios puntos de ruptura:

A continuacin ejecutamos el programa y, automticamente, la ejecucin se detendr al llegar al primer punto de


ruptura. En ese momento aparecer la ventana de depuracin y podremos inspeccionar el estado de nuestros objetos:

Observa que los botones de control de ejecucin se han reducido al mnimo: avanzar una instruccin ( step), ejecutar
una llamada a un mtodo paso a paso (step into), continuar hasta el siguiente punto de ruptura, y abortar la ejecucin.
Ha quedado clara la obsesin de los creadores de BlueJ por simplificar, y en el caso de la depuracin no podemos
criticar su eleccin: estn las opciones justas, y resultan muy intuitivas para el usuario.
Hay una ltima ventaja de este entorno que an no hemos comentado: y es que si bien el manual de referencia est en
ingls, el tutorial oficial est traducido al castellano y es accesible desde la pgina web del programa. Adems, y
tambin en castellano,existe un libro de introduccin a la programacin en Java utilizando precisamente este entorno,
lo que puede sin duda facilitar la tarea al profesor.

3. Valoracin
Destaquemos para terminar los puntos fuertes y dbiles de este entorno:

Puntos fuertes de BlueJ

Su sencillez y facilidad de manejo resultan simplemente inigualables


Sus funciones de creacin visual de objetos estn integradas de forma fcil e intuitiva para el usuario
Existe documentacin oficial en castellano

Puntos dbiles de BlueJ


Se oculta al alumno la gestin de paquetes
Las ventanas independientes resultan algo caticas cuando se manejan muchos archivos a la vez
Los diagramas de clases no aportan ninguna informacin sobre las mismas, resultando de escasa utilidad

Entorno de desarrollo NetBeans


Existen varios entornos que han encontrado aceptacin por profesionales y aficionados. Los ms conocidos son
probablementeEclipse, NetBeans y IntelliJ IDEA. Los dos primeros resultan ms interesantes por ser de cdigo abierto,
y para este artculo se ha escogido NetBeans por presentar una ventaja adicional: al ser desarrollado por la compaa
Sun, la misma que cre Java, puede descargarse e instalarse en un mismo paquete con el kit de desarrollo JDK, lo
cul simplificar su instalacin a los alumnos.

1. Puesta a punto
Al igual que con los otros entornos estudiados, la instalacin de NetBeans no presenta ninguna complicacin, incluso si
se escoge descargarlo por separado desde la web del programa. Sin embargo, al abrir NetBeans nos encontramos una
pantalla algo ms confusa que en los anteriores entornos:

Al igual que en BlueJ, para empezar debemos crear un nuevo proyecto mediante el men File > New project,
indicando en este caso de qu tipo va a ser. Ya desde el principio, advertirs muchas opciones y posibilidades en el
entorno, seguramente ms de las que en muchos casos nos interesara:

En una ventana posterior daremos nombre al proyecto y escogeremos una ubicacin en el disco para almacenarlo.
Tambin nos dar la opcin para crear automticamente una clase principal, la que hasta ahora hemos llamado Test, y
que aqu por defecto se llamar Main. Una vez hecho esto, la ventana de trabajo nos resultar sin duda compleja, pero
tambin familiar:

NetBeans nos ofrece un esqueleto de clase Main, que podemos utilizar para hacer nuestra primera prueba. Por
defecto, NetBeans compila automticamente los archivos en el momento en que los grabas (icono del diskette), de
forma que nicamente necesitamos utilizar el botn que representa una flecha verde, como el play de un mando a
distancia. Vers el resultado de la ejecucin en la ventana inferior:

Como ves, no ha sido nada difcil empezar a trabajar con NetBeans; en la siguiente seccin esbozaremos las
capacidades de esta potente aplicacin.

2. Sacndole partido
Examinemos en detalle la carpeta de proyecto. Vers que se han creado mltiples subcarpetas en tu directorio de
trabajo:

De ellas slo nos van a interesar dos: en src se encuentran los archivos fuente de nuestro programa, mientras que
en build es donde guarda NetBeans los archivos compilados ( .class). Para aadir una nueva clase al proyecto slo
tienes que utilizar el botnNew Class; si lo que quieres es agregar al proyecto clases ya existentes, la forma ms
rpida consiste en copiarlas directamente a la carpeta src.

Si examinamos en detalle la ventana de trabajo, apreciaremos lo siguiente:


A diferencia de los entornos anteriormente estudiados, en NetBeans puedes ver las clases en la parte izquierda
agrupadas por el paquete al que pertenecen
La clase que contiene el mtodo principal main est destacada con una flecha verde en su icono
La parte inferior izquierda es como un diagrama de clase: incluye toda la informacin sobre atributos y mtodos
de la clase que estemos editando
NetBeans tambin puede mostrar nmeros de lnea, mediante el men View > Show line numbers.
Como se ha dicho antes, en NetBeans no existe la necesidad explcita de compilar, puesto que cuenta con una funcin
de autocompilado. Piensa en un editor de textos avanzado: segn vas escribiendo, el programa comprueba tu
ortografa y, si has cometido una falta, la destaca en rojo sobre la marcha. NetBeans funciona exactamente igual; es
ms, la forma en que resalta los errores sigue la misma esttica que los correctores ortogrficos. Si queremos saber el
motivo del problema, bastar con situar el cursor sobre una de las marcas de error:

En jGrasp o BlueJ, el primer error de compilacin provocar la detencin del proceso: aqu puedes seguir trabajando
aunque se acumulen varios errores, corrigindolos despus en el orden que quieras. Fjate en la parte izquierda de la
ventana: NetBeans distinguir con iconos aquellas clases que presentan errores de compilacin. Y puesto que la clase
pertenece al paquete figuras, tambin marca el paquete completo como errneo. De igual forma, el
proyecto trigonometra queda marcado en rojo por la existencia de al menos un error en sus archivos.
Sin duda, y pese a la complejidad, resulta muy cmodo programar en NetBeans. Se trata de un completo entorno que
nos permitir realizar no slo programas sencillos sino autnticos proyectos profesionales de programacin. Como
todos los IDEs dirigidos a programadores profesionales, ofrece herramientas avanzadas que nosotros, en un curso de
iniciacin a Java, raramente vamos a utilizar. Pero para que te hagas una idea de lo que estamos hablando,
repasaremos algunas de sus posibilidades:
Permite la integracin de la herramienta Ant de Apache, que permite automatizar mediante guiones o scripts la
compilacin de proyectos complejos y realizarla despus dndole a un solo botn. Las posibilidades de Ant
son enormes, permitiendo especificar, por ejemplo, que los archivos fuente se almacenan en unas
determinadas carpetas mientras los compilados se deben copiar a otras. Tambin se pueden programar
scripts de limpieza que eliminen todos los archivos compilados o no utilizados.
Soporta control de versiones con la herramienta gratuita CVS. Esta funcionalidad es extremadamente til al
programar en equipo, y bsicamente consiste en tener un nico almacn de archivos compartido por todos

los colaboradores de un proyecto de programacin. El sistema registra todos los cambios realizados de
forma que cada programador puede ver resaltado en colores qu cambios ha hecho su compaero en cada
archivo. Cuando el equipo se da cuenta de que ha cometido un error, puede dar marcha atrs y recuperar
rpidamente una versin anterior, deshaciendo los cambios realizados. Ms an: dos programadores pueden
modificar un mismo archivo a la vez. Cuando el segundo intente devolver el archivo modificado al almacn, el
programa le facilitar la revisin para mezclar sus cambios con los de su compaero, siempre que no
resulten incompatibles.
Ofrece la posibilidad de refactorizar cdigo. Utilizamos esta palabra para designar cambios menores en el
cdigo que, sin modificar la funcionalidad de nuestro programa, lo simplifican o facilitan su legibilidad. El
ejemplo ms bsico de refactorizacin es cambiar el nombre de una variable: el entorno se ocupar de
realizar el cambio en todos los puntos del programa en que aparezca, incluso en otros archivos del proyecto.
NetBeans tambin permite ordenar automticamente el cdigo, introduciendo tabulaciones y espaciados para
que el programa se lea con facilidad.
Incorpora el autocompletado de cdigo. Imagina que ests escribiendo el nombre de una variable o de un
objeto, pero no recuerdas qu nombre le diste exactamente: pues bien, simplemente escribe las primeras
letras, pulsa la tecla Control y la barra espaciadora, y el programa te indicar cules son los nombres
disponibles. Algo parecido sucede con los atributos y mtodos de una clase. Si escribimos el nombre de un
objeto seguido de un punto, sabemos que a continuacin debe ir o bien un atributo o bien un mtodo de los
que ofrezca la clase a la que pertenece el objeto en cuestin. Si no recordamos su nombre repetiremos la
combinacin de teclado y el entorno nos ofrecer las distintas posibilidades:

Las dos primeras funcionalidades estn muy orientadas al uso profesional y tendra poco sentido utilizarlas en un curso
de iniciacin, pero es posible que algn profesor quiera ilustrar las posibilidades de trabajo en equipo incorporando un
servidor de control de versiones. El autocompletado, sin embargo, puede ser utilizado en clase con frecuencia; otra
cuestin sera el considerarlo o no adecuado para la labor docente. La funcin de NetBeans es permitir programar
deprisa, y funciones como el formateado automtico del texto y el autocompletado de cdigo ahorran al programador
tiempo y errores. Algunos profesores considerarn que, cuando empezamos, no deberamos recibir tantas ayudas y
sino enfrentarnos precisamente a esos errores. Otros valorarn estas herramientas para que los alumnos se sientan
ms guiados en su tarea de programar.
NetBeans no permite la creacin interactiva de objetos (una iniciativa interesante a nivel didctico, pero no tanto en un
IDE profesional). Pero podemos completar nuestro paseo por el entorno comprobando cmo funciona la depuracin. La
forma de realizarla es igual que en los otros entornos, aunque NetBeans proporciona posibilidades de inspeccin y
monitorizacin mucho ms avanzadas. Lo que a nosotros nos interesa, sin embargo, se realiza de forma similar: haz
click en la columna gris a la izquierda de las lneas donde quieras aadir puntos de ruptura, y pulsa el icono de depurar
programa:

En verde se destaca el punto de ruptura en el que estamos detenidos, y en rojo otros puntos de ruptura que hayamos
marcado. En la ventana inferior podremos examinar los valores de todos los objetos en este punto, y a travs del
men Debugencontraremos las opciones ya conocidas para controlar la ejecucin ( step, step into...) aparte de otras
posibilidades que sobrepasan nuestros intereses.
Los mens y mensajes de NetBeans estn escritos, al igual que su documentacin, en ingls. Sin embargo, existe un
grupo de trabajo dedicado a traducir el IDE al espaol, de forma que algunas versiones se encuentran traducidas a
nuestro idioma. En cuanto a la documentacin, iniciativas personales o universitarias de Espaa o Iberoamrica
permiten encontrar en la red ciertos recursos para comprender mejor esta popular y potente plataforma.

3. Valoracin
Al igual que con el resto de entornos, terminemos con una breve exposicin de sus aspectos ms destacados:

Puntos fuertes de NetBeans


Sin duda, el ms completo, estable y fiable de los tres

Si un alumno necesita programar en su vida profesional y ha aprendido con NetBeans, podr enfrentarse con
confianza a cualquier entorno presente en la empresa, ya que todos son muy parecidos entre s
La gestin de paquetes y sus avanzadas detecciones de errores (incluso antes de compilar) resultan ms
cmodas e intuitivas que en los otros entornos

Puntos dbiles de NetBeans


Su consumo de recursos es significativamente mayor que el de las otras alternativas
Enfrentarse a un entorno algo complejo como NetBeans puede desanimar o confundir al alumno,
especialmente si no tiene nociones de programacin
Sus mltiples ayudas al programador pueden no ser adecuadas para iniciarse en el lenguaje Java

Conclusiones
Seguramente a estas alturas ya te hayas hecho una idea de qu entorno te interesa ms; pero por si acaso, hagamos
un repaso final.
BlueJ es un entorno visualmente agradable, sencillo, y con potentes aadidos para facilitar la tarea docente;
pero el trabajo intensivo resulta ms incmodo y en su bsqueda de simplicidad elude algunos aspectos del
lenguaje Java.
jGrasp es algo menos atractivo y, si bien ofrece tambin las algunas facilidades interactivas, no quedan tan
bien integradas como en BlueJ. Sin embargo, su organizacin de archivos es mucho ms clara, y su uso
prepara mejor al alumno para el uso de entornos profesionales.
Uno de esos entornos profesionales es NetBeans: todas las funciones avanzadas estn presentes en este
potente IDE, con la ventaja adicional que ofrece su sencilla instalacin junto con el kit de desarrollo. No
obstante, utilizar un entorno tan potente para iniciarse quiz sea excesivo y desde luego no es buena idea si
se dispone de equipos con caractersticas ms bien modestas.
La siguiente tabla recoge esquemticamente algunas de las diferencias entre los entornos estudiados:

Caracterstica

BlueJ

jGrasp

NetBeans

Versin del entorno en castellano

No

No

Algunas versiones

Existencia de documentacin oficial en castellano Tutorial y libro

No

No

Disponibilidad en Linux

Tipo de licencia

GNU (software Propietaria


libre)
(freeware)

CDDL y GPL2
(software libre)

Permite trabajar con otros lenguajes de


programacin

No

Generacin automtica de documentacin


(JavaDoc)

Informacin esquemtica sobre las clases

Escasa

Completa (diagrama
Abundante
UML)

Gestin de paquetes

Confusa

Regular

Buena

Funciones de depuracin

Muy bsicas

Bsicas

Avanzadas

Funcionalidades avanzadas (refactorizacin,


control de versiones...)

No

No

Creacin y manejo de objetos visualmente sin


programa principal

Muy fcil

Fcil

No

Espacio aproximado en disco duro

10 MB

6 MB

160 MB

Consumo aproximado de memoria (10 clases


abiertas en el editor)

70 MB

50 MB

140 MB

Fiabilidad para uso intensivo en proyectos semi o


No
profesionales

No

Comodidad para trabajar con mltiples archivos


abiertos

Baja

Alta

Alta

Complejidad de uso

Muy baja

Baja

Media

Ten muy presente que la facilidad de uso de un programa no puede expresarse en una tabla. Si tienes dudas, lo mejor
es instalarlos y hacer unas cuntas pruebas: al final todo es cuestin de gustos, y deberas escoger aquel entorno con
el que sientas ms seguridad y confianza. An no lo tienes claro? Un ltimo criterio: piensa en el motivo por el que tus
alumnos aprendern Java. Si es una mera iniciacin a la programacin pero no es probable que vayan a programar
habitualmente en un futuro prximo, escoge BlueJ; pero si ests preparando a tus alumnos para ser programadores,
utiliza NetBeans. Si te encuentras en una situacin intermedia, puedes apostar por JGrasp. Cualquiera que sea el
entorno elegido, la enseanza de Java resultar una experiencia estimulante y creativa: y no slo para los alumnos,
sino tambin para el profesor.

http://recursostic.educacion.es/observatorio/web/ca/software/programacion/911-monograficojava?showall=1

Вам также может понравиться