Cette demande n'est pas très claire. Pour compiler un programme, il faut tenir compte:
- du langage (assembleur, C/C++, Java, Fortran, Ada, Pascal...)
- de l'OS qui sert à la compilation, et qui sera le plus souvent l'OS qui exécutera le programme
- du type du compilateur (libre - comme les outils GNU - ou commercial - comme ceux proposés par Microsoft, Borland)
- de la forme du code à compiler (c'est-à-dire, si c'est un programme complexe qui nécessite un Makefile, ou alors si c'est un programme simple avec peu de code)
Pour moi, j'utilise le compilateur GNU gcc (pour langage C) inclus dans la plupart des distributions Linux. Ce même compilateur a été porté pour Windows dans un ensemble de programmes appelé
MinGW (Minimal GNU for Windaube). Une dernière chose: il faut impérativement maîtriser la ligne de commande pour utiliser les compilateurs.