SlideShare una empresa de Scribd logo
Es un IDE simple, rápido y completo para C++.
INSTITUTO TECNOLÓGICO SUPERIOR
“SAN GABRIEL”
ÁREA: INFORMÁTICA
MENCIÓN: ANÁLISIS DE SISTEMAS
NOMBRE
JONATHAN LARGO
SEMESTRE
TERCERO
PERÍODO
2017 – 2018
Es un IDE simple, rápido y completo para C++.
ENTORNO DE DESARROLLO INTEGRADO
Para “Integrated Drive Electronics” (“IDE”), véase Integrated
Drive Electronics.
ENTORNO DE DESARROLLO INTERACTIVO
En inglés Integrated Development Environment(IDE), es
una aplicación informática que proporciona servicios integrales para
facilitarle al desarrollador o programador el desarrollo de
software.
Es un IDE simple, rápido y completo para C++.
Normalmente, un IDE consiste de un editor de código fuente,
herramientas de construcción automáticas y un depurador. La
mayoría de los IDE tienen auto-completado inteligente de
código (IntelliSense). Algunos IDE contienen un compilador,
un intérprete, o ambos, tales como NetBeans y Eclipse; otros no,
tales como SharpDevelop y Lazarus.
El límite entre un IDE y otras partes del entorno de desarrollo de
software más amplio no está bien definido. Muchas veces, a los
efectos de simplificar la construcción de la interfaz gráfica de
usuario (GUI, por sus siglas en inglés) se integran un sistema
controlador de versión y varias herramientas. Muchos IDE
modernos también cuentan con un navegador de clases, un buscador
de objetos y un diagrama de jerarquía de clases, para su uso con
el desarrollo de software orientado a objetos.
¿QUÉ ES ZINJAI?
ZinjaI es un IDE (entorno de desarrollo integrado) libre y gratuito
para programar en C/C++. Pensado originalmente para ser utilizado
por estudiantes de programación durante el aprendizaje, presenta
una interfaz incial muy sencilla, pero sin dejar de
incluir funcionalidades avanzadas que permiten el desarrollo de
proyectos tan complejos como el propio ZinjaI.
Descargar ZinjaI.
Abrimos nuestro navegador favorito (Internet Explorer, Mozilla
Firefox, Google Chrome, Opera, etc.) nos dirigimos a la barra de
dirección y escribimos la dirección http://zinjai.sourceforge.net y
Es un IDE simple, rápido y completo para C++.
presionamos la tecla enter.
Cuando termine de cargar la página seleccionamos nuestro sistema
operativo con el puntero y damos clip derecho sobre la opción
deseada .
Nos direccionara a otra dirección
http://zinjai.sourceforge.net/index.php?page=descargas.php&os=w
32 donde confirmamos nuestro sistema operativo en mi caso es
Windows el archivo tiene extensión .exe pesa 58 MB, damos clip en
Es un IDE simple, rápido y completo para C++.
el enlace y empezará la descarga.
NOTA: Se distribuye bajo GNU GENERAL PUBLIC LICENSE
INSTALACIÓN DE ZINJAI EN WINDOWS:
El paquete para Windows es un instalador ejecutable. Abrir y seguir
las instrucciones.
El instalador contiene el IDE completo (el ejecutable de la versión
para Windows y todos los archivos adicionales como ayuda,
templates, indices de autocompletado, imagenes, etc), el conjunto
de paquetes MinGW necesarios (gcc-core, gcc-g++, binutils, make,
gdb, winapi), y algunos archivos adicionales relacionados a la
biblioteca OpenGL.
Damos clip izquierdo sobre el ejecutable que previamente
descargamos seleccionamos ejecutar como administrador
Es un IDE simple, rápido y completo para C++.
Se abrirá el asistente de instalación damos clip izquierdo en
siguiente
Continuamos dando clip izquierdo en acepto, estos son los acuerdos
de la licencia de ZinjaI
Es un IDE simple, rápido y completo para C++.
Seleccionamos todos los componentes y presionamos siguiente
Es un IDE simple, rápido y completo para C++.
Seleccionamos la carpeta donde deseamos instalar nuestro IDE y
damos clip en instalar
Empezara la instalación esto demora pocos minutos dependiendo las
características de tu maquina
Se ha terminado la instalación damos clip en terminar ya está
instalado y listo para usarse
Es un IDE simple, rápido y completo para C++.
MENÚS DE ZINJAI?
Este entorno de desarrollo integrado consta de 7 menús
Archivo
Edición
Ver
Ejecución
Depuración
Herramientas
Ayuda
Es un IDE simple, rápido y completo para C++.
ACESOS RAPIDOS DE ZINJAI
Archivo → Nuevo: En este lugar podemos crear un nuevo
archivo para empesar a programar
Archivo → Abrir : Aquí abrimos un archivo en el cual ya
previamente hemos guardado
Archivo → Guardar: Este acceso directo haciendo clip
podemos guardar nuestro código.
Archivo → Guardar Como: Este acceso directo haciendo
clip podemos guardar nuestro código seleccionando el lugar donde
desea guardarlo.
Edición → Deshacer: Este botón sirve para deshacer todo
lo que se escribe en el IDE, deshaciendo desde lo último hasta lo
primero.
Edición → Rehacer: Si deshace algo y quiere restáuralo,
debe utilizar el botón Rehacer para poner el texto donde estaba.
Edición → Copiar: Copia el código que seleccionamos en
el portapapeles. Debe seleccionar al menos un carácter para que el
botón esté disponible.
Es un IDE simple, rápido y completo para C++.
Edición → Cortar: Quita el código que se haya
seleccionado y lo coloca en el portapapeles. Debe seleccionar al
menos un carácter para que este comando esté disponible.
Edición →Pegar: Inserta el código previamente copiado o
cortado del portapapeles en la ubicación actual. El código se coloca
en donde se encuentra el cursor.
Edición → Ir a Línea..: Presionando este botón aparece
una pequeña ventana la cual indica el número de líneas y un casilla
donde podemos escribir el número de la línea donde seseamos ir.
Edición →Ir a Función / Clase / Método...:
Presionando este botón aparece una ventana en la primera línea pide
que se ingrese Función, Clase o Método, en la parte inferior emerge
un listado con las coincidencias seleccionamos la opción que
deseamos y presionamos ir.
Edición → Ir a Archivo..: Presionando este botón
aparece una ventana en la primera línea solicita que se escriba
nombre del archivo , en la parte inferior emerge un listado con las
coincidencias seleccionamos el archivo que deseamos y presionamos
ir.
Edición → Buscar: Es mostrar una lista de artículos que
contienen la palabra introducida en la caja de búsqueda. El buscador
Es un IDE simple, rápido y completo para C++.
distingue mayúsculas de minúsculas, y vocales con o sin acento, así
que debes introducir la palabra correctamente escrita.
Edición → Buscar Siguiente: Al momento que se realiza
la búsqueda de una palara en el IDE busca la siguiente coincidencia.
Edición → Remplazar: oprimiendo esta opción
reemplaza la palabra encontrada en el código por una nueva.
Edición →Comentar: Convierte el código que
seleccionamos en un comentario.
Edición →Descomentar: Deshace la opción Edición
→Comentar.
Edición →Indentar Bloque: Este botón sirve mover un
bloque de texto hacia la derecha insertando espacios o tabuladores,
para así separarlo del margen izquierdo y mejor distinguirlo del
código adyacente.
Ejecución →Copilar: Este botón realiza el proceso por el
cual se traducen las instrucciones escritas en un determinado
lenguaje de programación a lenguaje máquina.
Guardar Copilar y Ejecutar..: Este botón permite
primero guardar copilar y ejecutar, luego de escribir el código es
Es un IDE simple, rápido y completo para C++.
aconsejable presionar este botón para realizar todas las acciones
descritas anterior mente para verificar errores, en el caso de no
tener fallas aparecerá una Shell donde corre el programa realizado,
de igual manera cuando presionamos esta opción se guardaran dos
archivos un ejecutable(.exe) y .cpp.
Ejecución → Detener: Este botón detiene al instante
cualquier acción que se encuentre realizando el IDE de la anterior
elección.
Ejecución → Opciones: En este botón nos sirve para el
momento de ejecutar nuestro programa se despliega un menú de
opciones específicas para la ejecución tales como Parámetros
extras para el compilador, Directorio de trabajo, Argumentos para
la ejecución entre otros.
Depuración → iniciar / Continuar: Esta opción ejecuta
el programa y además identifica y corrige errores de
programación.
Archivo → Preferencias: al hacer clip sobre este botón
de despliega un menú de opciones
Es un IDE simple, rápido y completo para C++.
Ayuda → Buscar y Ejecutar comando: Al presionar
este botón se despliega una pequeña línea donde podemos escribir
el comando que deseamos buscar.
Ayuda → Ayuda sobre zinjaI: este botón sirve para
desplegar una ventana con la ayuda necesaria de zinjaI
Ayuda →Enviar Sugerencia o Reporte de error: Al
hacer clip sobre este botón nos redireccionar a la siguiente página
http://zinjai.sourceforge.net/index.php?page=contacto.php donde
se encuentran temas importantes sobre la IDE
Es un IDE simple, rápido y completo para C++.
COMO ABRIR ZINJAI?
Damos doble clip en el acceso directo que se encuentra en nuestro
escritorio se desplegara la interfaz gráfica de este IDE
Damos clip en archivo luego en nuevo
Es un IDE simple, rápido y completo para C++.
Luego aparecerá un menú con 4 opciones elegimos la que nosotros
deseemos
Y listo para empezar a escribir código.
CONCLUSIÓN
La IDE en sí está muy buena, es bastante cómoda y te hace varias
cosas sola (como autocompletado de llaves o autoagregado de
cabeceras), lo que puede llegar a ser muy cómodo (o no, si estas
acostumbrado a agregar ambos juntos y después escribir en el
medio).
En fin, es un buen producto pero a nivel innovación.
Es un IDE simple, rápido y completo para C++.
Lo que más gusta de esta IDE aparte de ser una de las mejores
para programadores es que es compatible para Windows, Linux, Mac
OS los requisitos para instalarla son muy básicos, asi que yo la
recomiendo.
BIOGRAFÍA.
Siguiendo con la presentación, toca hablar de ZinjaI (aclaración: la
última letra es una i, pero en mayúsculas, no una L como parece con
muchas fuentes, y lo pronuncio zinyai, por su significado: "ZinjaI is
not just another IDE"). ZinjaI es actualmente un IDE (entorno de
desarrollo integrado) para programar en C/C++, que debería ser útil
tanto para principiantes como para programadores avanzados. Pero
originalmente, no iba a ser así.
HISTORIA DE ZINJAI CONTADA POR SU DESARROLLADOR
Todo empezó por un programa de becas que tienen en mi facultad
para que alumnos de grado se inicien en investigación. El alumno se
presenta con un director y un plan de trabajo para dedicarle
algunas horas a la semana durante año y medio a algun proyecto de
investigación o relacionado. A cambio recibe, entre otras cosas, una
formación básica, una primer experiencia, y un punto más en su
CV. En un momento de mi carrera, el docente titular de las
primeras materias de programación, aprovechando lo que ya tenía
encaminado con las primeras versiones de PSeInt me ofreció aplicar
para una de estas becas, para formalizar ese desarrollo y
continuarlo.
Como la parte más importante (el intérprete en sí) de PSeInt ya
Es un IDE simple, rápido y completo para C++.
estaba desarrollada, me puse a pensar qué otra herramienta nueva
podría ser de utilidad en el aula. Dado que en nuestra carrera, luego
de pseudocódigo pasamos a utilizar C++, lo lógico era pensar en una
herramienta para empezar a trabajar con C++.
En ese momento utilizaban por razones históricas mayormente los
IDEs de Borland (Builder 4 y 6, que estaban desactualizados y
hasta desmantenidos). Yo por mi parte, sugería utilizar MinGW
Developer Studio (uno muy muy básico con una apariencia inspirada
en las primeras versiones de Visual C) porque me parecía mucho más
simple que los grandes IDEs libres como DevCpp, Code::Blocks,
Anjuta, KDevelop, etc., y tenía lo básico que consideraba necesario,
además de ser liviano y gratuito. Hacer un nuevo IDE solo por
hacerlo, con tantos dando vuelta no era necesariamente la mejor
idea, había que incorporar algún elemento distintivo que lo
justifique. Y ahí es cuando conocí DDD (Data Display Debugger),
una interfaz gráfica para el depurador gdb muy muy potente y con
representaciones visuales. DDD es tan potente que se torna
complicado para alguien que no está muy familiarizado con gdb, y
consideremos que los alumnos que recién empiezan no están
familiarizados ni con gdb, ni con el concepto de depuración, ni con
C++, apenas si acaban de enganchar los fundamentos del
pseudocódigo. Entonces la propuesta era hacer un entorno bien
simple en el que el alumno pudiera visualizar gráficamente los datos
y ver paso a paso como funciona su programa, como se organizan las
cosas en memoria, etc, para entender mejor los algoritmos o sus
errores.
Así que quería una especie de depurador gráfico, simple e intuitivo,
que cualquiera pudiera entender por su cuenta. Pero para que todo
Es un IDE simple, rápido y completo para C++.
sea simple, el alumno tenía que poder escribir su código
directamente ahí, para que el depurador lo compile y ejecute como
debe. Entonces el depurador incluiría un pequeño editor, que a su
vez llamaría al compilador, etc., y de pronto tenemos más de medio
IDE. Por otro lado, más tarde encontré limitaciones en gdb que me
hicieron abandonar al menos temporalmente algunas de las ideas
originales, por lo que el producto final se transformó cada vez más
en un IDE más o menos estándar, pero adaptado para estudiantes,
antes que un depurador gráfico. El adaptado para estudiantes
implica que su interfaz está en castellano, que para hacer un
programa no hace falta crear un proyecto o ni siquiera guardar el
archivo, que las opciones básicas que necesita están a mano y no
está superpoblado de otras opciones que solo confunden, algunas
funcionalidades más particulares como la posibilidad de compartir el
código que el docente está desarrollando en su notebook y que los
alumnos ven proyectado en una clase directamente desde el IDE
para que ellos lo reciban a través de la red, que oculta las
diferencias entre plataformas, que simplifica un poco los mensajes
de error que arroja gcc, etc.
Como esto era, a mis ojos, un desarrollo más que una investigación,
planteamos la investigación como excusa para el desarrollo.
Propusimos investigar el impacto que este tipo de herramientas
tiene en los alumnos y cómo mejorarlo, comparando los resultados
académicos en dos cursos similares, uno que utilice el software y
otro que no. Cuando llegó el momento de evaluar esto, el desarrollo
de ZinjaI estaba todavía verde así que no se pudo sacar grandes
conclusiones, pero respecto al pseudocódigo, resumiendo mucho,
observamos que servía para mejorar el rendimiento del alumno que
Es un IDE simple, rápido y completo para C++.
estaba en el límite entre aprobar y desaprobar la materia, pero que
no tenía impacto alguno sobre el alumno que la promocionaba con
notas altas.
Las limitaciones de gdb no son específicamente problemas de gdb,
sino más bien características del diseño C++. Hay una una idea que
heredo desde PSeInt y es que si voy a hacer algo que el alumno va a
usar para intentar entender, tengo que hacerlo bien o no hacerlo,
porque si mi programa lo hace mal (y no avisa), estoy contribuyendo
a confundir al alumno, a que lo aprenda mal como lo hace mi
programa, o al menos a generarle dudas sobre algo que estaba bien
y que le harán perder tiempo (está claro que en la realidad no logro
respetar esta idea al 100%, pero intento). Por ejemplo, cuando en
DDD inspecciono un puntero, aparece en el área de dibujo un
cuadradito con la dirección de memoria. Cuando hago doble click
sobre el puntero, aparece otro cuadradito con el contenido al cual
apunta, y una flecha del primero hacia el segundo, similar a lo que un
docente dibuja en el pizarrón cuando lo explica en clases. Pero si
tengo dos punteros que apuntan a la misma dirección y hago doble
click sobre los dos, por cada uno aparece un nuevo cuadradito con el
contenido apuntado, en lugar que apuntar los dos al mismo (o al
menos así era cuando lo probé). Esto confunde, porque los dos
cuadraditos nuevos deberían ser uno, ya que ese contenido no está
dos veces en memoria, y no puedo modificar un dato apuntado sin
alterar el otro. Corregir esto implica llevar un registro de todas las
direcciones de todas las variables involucradas para detectar
cuando deben ser las mismas. No solo podría ser lento, sino que en
algunos casos rebuscados no encontré como pedirle a gdb la
dirección que necesito para saber si alguien le está apuntando. Otro
Es un IDE simple, rápido y completo para C++.
ejemplo sería el uso de arreglos dinámicos, no hay una forma fácil y
no intrusiva de saber cuantos elementos tiene un arreglo generado
con new inspeccionando la memoria. Esta información está en
memoria (sino el programa no podría destruir los elementos al hacer
el delete []), pero de una forma que es dependiente de cada
compilador, de cada sistema operativo, de las opciones de
compilación en sí mismas, y por lo tanto, difícil de encontrar y poco
fiable (peor aún con malloc). Por esto, lo que iba a ser un depurador
gráfico con olor a IDE, terminó siendo un IDE con un depurador no
tan gráfico (pero sí con algunas pocas representaciones más piolas
que las estándar, como las de tablas), sólo que haciendo énfasis en
la I de IDE para adaptarla a las necesidades del aula y distinguirla
de las demás.
Siguiendo con la historia de ZinjaI, como era un IDE que yo había
hecho, que conocía al detalle, y que podía modificar a gusto,
comencé a usarlo para mis trabajos reales, para proyectos más
serios que un ejercicio en una clase de práctica. Y a medida que lo
iba usando cada vez más, iba necesitando agregarle cosas, siempre
tratando de no perturbar la sencillez inicial, pero ganando en
potencia con cada nueva versión. Finalmente, tengo un IDE que se
presenta como básico y simple (o al menos eso pretendo), pero que
permite armar grandes proyectos, interactuar con herramientas
externas, manejar configuraciones complejas, depurar
aprovechando casi toda la potencia de gdb, etc. Hoy en día sigue
siendo una cuenta pendiente mejorar aún más la interfaz para la
depuración, algo que es a mi criterio increíblemente útil como
herramienta didáctica, pero que muchísimos alumnos (aún alumnos
Es un IDE simple, rápido y completo para C++.
avanzados y hasta docentes a veces) desconocen y en consecuencia
no valoran.
BIBLIOGRAFÍA
https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado
http://zinjai.sourceforge.net
http://cucarachasracing.blogspot.com/2012/03/quien-es-quien-
hoy-zinjai.html

Más contenido relacionado

La actualidad más candente

Tutorial netbeans
Tutorial netbeansTutorial netbeans
Tutorial netbeans
Marthaa Hdz
 
Manual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jennyManual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jenny
Jenny Martinez
 
Manual codeblocks luis_ocampo
Manual codeblocks luis_ocampoManual codeblocks luis_ocampo
Manual codeblocks luis_ocampo
luis_ocampo27
 
Curso de delphi
Curso de delphiCurso de delphi
Curso de delphi
Alde Luzardo
 
Tutoriales eclipse(2)
Tutoriales eclipse(2)Tutoriales eclipse(2)
Tutoriales eclipse(2)
ivan ramirez
 
Delphi 7 20051
Delphi 7 20051Delphi 7 20051
Delphi 7 20051
Warman Malio Mateo
 
Manual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampoManual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampo
luis_ocampo27
 
Tutorial
TutorialTutorial
Creación de extensiones nativas
Creación de extensiones nativasCreación de extensiones nativas
Creación de extensiones nativas
Angel Vazquez
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblocks
MartinCetis109
 
Java con eclipse
Java con eclipseJava con eclipse
Java con eclipse
Antonio Jesus Espejo
 
MANUAL DE NETBEANS
MANUAL DE NETBEANSMANUAL DE NETBEANS
MANUAL DE NETBEANS
Alfa Mercado
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
José Braganza
 
Presentacion quizhp
Presentacion quizhpPresentacion quizhp
Presentacion quizhp
ZahoryArriaga1
 
TUTORIAL DE ECLIPSE
TUTORIAL DE ECLIPSETUTORIAL DE ECLIPSE
TUTORIAL DE ECLIPSE
DianaMorales3296
 
Eclipse para novatos java
Eclipse para novatos javaEclipse para novatos java
Eclipse para novatos java
martaferrari
 
Manos a la obra con java y eclipse
Manos a la obra con java y eclipseManos a la obra con java y eclipse
Manos a la obra con java y eclipse
grachika
 
Manual de delphi 6.0
Manual de delphi 6.0Manual de delphi 6.0
Manual de delphi 6.0
Warman Malio Mateo
 

La actualidad más candente (18)

Tutorial netbeans
Tutorial netbeansTutorial netbeans
Tutorial netbeans
 
Manual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jennyManual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jenny
 
Manual codeblocks luis_ocampo
Manual codeblocks luis_ocampoManual codeblocks luis_ocampo
Manual codeblocks luis_ocampo
 
Curso de delphi
Curso de delphiCurso de delphi
Curso de delphi
 
Tutoriales eclipse(2)
Tutoriales eclipse(2)Tutoriales eclipse(2)
Tutoriales eclipse(2)
 
Delphi 7 20051
Delphi 7 20051Delphi 7 20051
Delphi 7 20051
 
Manual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampoManual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampo
 
Tutorial
TutorialTutorial
Tutorial
 
Creación de extensiones nativas
Creación de extensiones nativasCreación de extensiones nativas
Creación de extensiones nativas
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblocks
 
Java con eclipse
Java con eclipseJava con eclipse
Java con eclipse
 
MANUAL DE NETBEANS
MANUAL DE NETBEANSMANUAL DE NETBEANS
MANUAL DE NETBEANS
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
Presentacion quizhp
Presentacion quizhpPresentacion quizhp
Presentacion quizhp
 
TUTORIAL DE ECLIPSE
TUTORIAL DE ECLIPSETUTORIAL DE ECLIPSE
TUTORIAL DE ECLIPSE
 
Eclipse para novatos java
Eclipse para novatos javaEclipse para novatos java
Eclipse para novatos java
 
Manos a la obra con java y eclipse
Manos a la obra con java y eclipseManos a la obra con java y eclipse
Manos a la obra con java y eclipse
 
Manual de delphi 6.0
Manual de delphi 6.0Manual de delphi 6.0
Manual de delphi 6.0
 

Similar a Entorno de desarrollo integrado

Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docx
Nidia Castro Campo
 
EL ZINJAI
EL ZINJAIEL ZINJAI
Tutorial de CodeBlocks
Tutorial de CodeBlocksTutorial de CodeBlocks
Tutorial de CodeBlocks
EspitiaGiancarlo
 
Introduccion al Turbo C++
Introduccion al Turbo C++Introduccion al Turbo C++
Introduccion al Turbo C++
dasman
 
Visual studio c_
Visual studio c_Visual studio c_
Manual sobre code
Manual sobre codeManual sobre code
Manual sobre code
ramosmendezshura
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
Gladys Arce
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
Abefo
 
Dev-C++
Dev-C++ Dev-C++
Dev-C++
MELISSA MORNEO
 
Como operar con_code...
Como operar con_code...Como operar con_code...
Como operar con_code...
Luis TC
 
Como operar con code...
Como operar con  code...Como operar con  code...
Como operar con code...
luis10000000000
 
Como operar con code...
Como operar con  code...Como operar con  code...
Como operar con code...
Luis TC
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
juanpi1991
 
Actividad windows 7
Actividad windows 7Actividad windows 7
Actividad windows 7
littlestuborn
 
Instructivo para utilizar_c_
Instructivo para utilizar_c_Instructivo para utilizar_c_
Instructivo para utilizar_c_
LuisCetis109
 
Atix08
Atix08Atix08
Atix08
atixlibre
 
Curso c++
Curso c++Curso c++
Curso c++
omar_cuvi
 
Curso de programacion en c++ prev
Curso de programacion en c++ prevCurso de programacion en c++ prev
Curso de programacion en c++ prev
jtk1
 
Herramientas para programar en C
Herramientas para programar en CHerramientas para programar en C
Herramientas para programar en C
Abraham
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
laura cortez
 

Similar a Entorno de desarrollo integrado (20)

Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docx
 
EL ZINJAI
EL ZINJAIEL ZINJAI
EL ZINJAI
 
Tutorial de CodeBlocks
Tutorial de CodeBlocksTutorial de CodeBlocks
Tutorial de CodeBlocks
 
Introduccion al Turbo C++
Introduccion al Turbo C++Introduccion al Turbo C++
Introduccion al Turbo C++
 
Visual studio c_
Visual studio c_Visual studio c_
Visual studio c_
 
Manual sobre code
Manual sobre codeManual sobre code
Manual sobre code
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
Dev-C++
Dev-C++ Dev-C++
Dev-C++
 
Como operar con_code...
Como operar con_code...Como operar con_code...
Como operar con_code...
 
Como operar con code...
Como operar con  code...Como operar con  code...
Como operar con code...
 
Como operar con code...
Como operar con  code...Como operar con  code...
Como operar con code...
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
 
Actividad windows 7
Actividad windows 7Actividad windows 7
Actividad windows 7
 
Instructivo para utilizar_c_
Instructivo para utilizar_c_Instructivo para utilizar_c_
Instructivo para utilizar_c_
 
Atix08
Atix08Atix08
Atix08
 
Curso c++
Curso c++Curso c++
Curso c++
 
Curso de programacion en c++ prev
Curso de programacion en c++ prevCurso de programacion en c++ prev
Curso de programacion en c++ prev
 
Herramientas para programar en C
Herramientas para programar en CHerramientas para programar en C
Herramientas para programar en C
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
 

Último

Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos
ROCIORUIZQUEZADA
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
https://gramadal.wordpress.com/
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
Chatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdfChatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdf
Demetrio Ccesa Rayme
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
EleNoguera
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
shirherrer
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
LuanaJaime1
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsadUrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
JorgeVillota6
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
GiselaBerrios3
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
romina395894
 

Último (20)

Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
Chatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdfChatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdf
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsadUrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
 

Entorno de desarrollo integrado

  • 1. Es un IDE simple, rápido y completo para C++. INSTITUTO TECNOLÓGICO SUPERIOR “SAN GABRIEL” ÁREA: INFORMÁTICA MENCIÓN: ANÁLISIS DE SISTEMAS NOMBRE JONATHAN LARGO SEMESTRE TERCERO PERÍODO 2017 – 2018
  • 2. Es un IDE simple, rápido y completo para C++. ENTORNO DE DESARROLLO INTEGRADO Para “Integrated Drive Electronics” (“IDE”), véase Integrated Drive Electronics. ENTORNO DE DESARROLLO INTERACTIVO En inglés Integrated Development Environment(IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software.
  • 3. Es un IDE simple, rápido y completo para C++. Normalmente, un IDE consiste de un editor de código fuente, herramientas de construcción automáticas y un depurador. La mayoría de los IDE tienen auto-completado inteligente de código (IntelliSense). Algunos IDE contienen un compilador, un intérprete, o ambos, tales como NetBeans y Eclipse; otros no, tales como SharpDevelop y Lazarus. El límite entre un IDE y otras partes del entorno de desarrollo de software más amplio no está bien definido. Muchas veces, a los efectos de simplificar la construcción de la interfaz gráfica de usuario (GUI, por sus siglas en inglés) se integran un sistema controlador de versión y varias herramientas. Muchos IDE modernos también cuentan con un navegador de clases, un buscador de objetos y un diagrama de jerarquía de clases, para su uso con el desarrollo de software orientado a objetos. ¿QUÉ ES ZINJAI? ZinjaI es un IDE (entorno de desarrollo integrado) libre y gratuito para programar en C/C++. Pensado originalmente para ser utilizado por estudiantes de programación durante el aprendizaje, presenta una interfaz incial muy sencilla, pero sin dejar de incluir funcionalidades avanzadas que permiten el desarrollo de proyectos tan complejos como el propio ZinjaI. Descargar ZinjaI. Abrimos nuestro navegador favorito (Internet Explorer, Mozilla Firefox, Google Chrome, Opera, etc.) nos dirigimos a la barra de dirección y escribimos la dirección http://zinjai.sourceforge.net y
  • 4. Es un IDE simple, rápido y completo para C++. presionamos la tecla enter. Cuando termine de cargar la página seleccionamos nuestro sistema operativo con el puntero y damos clip derecho sobre la opción deseada . Nos direccionara a otra dirección http://zinjai.sourceforge.net/index.php?page=descargas.php&os=w 32 donde confirmamos nuestro sistema operativo en mi caso es Windows el archivo tiene extensión .exe pesa 58 MB, damos clip en
  • 5. Es un IDE simple, rápido y completo para C++. el enlace y empezará la descarga. NOTA: Se distribuye bajo GNU GENERAL PUBLIC LICENSE INSTALACIÓN DE ZINJAI EN WINDOWS: El paquete para Windows es un instalador ejecutable. Abrir y seguir las instrucciones. El instalador contiene el IDE completo (el ejecutable de la versión para Windows y todos los archivos adicionales como ayuda, templates, indices de autocompletado, imagenes, etc), el conjunto de paquetes MinGW necesarios (gcc-core, gcc-g++, binutils, make, gdb, winapi), y algunos archivos adicionales relacionados a la biblioteca OpenGL. Damos clip izquierdo sobre el ejecutable que previamente descargamos seleccionamos ejecutar como administrador
  • 6. Es un IDE simple, rápido y completo para C++. Se abrirá el asistente de instalación damos clip izquierdo en siguiente Continuamos dando clip izquierdo en acepto, estos son los acuerdos de la licencia de ZinjaI
  • 7. Es un IDE simple, rápido y completo para C++. Seleccionamos todos los componentes y presionamos siguiente
  • 8. Es un IDE simple, rápido y completo para C++. Seleccionamos la carpeta donde deseamos instalar nuestro IDE y damos clip en instalar Empezara la instalación esto demora pocos minutos dependiendo las características de tu maquina Se ha terminado la instalación damos clip en terminar ya está instalado y listo para usarse
  • 9. Es un IDE simple, rápido y completo para C++. MENÚS DE ZINJAI? Este entorno de desarrollo integrado consta de 7 menús Archivo Edición Ver Ejecución Depuración Herramientas Ayuda
  • 10. Es un IDE simple, rápido y completo para C++. ACESOS RAPIDOS DE ZINJAI Archivo → Nuevo: En este lugar podemos crear un nuevo archivo para empesar a programar Archivo → Abrir : Aquí abrimos un archivo en el cual ya previamente hemos guardado Archivo → Guardar: Este acceso directo haciendo clip podemos guardar nuestro código. Archivo → Guardar Como: Este acceso directo haciendo clip podemos guardar nuestro código seleccionando el lugar donde desea guardarlo. Edición → Deshacer: Este botón sirve para deshacer todo lo que se escribe en el IDE, deshaciendo desde lo último hasta lo primero. Edición → Rehacer: Si deshace algo y quiere restáuralo, debe utilizar el botón Rehacer para poner el texto donde estaba. Edición → Copiar: Copia el código que seleccionamos en el portapapeles. Debe seleccionar al menos un carácter para que el botón esté disponible.
  • 11. Es un IDE simple, rápido y completo para C++. Edición → Cortar: Quita el código que se haya seleccionado y lo coloca en el portapapeles. Debe seleccionar al menos un carácter para que este comando esté disponible. Edición →Pegar: Inserta el código previamente copiado o cortado del portapapeles en la ubicación actual. El código se coloca en donde se encuentra el cursor. Edición → Ir a Línea..: Presionando este botón aparece una pequeña ventana la cual indica el número de líneas y un casilla donde podemos escribir el número de la línea donde seseamos ir. Edición →Ir a Función / Clase / Método...: Presionando este botón aparece una ventana en la primera línea pide que se ingrese Función, Clase o Método, en la parte inferior emerge un listado con las coincidencias seleccionamos la opción que deseamos y presionamos ir. Edición → Ir a Archivo..: Presionando este botón aparece una ventana en la primera línea solicita que se escriba nombre del archivo , en la parte inferior emerge un listado con las coincidencias seleccionamos el archivo que deseamos y presionamos ir. Edición → Buscar: Es mostrar una lista de artículos que contienen la palabra introducida en la caja de búsqueda. El buscador
  • 12. Es un IDE simple, rápido y completo para C++. distingue mayúsculas de minúsculas, y vocales con o sin acento, así que debes introducir la palabra correctamente escrita. Edición → Buscar Siguiente: Al momento que se realiza la búsqueda de una palara en el IDE busca la siguiente coincidencia. Edición → Remplazar: oprimiendo esta opción reemplaza la palabra encontrada en el código por una nueva. Edición →Comentar: Convierte el código que seleccionamos en un comentario. Edición →Descomentar: Deshace la opción Edición →Comentar. Edición →Indentar Bloque: Este botón sirve mover un bloque de texto hacia la derecha insertando espacios o tabuladores, para así separarlo del margen izquierdo y mejor distinguirlo del código adyacente. Ejecución →Copilar: Este botón realiza el proceso por el cual se traducen las instrucciones escritas en un determinado lenguaje de programación a lenguaje máquina. Guardar Copilar y Ejecutar..: Este botón permite primero guardar copilar y ejecutar, luego de escribir el código es
  • 13. Es un IDE simple, rápido y completo para C++. aconsejable presionar este botón para realizar todas las acciones descritas anterior mente para verificar errores, en el caso de no tener fallas aparecerá una Shell donde corre el programa realizado, de igual manera cuando presionamos esta opción se guardaran dos archivos un ejecutable(.exe) y .cpp. Ejecución → Detener: Este botón detiene al instante cualquier acción que se encuentre realizando el IDE de la anterior elección. Ejecución → Opciones: En este botón nos sirve para el momento de ejecutar nuestro programa se despliega un menú de opciones específicas para la ejecución tales como Parámetros extras para el compilador, Directorio de trabajo, Argumentos para la ejecución entre otros. Depuración → iniciar / Continuar: Esta opción ejecuta el programa y además identifica y corrige errores de programación. Archivo → Preferencias: al hacer clip sobre este botón de despliega un menú de opciones
  • 14. Es un IDE simple, rápido y completo para C++. Ayuda → Buscar y Ejecutar comando: Al presionar este botón se despliega una pequeña línea donde podemos escribir el comando que deseamos buscar. Ayuda → Ayuda sobre zinjaI: este botón sirve para desplegar una ventana con la ayuda necesaria de zinjaI Ayuda →Enviar Sugerencia o Reporte de error: Al hacer clip sobre este botón nos redireccionar a la siguiente página http://zinjai.sourceforge.net/index.php?page=contacto.php donde se encuentran temas importantes sobre la IDE
  • 15. Es un IDE simple, rápido y completo para C++. COMO ABRIR ZINJAI? Damos doble clip en el acceso directo que se encuentra en nuestro escritorio se desplegara la interfaz gráfica de este IDE Damos clip en archivo luego en nuevo
  • 16. Es un IDE simple, rápido y completo para C++. Luego aparecerá un menú con 4 opciones elegimos la que nosotros deseemos Y listo para empezar a escribir código. CONCLUSIÓN La IDE en sí está muy buena, es bastante cómoda y te hace varias cosas sola (como autocompletado de llaves o autoagregado de cabeceras), lo que puede llegar a ser muy cómodo (o no, si estas acostumbrado a agregar ambos juntos y después escribir en el medio). En fin, es un buen producto pero a nivel innovación.
  • 17. Es un IDE simple, rápido y completo para C++. Lo que más gusta de esta IDE aparte de ser una de las mejores para programadores es que es compatible para Windows, Linux, Mac OS los requisitos para instalarla son muy básicos, asi que yo la recomiendo. BIOGRAFÍA. Siguiendo con la presentación, toca hablar de ZinjaI (aclaración: la última letra es una i, pero en mayúsculas, no una L como parece con muchas fuentes, y lo pronuncio zinyai, por su significado: "ZinjaI is not just another IDE"). ZinjaI es actualmente un IDE (entorno de desarrollo integrado) para programar en C/C++, que debería ser útil tanto para principiantes como para programadores avanzados. Pero originalmente, no iba a ser así. HISTORIA DE ZINJAI CONTADA POR SU DESARROLLADOR Todo empezó por un programa de becas que tienen en mi facultad para que alumnos de grado se inicien en investigación. El alumno se presenta con un director y un plan de trabajo para dedicarle algunas horas a la semana durante año y medio a algun proyecto de investigación o relacionado. A cambio recibe, entre otras cosas, una formación básica, una primer experiencia, y un punto más en su CV. En un momento de mi carrera, el docente titular de las primeras materias de programación, aprovechando lo que ya tenía encaminado con las primeras versiones de PSeInt me ofreció aplicar para una de estas becas, para formalizar ese desarrollo y continuarlo. Como la parte más importante (el intérprete en sí) de PSeInt ya
  • 18. Es un IDE simple, rápido y completo para C++. estaba desarrollada, me puse a pensar qué otra herramienta nueva podría ser de utilidad en el aula. Dado que en nuestra carrera, luego de pseudocódigo pasamos a utilizar C++, lo lógico era pensar en una herramienta para empezar a trabajar con C++. En ese momento utilizaban por razones históricas mayormente los IDEs de Borland (Builder 4 y 6, que estaban desactualizados y hasta desmantenidos). Yo por mi parte, sugería utilizar MinGW Developer Studio (uno muy muy básico con una apariencia inspirada en las primeras versiones de Visual C) porque me parecía mucho más simple que los grandes IDEs libres como DevCpp, Code::Blocks, Anjuta, KDevelop, etc., y tenía lo básico que consideraba necesario, además de ser liviano y gratuito. Hacer un nuevo IDE solo por hacerlo, con tantos dando vuelta no era necesariamente la mejor idea, había que incorporar algún elemento distintivo que lo justifique. Y ahí es cuando conocí DDD (Data Display Debugger), una interfaz gráfica para el depurador gdb muy muy potente y con representaciones visuales. DDD es tan potente que se torna complicado para alguien que no está muy familiarizado con gdb, y consideremos que los alumnos que recién empiezan no están familiarizados ni con gdb, ni con el concepto de depuración, ni con C++, apenas si acaban de enganchar los fundamentos del pseudocódigo. Entonces la propuesta era hacer un entorno bien simple en el que el alumno pudiera visualizar gráficamente los datos y ver paso a paso como funciona su programa, como se organizan las cosas en memoria, etc, para entender mejor los algoritmos o sus errores. Así que quería una especie de depurador gráfico, simple e intuitivo, que cualquiera pudiera entender por su cuenta. Pero para que todo
  • 19. Es un IDE simple, rápido y completo para C++. sea simple, el alumno tenía que poder escribir su código directamente ahí, para que el depurador lo compile y ejecute como debe. Entonces el depurador incluiría un pequeño editor, que a su vez llamaría al compilador, etc., y de pronto tenemos más de medio IDE. Por otro lado, más tarde encontré limitaciones en gdb que me hicieron abandonar al menos temporalmente algunas de las ideas originales, por lo que el producto final se transformó cada vez más en un IDE más o menos estándar, pero adaptado para estudiantes, antes que un depurador gráfico. El adaptado para estudiantes implica que su interfaz está en castellano, que para hacer un programa no hace falta crear un proyecto o ni siquiera guardar el archivo, que las opciones básicas que necesita están a mano y no está superpoblado de otras opciones que solo confunden, algunas funcionalidades más particulares como la posibilidad de compartir el código que el docente está desarrollando en su notebook y que los alumnos ven proyectado en una clase directamente desde el IDE para que ellos lo reciban a través de la red, que oculta las diferencias entre plataformas, que simplifica un poco los mensajes de error que arroja gcc, etc. Como esto era, a mis ojos, un desarrollo más que una investigación, planteamos la investigación como excusa para el desarrollo. Propusimos investigar el impacto que este tipo de herramientas tiene en los alumnos y cómo mejorarlo, comparando los resultados académicos en dos cursos similares, uno que utilice el software y otro que no. Cuando llegó el momento de evaluar esto, el desarrollo de ZinjaI estaba todavía verde así que no se pudo sacar grandes conclusiones, pero respecto al pseudocódigo, resumiendo mucho, observamos que servía para mejorar el rendimiento del alumno que
  • 20. Es un IDE simple, rápido y completo para C++. estaba en el límite entre aprobar y desaprobar la materia, pero que no tenía impacto alguno sobre el alumno que la promocionaba con notas altas. Las limitaciones de gdb no son específicamente problemas de gdb, sino más bien características del diseño C++. Hay una una idea que heredo desde PSeInt y es que si voy a hacer algo que el alumno va a usar para intentar entender, tengo que hacerlo bien o no hacerlo, porque si mi programa lo hace mal (y no avisa), estoy contribuyendo a confundir al alumno, a que lo aprenda mal como lo hace mi programa, o al menos a generarle dudas sobre algo que estaba bien y que le harán perder tiempo (está claro que en la realidad no logro respetar esta idea al 100%, pero intento). Por ejemplo, cuando en DDD inspecciono un puntero, aparece en el área de dibujo un cuadradito con la dirección de memoria. Cuando hago doble click sobre el puntero, aparece otro cuadradito con el contenido al cual apunta, y una flecha del primero hacia el segundo, similar a lo que un docente dibuja en el pizarrón cuando lo explica en clases. Pero si tengo dos punteros que apuntan a la misma dirección y hago doble click sobre los dos, por cada uno aparece un nuevo cuadradito con el contenido apuntado, en lugar que apuntar los dos al mismo (o al menos así era cuando lo probé). Esto confunde, porque los dos cuadraditos nuevos deberían ser uno, ya que ese contenido no está dos veces en memoria, y no puedo modificar un dato apuntado sin alterar el otro. Corregir esto implica llevar un registro de todas las direcciones de todas las variables involucradas para detectar cuando deben ser las mismas. No solo podría ser lento, sino que en algunos casos rebuscados no encontré como pedirle a gdb la dirección que necesito para saber si alguien le está apuntando. Otro
  • 21. Es un IDE simple, rápido y completo para C++. ejemplo sería el uso de arreglos dinámicos, no hay una forma fácil y no intrusiva de saber cuantos elementos tiene un arreglo generado con new inspeccionando la memoria. Esta información está en memoria (sino el programa no podría destruir los elementos al hacer el delete []), pero de una forma que es dependiente de cada compilador, de cada sistema operativo, de las opciones de compilación en sí mismas, y por lo tanto, difícil de encontrar y poco fiable (peor aún con malloc). Por esto, lo que iba a ser un depurador gráfico con olor a IDE, terminó siendo un IDE con un depurador no tan gráfico (pero sí con algunas pocas representaciones más piolas que las estándar, como las de tablas), sólo que haciendo énfasis en la I de IDE para adaptarla a las necesidades del aula y distinguirla de las demás. Siguiendo con la historia de ZinjaI, como era un IDE que yo había hecho, que conocía al detalle, y que podía modificar a gusto, comencé a usarlo para mis trabajos reales, para proyectos más serios que un ejercicio en una clase de práctica. Y a medida que lo iba usando cada vez más, iba necesitando agregarle cosas, siempre tratando de no perturbar la sencillez inicial, pero ganando en potencia con cada nueva versión. Finalmente, tengo un IDE que se presenta como básico y simple (o al menos eso pretendo), pero que permite armar grandes proyectos, interactuar con herramientas externas, manejar configuraciones complejas, depurar aprovechando casi toda la potencia de gdb, etc. Hoy en día sigue siendo una cuenta pendiente mejorar aún más la interfaz para la depuración, algo que es a mi criterio increíblemente útil como herramienta didáctica, pero que muchísimos alumnos (aún alumnos
  • 22. Es un IDE simple, rápido y completo para C++. avanzados y hasta docentes a veces) desconocen y en consecuencia no valoran. BIBLIOGRAFÍA https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado http://zinjai.sourceforge.net http://cucarachasracing.blogspot.com/2012/03/quien-es-quien- hoy-zinjai.html