プログラミングツール
ソフトウェアツールには様々な形態がある。
バグ管理システム: gnats、Bugzilla、Trac、JIRA、LibreSource、SharpForge
ビルドツール: make、automake、Apache Ant、SCons、Rake、cmake、qmake
コード網羅率: gcov、EMMA
コード共有サイト: Freshmeat、Krugle、SourceForge.net、ByteMyCode
コンパイラ、リンケージエディタ: GNUツールチェーン、gcc、Microsoft Visual Studio、CodeWarrior、Xcode、ICC
デバッガ: gdb、GNU Binutils、Valgrind
逆アセンブラ: リバースエンジニアリングツール
ドキュメンテーションジェネレータ: Doxygen、help2man、POD、Javadoc、Pydoc/Epydoc
形式手法: 数学に基づく仕様記述・開発・検証の技法
GUIインタフェースジェネレータ: Qt Designer、Cocoa InterfaceBuilber、Windows Forms Visual Studio
ライブラリインタフェースジェネレータ: SWIG
こういったツールは、単純で軽量なものを組み合せて使う、という所に本領がある。
一方、UNIXとはまた異なる文化として、LISPやSmalltalkの文化があった。特にSmalltalkでは、クラスブラウザによりクラスライブラリを簡単に追いかけることができることや、その場その環境のプログラムを書き換える、といったことができた。そのGUI環境の表面だけは、後にMacintoshが引き継ぐが、そのような自由な環境という精神はむしろ引き継がれなかった。
統合開発環境 (IDE) は、元々は、シングルタスク環境であったパーソナルコンピュータにおいて、1個のアプリケーションで編集・コンパイルのフロントエンド・デバッガ等、各種の作業を行えるようにしたものから始まっている。前述のSmalltalkのような環境を、パーソナルコンピュータでなんとか実現しようとしたもの、と見ることもできる。その後パーソナルコンピュータでも、Windowsや、あるいはUNIXライクOS(Linuxなど)が使えるようになると、例えばEclipseなど、より洗練された(Smalltalkのそれに近い)環境などが現れたが、MS-DOS以来の伝統を残すVisual Studioなどもまだ使われている(しかし近年、Windows以外のバージョンを中心に、その中身はXamarin Studioに置き換わりつつある)。