He utilizado SGML (Standard Generalized Markup Language) por su flexibilidad, este sistema permite dar significado a las distintas partes de un documento de manera que posteriormente se pueden mecanizar muchas de las tareas de elaboraci≤n. Ya que el documento no tiene formato sino significado, se pueden asignar distintos estilos de formato seg·n sea el soporte de destino: Papel, Paginas web, PostScript, Portable Document Format, Braille... etc.
Concretamente he elegido el DTD (Document Type Definition) DocBook ya que parece ser el estßndar de facto en la documentaci≤n de productos software, utilizado por empresas como Hewelt Packart, SUN MicroSystems u O'Reilly.
Por ser un estßndar internacional (ISO 8879) es totalmente independiente del software utilizado y totalmente portable, al contrario que otros formatos propietarios como Word, WordPerfect, QuarkXpress...
Como ventaja adicional, es un formato basado en texto, y no en caracteres binarios no imprimibles, lo que permite un control de cambios mßs fßcil, especialmente con herramientas como CVS (Concurrent Version System).
TambiΘn he utilizado gtk-doc-tools, un sistema de generaci≤n de documentaci≤n SGML a partir de comentarios estructurados dentro del c≤digo fuente del programa. Es el sistema utilizado en GTK+ y GNOME para la creaci≤n del manual de referencia del API.
GTK+, una biblioteca de elementos grßficos inicialmente apoyada en Xwindow, que estß siendo portada a Win32, fue originalmente desarrollada para satisfacer las necesidades del magnφfico programa de tratamiento fotogrßfico GIMP (GNU Image Manipulation Program) y progresivamente se ha convertido en el estßndar de facto para la programaci≤n de aplicaciones grßficas en el mundo del software libre, desplazando a la todopoderosa Motif. Posteriormente surgi≤ la iniciativa, de manos de Miguel de Icaza de crear un entorno de programaci≤n mßs c≤modo y flexible que denomin≤ GNOME (GNU Network Object Model Environment) que utilizo GTK+ para dibujar ventanas, botones y demßs elementos grßficos.
Este entorno, goza de toda la flexibilidad del sistema Xwindow ( ejecuci≤n remota, independencia del gestor de ventanas ...) y ademßs estß libremente disponible, incluido todo su c≤digo fuente y proporciona documentaci≤n gratuita en m·ltiples formatos (la editan en SGML).
Ademßs estas herramientas estßn hechas para ser portables, por supuesto a travΘs de la mayorφa de los sistemas de tipo UN*X y muy pronto Win32 (Microsoft Windows 95/98/NT).
Para la mayor parte del programa he utilizado una versi≤n mejorada del clßsico VI (Visual Interactive:) denominada VIM (VI iMproved).
Posteriormente para la edici≤n de la memoria a partir de las notas he utilizado emacs, con un paquete de extensi≤n para documentos SGML.
Es un compilador muy portable, tambiΘn de libre distribuci≤n que es capaz de compilar C, C++, Java, Pascal y Fortran. Estß disponible para casi todas las plataformas UN*X, Win32, Beos, DOS, y puede que otras.
Para la depuraci≤n he utilizado el programa de consola gdb y a menudo su "front end" grßfico DDD.
Este es el sistema de control de versiones "estßndar" en el mundo del software libre. Permite registrar los cambios de colecciones completas de archivos, pudiendo se±alar momentos importantes del desarrollo para su posterior examen, y el mantenimiento de distintas ramas de desarrollo. TambiΘn permite acceso remoto a las colecciones de archivos para facilitar la colaboraci≤n a travΘs de Internet.
"Automake" genera de forma semiautomßtica todo el sistema de compilaci≤n (archivos Makefile) ricos en funcionalidad y de acuerdo con los estßndares de GNU.
"Autoconf" es capaz de detectar las distintas peculiaridades el entorno de desarrollo permitiendo una compilaci≤n fßcil a todo tipo de usuarios en todas las plataformas soportadas.