Alma is a software workshop for modeling and analyzing. It reads several sources (languages, models, etc.), helps you design for object-oriented modeling (definition of classes, relations, patterns, etc.), modifies the structure and the code, and outputs new sources, documentation, diagrams, etc. It is designed for object-oriented modeling (definition of classes and relations) and for migrating code in older languages. It meets two needs, offering a simplified software modeling workshop for small projects and making it easier to do rewrites, ports, and encapsulation of non-OO code.
ArgoUML is a pure Java open source UML CASE tool that provides cognitive support for object-oriented design. ArgoUML provides some of the same editing and code generation features of a commercial CASE tool, but it focuses on features that enhance usability and support the cognitive needs of designers. Uses XML file formats: XMI and PGML.
Cooledit is a text editor for the X Window System. It contains a built-in Python interpreter for macro programming, and it includes a rich set of utilities and features. It has multiple edit windows and a beautiful, intuitive user interface that requires no tutoring to learn to use. It can be used as a programmer's IDE and has syntax highlighting for a large number of programming languages. It contains an interactive graphical debugger for C/C++ programs.
Cxref is a program that will produce documentation (in LaTeX, HTML, RTF or SGML) including cross-references from C program source code. It works for ANSI C, including most gcc extensions. The documentation for the program is produced from comments in the code that are appropriately formatted. The cross referencing comes from the code itself and requires no extra work.
Data::Locations is a virtual file manager which allows you to write and read data (text and binary) to and from virtual files (think of bubbles). Moreover, this manager allows you to (recursively) define "magic" insertion points in these virtual files (bubbles inside other bubbles) which can be filled in (inflated) later (through a "straw", i.e., the object's reference), at any convenient time and in any order you like. Since this software acts purely in memory, there is no slowing down through costly file input/output (i.e., no temporary files).