"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do."
-- unsure; often attributed without source to information philosopher Ted Nelson
Software development guidelines by Ken Gaillot
Summary of development tools
A minimal useful development environment includes:
- a standard C compiler and library such as gcc and glibc
- a standard C++ compiler and library such as gcc and libstdc++
- a Bourne-compatible shell such as bash
- a Perl interpreter
- an m4 macro processor such as GNU m4
- an implementation of make such as GNU make
- a text editor such as emacs
- an archiver such as GNU tar
- a compressor such as gzip
- an implementation of man page formatters such as groff
Other generally useful tools:
- a debugger such as gdb
- version control software like cvs
- autoconf and automake for installation and portability
- a GUI toolkit such as GTK+ and GNOME
- devtree for building development trees following these guidelines
Tools useful for specific purposes:
- popt for command-line argument processing
- readline library for interactive command-line input
- ncurses for screen-based user interface
- info and texinfo for documentation support for GNU formats
- DocBook tools for documentation support for many formats
- gettext for native language support
- libtool for portable shared libraries
- cryptological signature software such as PGP or GPG