Sei sulla pagina 1di 8

Abstract

- Este
artculo

Anlisis Comparativo de los diferentes IDEs para


Java: Ventajas, desventajas, alcances,
aplicabilidad en el entorno educativo
Miguel Angel Suma Paucara
Escuela Profesional de Ingeniera de Sistemas
Universidad Nacional de San Agustn
Arequipa, Per
miguelsuma27@gmail.com

describe los diferentes entornos de desarrollo (IDE) para


el lenguaje de programacin Java. Se dan a conocer las
ventajas y desventajas que tiene uno con respecto a otros,
la versatilidad a la hora de programar una aplicacin y el
alcance de cada uno de estos. Se hace un anlisis en el
entorno educativo para deducir que IDE es ms
conveniente utilizar a la hora de ensear a programar a
los alumnos. Se hace un anlisis comparativo de cada
IDE y se muestran los resultados obtenidos.
I.

INTRODUCCION

Uno de nuestros mayores temores a la hora de aprender a


programar fue la de adaptarnos a ese programa visto por
primera vez en el primer semestre acadmico (Eclipse en
caso nuestro).
Lo que muchos no sabamos era que se trataban de entornos
de desarrollo (IDE) que nos permitiran en un futuro realizar
aplicaciones. [2] Estos IDES son herramientas sofisticadas
que permiten al programador facilitar enormemente su
trabajo. [12]
Dada nuestra experiencia como programadores al utilizar un
IDE, en este artculo se describe un Anlisis
Comparativo de cada uno de ellos, las ventajas y
desventajas que nos traeran si utilizaramos uno con
respecto a otros, el rendimiento, la compatibilidad, el
alcance, el costo y ms.
Pero lo ms importante an es el tipo de aplicacin que estas
desarrollando, ya que depende a eso se escoger el IDE
apropiado.
Finalmente se muestra las conclusiones con el impacto que
generan en el entorno educativo del alumno.

II. TRABAJOS RELACIONADOS


Adems de estos entornos de desarrollo (IDE) ya conocidos
existen otras herramientas con los cuales se puede empezar a
programar en Java.
Una de ellas es Greenfoot, un IDE para Java con fines
educativos. [13] Con esta herramienta podemos crear
aplicaciones grficas (simulaciones y juegos) en dos
dimensiones que nos permiten familiarizarnos con Java y
los conceptos bsicos de la Programacin Orientada a
Objetos (POO) de una forma prctica y divertida.
Greenfoot es un proyecto de software libre y gratuito,
desarrollado en la Universidad de Kent (UK), enfocado en
principio a jvenes estudiantes que quieren inicarse en el
mundo de la programacin.
Existen otras herramientas con objetivos similares,
como Scratch o Alice, pero Greenfoot tiene caractersticas
ms avanzadas, como la edicin de cdigo fuente en Java, lo
que lo hace ms potente e incluso interesante para personas
que tienen ya conocimientos en programacin. Greenfoot se
distribuye gratuitamente con licencia GNU GPL y est
disponible para Windows, Mac OS X y Linux. [13]
En [14] se da a conocer Scratch un entorno de programacin
que facilita el aprendizaje autnomo y a su vez permite a los
principiantes aprender a escribir de manera sintcticamente
correcta primero. Permite investigar, introducirse y jugar con
la programacin de ordenadores utilizando una interfaz
grfica muy sencilla.
Para poder familiarizarse mejor se brinda a una serie de
ejercicios que permiten a los principantes desarrollar el
pensamiento algortmico.

III. EL ENTORNO DE DESARROLLO


INTEGRADO (IDE)
Los entornos de desarrollo integrado (IDE) son
aplicaciones que permiten realizar todo el proceso de
desarrollo de aplicaciones desde un mismo programa. [2]
Es decir, con uno de estos programas podemos editar,
compilar, ejecutar programas en Java o en muchos otros
lenguajes de programacin, y todo dentro de un entorno
grfico. Adems cuentan con otras herramientas de ayuda
para la programacin como la depuracin (para la bsqueda
de errores), coloreado del cdigo fuente y plantillas
predefinidas con la estructura bsica de aplicaciones. [12]
Java no cuenta con un entorno de desarrollo propio, por esa
razn, se puede utilizar desde un block notas hasta entornos
de desarrollo avanzados como Eclipse, NetBeans, entre
otros. [2]
Los entornos de desarrollo cuentan con caractersticas
amigables, definicin de mltiples visiones, editores
contextuales, compiladores, depuradores y ejecutores
integrados, as tambin como paletas de componentes
grficas para arrastrar-soltar, agilizan sin lugar a dudas la
produccin de software.
Las herramientas analizadas pueden cubrir todas las etapas
del ciclo de vida del software hasta su implementacin. [1]

IV. IDEs PARA JAVA


Existen distintos IDEs de aplicaciones Java. Este tipo de
productos ofrecen al programador un entorno de trabajo
integrado para facilitar el proceso completo desarrollo de
aplicaciones, desde el diseo, la programacin, la
documentacin y la verificacin de los programas. [4]
Java ha ganado popularidad como el primer lenguaje de
programacin por muchas razones [1]: es un lenguaje
completo que adems es muy utilizado en la industria [2].
Sin embargo, para programar en Java es necesario conocer
antes su sintaxis con buen detalle y adems es necesario
utilizar un IDE para la implementacin de programas.
Existen entornos de distribucin libre como: Eclipse,
NetBeans, o BlueJ.
Entre los productos comerciales estn JBuilder o JCreator.
A. Eclipse
Eclipse es una plataforma de desarrollo open source basada
en Java. Es un desarrollo de IBM cuyo cdigo fuente fue
puesto a disposicin de los usuarios. En si mismo Eclipse es

un marco y un conjunto de servicios para construir un


entorno de desarrollo a partir de componentes conectados
(plug-in). [1]
Fue concebida desde sus orgenes para convertirse en una
plataforma de integracin de herramientas de desarrollo. No
tiene en mente un lenguaje especfico, sino que es un IDE
genrico, aunque goza de mucha popularidad entre la
comunidad de desarrolladores del lenguaje Java usando el
plug-in JDT que viene incluido en la distribucin estndar
del IDE.
Es una potente y completa plataforma de Programacin,
desarrollo y compilacin de elementos tan variados como
sitios web, programas en C++, Python o aplicaciones Java.
B. NetBeans
NetBeans es un poderoso entorno de desarrollo que permite
desarrollar aplicaciones complejas de interaccin web, UML,
base de datos, aplicaciones para telefona mvil e inclusive
Inteligencia Artificial. [2]
NetBeans proporciona la posibilidad de desarrollar en modo
cdigo, en modo grfico o con un diagrama de flujos, es muy
til porque se puede visualizar lo que hay en pantalla o
seleccionar la funcin de cada botn y arrastrarlo hacia otros
formularios creando as el diagrama o si se quiere construir
funciones y clases ms especficas creando desarrollos por
cdigo. [3]
C. BlueJ
BlueJ es un entorno de desarrollo para Java, diseado
especficamente para la enseanza en un curso introductorio.
Fue diseado e implementado por el equipo de BlueJ en la
Universidad de Monash, Melbourne, Australia y la
Universidad de Southern Denmark, Odense. [5]
Este entorno es un es ejemplo de como la automatizacin se
usa para producir el esqueleto de las clases a partir de
objetos que se visualizan en un ambiente grafico [5].
BlueJ fue desarrollado para apoyar la enseanza y el
aprendizaje de la programacin orientada a objetos, y como
resultado, su diseo difiere de otros entornos de desarrollo.
La pantalla principal muestra grficamente la estructura de
clases de una aplicacin en desarrollo (en un diagrama muy
parecido a UML), y los objetos pueden ser creados y
probados interactivamente. Combinado con una interfaz de
usuario simple, esta facilidad de interaccin permite
experimentar de manera fcil con los objetos en desarrollo.
[5]
Los conceptos de la orientacin a objetos (clases, objetos,
comunicacin a travs de llamadas a mtodos) son

representadas visualmente en el diseo de interaccin en la


interfaz.
D. JBuilder
Es un software creado en 1995. Es un IDE para el lenguaje
de programacin Java, de Borland, y CodeGear. CodeGear
fue comprado por el Embarcadero Technologies en 2008.[2]
Los principales competidores de JBuilder son los productos
de la Fundacin Eclipse (Eclipse), JetBrains(IntelliJ IDEA) y
Oracle (Oracle JDeveloper y NetBeans). Oracle utiliza a la
base de las primeras versiones de JDeveloper en el cdigo de
JBuilder con licencia de Borland, pero desde entonces ha
sido reescrito desde cero. [12]
Para maximizar la productividad de los desarrolladores,
JBuilder incluye varios diseadores visuales.
Por ejemplo, la capacidad de modelado UML (Lenguaje
Unificado de Modelo) en JBuilder, fomenta una mejor
comunicacin entre los desarrolladores, equipos de
desarrollo, y gestin y es compatible con las especificaciones
1.4 y 2.0 UML. Y, con LiveSource tiene el beneficio aadido
de la sincronizacin simultnea entre el cdigo y los
diagramas a la hora de hacer cambios a cualquiera de ellos.
[11]
E. JCreator
Es un entorno de desarrollo integrado (IDE) para
programacin en lenguaje Java en entorno Windows.
Es un producto comercial de la compaa Xinox Software.
Utiliza el J2SDK de Sun Microsystems para compilar y
ejecutar los programas, pero no es necesario para ejecutar el
JCreator, ya que a diferencia de otros IDEs para Java como
Netbeans o Eclipse este programa no es una aplicacin
nativa Java. [7]

V. LA PROGRAMACION EN EL ENTORNO
EDUCATIVO
En la bsqueda de permanente de nuevos mtodos para la
enseanza de la programacin se insiste con la idea usar la
computadora como un recurso natural para tal fin. Si bien
hemos creado y aplicado con xito un entorno interactivo
para el desarrollo de algoritmos por computadora, hemos
apreciado falencias en el proceso de crear tales aplicaciones:
cuando debera darse por concluido el problema y la
verificacin del algoritmo. [18]
Para ello se propone complementar el entorno existente con
las siguientes herramientas:

Mapas Conceptuales Hipermediales(MHC) para la etapa


previa al desarrollo del algoritmo y Esquemas de Ejecucin
de Algoritmos(EEA) para una etapa posterior en la que se
realiza el testeo. [8]
A. Herramientas no convencionales en la
programacin
Los MCH y una plataforma diseada especialmente para
trabajar con ellos han sido creados con el propsito de
facilitar la construccin, mantenimiento, interconexin y
lectura de los mapas conceptuales tradicionales. [7]
Son una herramienta especfica para la representacin de las
ideas y constituyen un recurso visual poderoso para la
identificacin de los conceptos fundamentales y de sus
relaciones.
El uso exitoso de los MCH en distintas reas de aplicacin,
tambin incluye a la de resolucin de problemas
computacionales.
Los EEA son representaciones grficas para visualizar la
ejecucin de un algoritmo. Ayudan a comprender la relacin
entre el algoritmo como entidad esttica y el dinamismo de
su ejecucin. [8]
El trabajo con el nuevo entorno permitir al alumno crear el
MCH del tema sobre el que trata el problema a resolver, lo
que representa una ayuda significativa para la comprensin
del mismo. Una vez comprendido el problema podr usar el
editor interactivo de algoritmos para construir los algoritmos
que considere necesarios para la resolucin del problema. [7]
B. Trabajar con nuevos entornos de
programacin
El Nuevo Entorno de Programacin queda entonces
compuesto por:
a) Un Editor interactivo para MCH. b) Un Editor interactivo
de algoritmos. c) Un Constructor de trazas. d) Un
Constructor de EEA. e) Un Traductor automtico de
algoritmos a programas. f) Un Editor de textos que permite
ver y modificar los programas fuente generados
automticamente por el Traductor. [9]
Por tanto trabajar con el nuevo entorno le permitir al
alumno usar el Editor para crear el MCH del tema sobre el
que trata el problema a resolver, lo que representa una ayuda
importante para la comprensin significativa del mismo.
Con IntelliJ IDEA puede construir una amplia variedad de
proyectos, incluyendo viejas y simples aplicaciones Java SE,
componentes Java EE, aplicaciones de Spring, y aplicaciones
Java FX. (El rango depende de la versin que est utilizando.
Algunos proyectos no estn disponibles en la edicin
Community) Si desea crear aplicaciones mviles, IDEA

soporta J2ME y proyectos Android. (Es necesario descargar


e instalar el SDK de Android para construir un proyecto de
Android). Puede utilizar el sistema de acumulacin de IDEA,
crear un proyecto Gradle, o solicitar la IDE para generar una
construccin Ant. [18]

Se contemplan las funcionalidades bsicas como edicin


colaborativa de algoritmos y su posterior codificacin en un
lenguaje seleccionado, interpretacin y verificacin tanto de
algoritmos como del cdigo generado, permitiendo la
ejecucin paso a paso y la confeccin del resultado. [9]

La edicin Community IDEA de IntelliJ es una excelente


IDE Java. Si realiza trabajo de script con Groovy, su soporte
para Groovy es particularmente bueno. Tambin tiene
soporte para Scala. En trminos de utilidad, la edicin
Community est entre NetBeans y Eclipse. [19]

Adems de contar con los mecanismos de comunicacin


como: envo, recepcin de los diseos y programas
realizados.

La edicin Ultimate tiene una poderosa plataforma de


desarrollo que incluye las herramientas de base de datos, el
soporte para J2EE y servidores de aplicacin, soporte para
Hybernate y JPA, editores para JavaScript, HTML, CSS y
ms. [18]

VI. APLICACIN DE LOS IDES EN EL


ENTORNO EDUCATIVO
La resolucin de problemas implica, generalmente, un
esfuerzo intelectual y el diseo de un conjunto de pasos que
permitan llegar a la solucin del problema. [18] El xito o el
fracaso en la primera asignatura que cursan los alumnos en
sus carreras universitarias suele decidir de manera
contundente su permanencia en la institucin y su destino
profesional.
En el rea de Informtica, los alumnos que se encuentran por
primera vez con un lenguaje de programacin tpicamente
tienen el desafo de abordar entre otros el tema de la
programacin estructurada y la metodologa de resolucin de
problemas.
Tanto la temtica como la metodologa de trabajo son
aspectos que los alumnos ingresantes no han trabajado en
general lo suficiente en su paso por el nivel medio. Esto
conduce a niveles de desercin y fracaso acadmico muy
elevados. [15]
Con este contexto, se ha generado una propuesta de
actividades para alumnos ingresantes que cursarn la
asignatura Introduccin a la Computacin. Esta propuesta,
con un enfoque ldico y de experimentacin, incluye un
conjunto de actividades basadas en la metodologa de
resolucin de problemas por equipos y resolucin de
problemas de Polya.
A. Propuesta de Aprendizaje
Se propone el diseo de una herramienta computacional
basada en software libre que integra el trabajo con
metodologas para el diseo de algoritmos y lenguajes de
programacin tales como C++ y Java. [10]

Para apoyar al proceso de desarrollo, los grupos contaran


tambin con otras herramientas de comunicacin, tales como
foros por grupos, mensajera interna y diario.
Esta ltima herramienta utilizada para la comunicacin con
el docente y como espacio de reflexin personal y de registro
del proceso de aprendizaje. [8]
Cada grupo de trabajo estuvo conformado por dos subgrupos
uno con alumnos del turno maana y otro con los del turno
tarde. Se acord que la pareja de alumnos de distintos turnos
programara distintos mdulos que iran seleccionando de un
reservorio.
Cuando la pareja terminara de programar un mdulo,
avisara al subgrupo del otro turno para que ste realice las
pruebas del mdulo entregado. Si se detectaran errores, la
pareja encargada de realizar la prueba informara de esta
situacin a la dupla programadora, sugiriendo los cambios
necesarios. [7]
La pareja programadora podra entonces implementar los
cambios sugeridos o realizar otros. Una vez efectuados los
cambios, la dupla programadora debera probar y
responsabilizarse por el correcto funcionamiento del mdulo.
Cuando la pareja programadora considerara que el mdulo
cumpla con la funcionabilidad preestablecida, informara de
esta situacin al tutor quien evaluara el modulo para luego
agregarlo en el reservorio preparado para el sistema.
Cada subgrupo cumplira el doble rol de ser programador de
mdulos y verificador de los mdulos de la otra pareja. Cada
alumno utilizara un diario personal para planificar y
registrar el avance. [8]
Tambin asentara sus apreciaciones respecto al nivel de
conocimiento y progresos propios y de sus compaeros,
como as tambin el comportamiento dentro del grupo.
Se estableci que el foro sea el canal de comunicacin bsico
entre los integrantes del grupo y el tutor. Esta comunicacin
deba ser fluida, con el objetivo de contribuir en el apoyo y
el crecimiento intelectual y personal de cada uno de los
estudiantes. [9]

El matemtico George Polya (1973) plante en su libro


How to solve it una estrategia para la resolucin de
problemas que est dividida en cuatro pasos: entender el
problema, disear un plan, ejecutar el plan, y mirar hacia
atrs. [18]
Como afirma Polya, lo peor que puede suceder es que el
alumno se embarque en la solucin del problema sin
entenderlo. Por tanto, la primera fase es entender el
problema. Lo que se debe hacer en esta fase es comprender
el enunciado. Leerlo varias veces y buscar las palabras que
no se conocen. Esto es, garantizar la comprensin total y
absoluta del enunciado.
Luego se deben identificar las principales partes del
problema: lo que no se conoce, los datos y la condicin. En
esta etapa sera importante que, de ser posible, se realicen
dibujos, bosquejos y/o grficas que ayuden a visualizar el
problema y aporten a su comprensin.
Tambin, suele ser til darle nombre a los objetos de manera
de poder manejarlos a travs de alguna simbologa (por
ejemplo, para plantear ecuaciones). En esta etapa la funcin
del docente es disear estrategias que ayuden al alumno a
identificar y extraer la informacin del problema. Polya
sugiere que se pueden realizar preguntas como: Qu es lo
que no se conoce en el problema? Cules son los datos?
Cul es la condicin? [19]
La segunda fase, disear un plan, es la ms complicada.
Requiere de un gran esfuerzo intelectual y debe convertirse
en una gua que lleve a resolver el problema. Es importante
tener paciencia ya que las ideas que van a llevar a la
construccin del plan pueden ir surgiendo gradualmente, y
los primeros intentos pueden resultar algo frustrantes. En
esta etapa es apropiado tratar de identificar problemas
similares y analizar si la solucin (o parte de ella) se puede
adaptar al problema en cuestin. [20]
Adems, si no es posible resolver el problema en su
totalidad, se puede intentar resolver un problema similar de
menor complejidad, o bien, dividir el problema en problemas
ms pequeos (de menor complejidad) e ir resolviendo por
partes. El papel del docente en esta fase es provocar en el
alumno el surgimiento del plan a travs de sugerencias y
preguntas.
Las preguntas que sugiere Polya para esta etapa son:
Conoces algn problema relacionado? Hay un problema
relacionado y resuelto antes; Podras utilizarlo? Podras
reformular el problema? Utilizaste todos los datos? Has
utilizado toda la condicin? [18]

La tercera fase, ejecutar el plan, es ms sencilla que la


anterior, solo hay que tener la precaucin de seguir
meticulosamente el plan trazado. El plan ofrece una gua que
conduce a una posible solucin. El docente debe tener muy
poca presencia en esta etapa. Debe limitarse a procurar que
el alumno siga el plan propuesto, y que sea su propio plan.
La ltima etapa es la denominada mirar hacia atrs, y es la
que habitualmente los alumnos dejan de lado. Una vez que el
problema est resuelto, ellos suelen pasar al prximo sin
darse la oportunidad de revisar la solucin.
Para Polya (1973, pg.14) es la fase ms importante e
instructiva del proceso. Esta fase tiene como objetivos no
slo la bsqueda de posibles errores, sino tambin aprender
del proceso. El docente debe asegurarse de que el proceso de
revisin se realice. Esto puede hacerse pidiendo al alumno
que imagine otros contextos donde el plan puede volver a
utilizarse exitosamente. [20]
La metodologa propuesta por Polya, claro est, no garantiza
alcanzar la solucin del problema pero ofrece una forma de
organizar la resolucin del problema. La forma precisa en el
que el problema ser resuelto depende, en gran medida, de
las habilidades cognitivas de quien lo resuelve y de la
prctica que tiene en la resolucin del problemas.

B. Implementacin de Algoritmos
La resolucin de problemas y el diseo de algoritmos se
realizan en papel, por lo cual los alumnos, de acuerdo a
encuestas efectuadas y a observaciones realizadas en la
ctedra, no detectan rpidamente los errores cometidos, o
peor an, si no consultan con la ctedra, piensan que sus
diseos son correctos en situaciones que no lo son. [10]
Generalmente en la instancia en que trabajan con un lenguaje
de programacin, all sumado a la tarea de lidiar con la
sintaxis del mismo, descubren que la lgica empleada al
resolver un algoritmo en papel no fue la adecuada,
requiriendo mayor esfuerzo en las tareas de detectar y
corregir errores.[6]
El intrprete de pseudocdigo utilizado pudo asistirlos en los
primeros diseos realizados, facilitando la introduccin de
los conceptos bsicos (variables, expresiones y estructuras de
control) de manera independiente al lenguaje utilizado. Al
disponer de ayudas bsicas y asistencia se facilit la
bsqueda y solucin de errores, mejorando adems la
comprensin de la lgica de sus diseos, y de los ejemplos
brindados por los docentes. [6]
La herramienta contaba con las siguientes funcionalidades:
a) Edicin de algoritmos en pseudocdigo: la versin

utilizada estaba en idioma espaol y permita adems el


coloreado de sintaxis, identado automtico, autocompletado,
entre otros. b) Generacin de diagrama de flujo del
algoritmo. Esto es til para aquellos estudiantes que traen
conocimientos previos en el manejo de esta metodologa. c)
Edicin simultnea de mltiple algoritmos. d) Ejecucin de
los algoritmos, dando la posibilidad de realizarlo adems
paso a paso, controlando la velocidad e inspeccionando las
variables y expresiones. e) Resaltado de errores de sintaxis
[9].
C. Programando Juegos y Aplicaciones
Esto complementa a la aplicacin de los diferentes IDES y
tiene que ver con la programacin de juegos sencillos usando
el lenguaje Java.
Aprender con juegos habilita a considerar aspectos como los
consumos culturales y habilidades generacionales de los
alumnos, y adems se cuenta con una herramienta didctica
potencial para el aprendizaje.
La creacin de video-juegos como recurso para ensear las
estructuras bsicas de un lenguaje de programacin es una de
las alternativas ms atractivas que un docente puede ofrecer
a su alumnado de Bachillerato en el rea de Tecnologas de
la Informacin y la Comunicacin. [6]
Dos son los motivos principales que se destacan como
ventaja: Con los video-juegos se acercan los contenidos del
currculo a un mundo con el que el alumnado est muy
familiarizado fuera del aula. [10]
Desde esta perspectiva, trabajar con video-juegos permite
enlazar los que el alumnado aprende fuera del aula con lo
que aprende dentro, favoreciendo as el trabajo por
competencias. Se aleja al alumnado del tndem informticamatemticas.
La mayor parte de las primeras enseanzas relacionadas con
la programacin estn en la lnea de utilizar un lenguaje de
programacin (C, Java, Basic, etc.) para resolver algoritmos
matemticos: sacar nmero primos, descomponer un nmero
en factores. Esta perspectiva, aunque tiene una indiscutible
utilidad desde el punto de vista de la competencia
matemtica, suele crear un rechazo en el alumnado, al no ser
capaz de asociar y visionar la programacin como base de la
tecnologa del mundo real. [15]
La manera ms simple para definir a un video-juego es: una
interaccin entre algn tipo de mquina y una persona, la
persona realiza alguna accin y la maquina, o los grficos en
una maquina, reaccionan a esa accin de alguna forma. En
un vdeo-juego siempre hay tres elementos principales: [18]

a) Entrada (controles, joysticks, pads, ratn etc.).


b) Procesamiento (Clculos de posiciones y colisiones,
generar sonidos, cambiar estados, etc..).
c) Salida (desplegar grficos, tocar sonidos, mover
dispositivos externos)
Por lo tanto, en este artculo se entiende video-juego como
una interaccin en la que un objeto reacciona ante una
entrada devolviendo una salida.
En particular, los juegos que se plantean son juegos
educativos, orientados a repasar conceptos bsicos de
matemtica y lengua. [6] En el rea de matemticas se
realizan actividades para practicar las tablas de multiplicar,
cuentas sencillas y mltiplos. En cuanto al rea de lengua, se
realizan juegos que permiten estudiar reglas ortogrficas,
reconocer letras en maysculas o minsculas, clasificacin
de palabras. [7]
Los juegos serios son objetos y/o herramientas de
aprendizaje que poseen en s mismos objetivos pedaggicos,
didcticos, autnomos, autosuficientes y reutilizables, que
posibilitan a los jugadores a obtener un conjunto de
conocimientos y competencias predominantemente prcticos
(Snchez Gmez M., 2007). [8]
Por otra parte, participar en el ambiente de juego pone a los
jugadores en relacin con otros y con la comunidad que se
forma a travs de las redes sociales del contexto del juego.
Se aaden por tanto, pautas de relacin y convivencia (Gee
J., 2004). [8]
La incorporacin de juegos serios en el aula de la escuela en
torno a la enseanza de programacin, pone a los estudiantes
en un ambiente cotidiano, que les permite de crear sus
propios juegos, probarlos, perder o ganar, jugar y adquirir
habilidades de programacin usando un instrumento
innovador.
VII.ANALISIS COMPARATIVO
A. Ventajas
Como ventajas dejamos de preocuparnos por el uso de
distintas versiones de la herramienta y ubicaciones de
instalacin ya que es el usuario quien decide inicialmente, y
por nica vez, donde va a encontrar el motor de ayuda
necesaria.
Estas ayudas estn dados por:
a) Un espacio para la escritura de cdigo con cierta ayuda
interactiva para generar cdigo y para indicar los errores de
sintaxis que se cometan por parte del programador.

b) La posibilidad de compilar y ejecutar el cdigo escrito.


c) La posibilidad
programacin.

de

organizar

los

proyectos

de

d) Herramientas auxiliares para programadores para


deteccin de errores o anlisis de programas (debuggers).
e) Otras opciones como utilidades para pruebas, carga de
libreras y mas.
Casi todas las IDEs apoyan - en un grado u otro - el
desarrollo de dispositivos Android y mviles. Si bien
Android no soporta las API Java SE o Java EE, el lenguaje
de Android es Java. Algunas de las IDEs proporcionan
herramientas de perfilado que le permiten regresar los
cuellos de botella de rendimiento de la aplicacin. [19]
Ms all de estas cuestiones, todas las IDEs en esta revisin
se pueden ampliar a travs de plug-ins. Nuevos plug-ins
significan nuevas capacidades. Como ya se ha indicado, el
nmero de plug-ins disponibles para Eclipse solo requerira
varios cientos de pginas web de material simplemente para
describir brevemente. [14]
Sera temerario recomendar una IDE por sobre otra, en parte
porque todas tienen capacidades comunes y en parte porque
las IDEs despiertan el mismo tipo de fanatismo que
encontrar cuando usted discute acerca de los editores.
Sin embargo, las sugerencias generales son posibles. Si es
nuevo en Java, entonces comience con NetBeans o IntelliJ
IDEA. NetBeans le llevar ms lejos si se mueve en el
desarrollo J2EE. [16] Para desarrollar aplicaciones J2EE con
IDEA requerir la compra de la edicin Ultimate. Sin
embargo, puede decidir si esas mejoras en la productividad
de esa IDEA valen la pena el costo.

Esta claro que las diferencias no son muy grandes. Cuando


Eclipse naci no haba buenos entornos de desarrollo libres
en Java (Forte/Netbeans estaban muy lejos), pero esto ya no
es as. As como el talento de un programador s puede
aumentar la productividad en varios rdenes de magnitud, un
IDE no.
Cual IDE utilicemos depende 100% de nosotros, depende de
nuestros gustos y de que tan conformes estemos con la
herramienta.
C. Alcances
El alcance de cada uno de estos IDEs estn dados por:
a) Eclipse: El paquete bsico de Eclipse se puede expandir
mediante la instalacin de plugins para aadir
funcionalidades a medida que se vayan necesitando.
b) NetBeans: Facilita bastante el diseo grfico asociado a
aplicaciones Java.
c) BlueJ: Destaca por ser sencillo e incluir algunas
funcionalidades dirigidas a que las personas que estn
aprendiendo tengan mayor facilidad para comprender
aspectos clave de la programacin orientada a objetos.
Solamente admite el lenguaje Java. Debido a ello existe
pocos plug-in para esta plataforma.
d) JBuilder: Permite desarrollos grficos.
e) JCreator: IDE est escrito en C++ y omite herramientas
para desarrollos grficos, lo cual lo hace ms rpido y
eficiente que otros IDEs.

CONCLUSIONES

B. Desventajas
La desventaja al utilizar este tipo de ayuda es la prdida de
flexibilidad brindada por la estructura jerrquica que poseen
los archivos doc.xml, con lo cual no es posible recorrer la
ayuda de la herramienta en forma aleatoria sino que debemos
atenernos a los enlaces que ella posee. [1]

El uso de estas herramientas (IDES) para la representacin


de nuestras ideas a contribuido a corregir enormemente los
errores sintcticos que se cometan al momento de programar
en Java, dado que la mayora de estos tienen autocompletado
inteligente de codigo. Estos nos han ofrecido muchas
caractersticas para la creacin, modificacin, compilacin,
implementacin y depuracin de software.[19]

Nos hemos acostumbrado a que siempre el IDE hace el


cdigo por nosotros, y cuando llegan los siempre presentes
errores es cuando realmente nos damos cuenta que el
problema no es el error, sino que no sabemos como
resolverlo.... conozco gente que solo sabe disear y son
orgullosos de sus interfaces llamativas, pero realmente no
saben programar, no saben lo que hay debajo de sus bonitas
interfaces de usuario, saben arrastrar un botn pero no
saben desarrollarlo. [17]

Reduciendo ese tiempo de ajustes, podemos incrementar la


productividad de desarrollo, en casos donde aprender a usar
un IDE es mas rpido que integrar manualmente todas las
herramientas por separado.
Una mejor integracin de todos los procesos de desarrollo
hace posible mejorar la productividad en general, mas que
nicamente ayudando con los ajustes de configuracin. [20]
Esto puede ayudar a aprender un nuevo lenguaje de
programacin de una manera mas rpida, asi como sus

libreras asociadas. Todo ello a contribuido a mejorar la


enseanza en primeros cursos de programacin.
Las diferencias no son muy grandes. Cuando Eclipse nacin
naci no haba buenos IDES libres en Java(Forte/NetBeans
estaban muy lejos) pero esto ya no es as. [17]
Sin embargo, las sugerencias generales son posibles. Si es
nuevo en Java, entonces comience con NetBeans o IntelliJ
IDEA. NetBeans le llevar ms lejos si se mueve en el
desarrollo J2EE. [16] Para desarrollar aplicaciones J2EE con
IDEA requerir la compra de la edicin Ultimate. Sin
embargo, puede decidir si esas mejoras en la productividad
de esa IDEA valen la pena el costo.
Si tiene que trabajar a travs de tecnologas - base de datos,
JavaScript, XML, HTML, generacin de informes- entonces
Eclipse y su suministro interminable de complementos
podra ser su mejor apuesta. Tendr que invertir el tiempo
para aprender "la forma de Eclipse", pero la gama de
capacidades que puede comandar desde el interior de una
sola IDE ser formidable.
Si eres un desarrollador de J2EE que lucha con las bases de
datos diariamente, JDeveloper podra ser la mejor opcin
para los tiempos difciles.
Por ltimo, est el hecho liberador de que todas son
herramientas libres (sin contar la edicin de IDEA Ultimate).
Eso significa que el nico obstculo que se interpone entre
su proyecto y la IDE es una descarga y una instalacin. [18]

REFERENCIAS
[1] Juan Gutierrez, Eclipse (2.1) y Java, Departamento de
Informatica Universidad de Valencia, 2004.
[2] Ral Pearrieta, Programacion Java NetBeans v.7.0,
2011.
[3] Lilian Hernndez, Alfredo Santillan, Alejandro Gonzales,
Observatorios Virtuales Astrofsicos, Revista digital
universitaria vol. 10, 2009.
[4] Jorge Martnez Ladrn de Guevara, Fundamentos de
Programacin, Facultad de Informtica Universidad
Complutense de Madrid, Editorial EME 2005.
[5] Ivan Alfonso Guarin V., Tutorial de BlueJ, version 1.2.x.,
Version en Espaol University of Southern Denmark 2009.
[6] Javier Garca, Rosa Ulloa, Mara Chan, Herramientas
para la Evaluacin Educativa: El Observatorio para la
Educacin en Ambientes Virtuales, UDG Virtual

[7] Moroni, Norma y Seas, Perla. Un entorno para el


aprendizaje de la programacin.IV Ateneo de Profesores
Universitarios de Computacin. 1996.
[8] Moroni, N. Vitturini, M. Zanconi, M. Seas, P. Una
plataforma para el desarrollo de mapas conceptuales
hipermediales. Taller de Software Educativo IV Jornadas
Chilenas de Computacion. Valdivia 1996.
[9] Rueda, S. ; Castro, S y Zanconi, M. Resolucin de
Problemas y Algoritmos: notas de curso. 1995.
[10] Criado Clavero, M.A., Programacin en Lenguajes
Estructurados, Alfaomega, (2006).
[11] Oscar Cristobal Ruiz, Desarrollo de Servicios Web con
JBuilder - Segunda parte, Departamento Java Equipo
Grupo Danysoft Enero 2003.
[12] Deitel, Paul J. Y Harvey M. Deitel, Cmo Programar
en Java, Sptima edicin, Pears on Educacin, Mxico 2008.
[13] Klling, Michael (2010). "The Greenfoot Programming
Environment" . ACM Transactions on Computing Education
(TOCE)
[14] Mitchel Resnick, John Maloney, Andrs Monroy
Hernndez, Natalie Rusk, Scratch Programming for All,
Communications of the ACM, Vol. 52 No. 11, Pages 60-67
[15] Henriksen, Poul; Klling, Michael; McCall, Davin
(2010). "Motivating Programmers Via An Online
Community". Journal
of
Computing
Sciences
in
Colleges (Association for Computing Machinery) 25 (3):
8293.
[16] Comparacion de los 4 IDES de Java: Eclipse, NetBeans,
JDeveloper
e
IntelliJ.
http://cioperu.pe/articulo/18327/comparacion-de-4-ides-dejava/?p=4
[17] Rehman, Christopher Paul, Christopher R. Paul. "The
Linux Development Platform: Configuring, Using and
Maintaining a Complete Programming Environment". 2002.
[18] Garca, Juan - Seas, Perla - Moroni, Norma. Cubik:
Una herramienta de apoyo en la enseanza de la
programacin. IV Ateneo de Profesores Universitarios de
Computacin. 1996.
[19] NORIEGA, A. (2007) Programacin en Java 2
Editorial Megabyte, Lima, Per. p.
[20] Ricardo Pea Mari. De Euclides a Java. Historia de los
algoritmos y de los lenguajes de programacin. Nivola,
2006.

Potrebbero piacerti anche