Compiler sind ein wesentlicher Bestandteil des Werkzeugkastens eines Computerprogrammierers. Ein Compiler verwandelt eine reine Textdatei, die Code enthält, in ein Programm, das ausgeführt werden kann.
Ein häufiges Missverständnis ist, dass Computer Code verstehen. Das ist nicht wahr. Computer verstehen nur Maschinencode, also Code, der für die Architektur des Computerprozessors zusammengestellt wurde. Einige Programme sind sowohl in 32-Bit- als auch in 64-Bit-Versionen erhältlich, und diejenigen, die ein 32-Bit-Betriebssystem verwenden, können keine 64-Bit-Programme ausführen. Compiler wandeln den Code, den der Programmierer schreibt, in Maschinencode um.
Nicht jede Sprache muss jedoch kompiliert werden. Einige Sprachen werden als interpretierte Sprachen bezeichnet; Dies sind Sprachen, die zur Laufzeit kompiliert werden. Interpretierte Sprachen müssen noch in Maschinencode kompiliert werden, dies geschieht jedoch während der Ausführung des Programms. Sobald Code aus einer kompilierten Sprache in ein kompiliertes Programm umgewandelt wurde, ist es für den Endbenutzer dieses Programms nicht erforderlich, den Compiler auf seiner Maschine zu haben. Der Benutzer eines in einer interpretierten Sprache geschriebenen Programms muss jedoch den Interpreter auf seiner Maschine haben. Einige Beispiele für kompilierte Sprachen sind C, C++, C# und Objective-C, während einige Beispiele für interpretierte Sprachen Python, Ruby, PHP und JavaScript sind.