a) i programmi che hai citato sono in C/C++.
dalle tutorial e dalle discussioni in rilievo nei forum di programmazione puoi farti un'idea di quali programmi sono in quale linguaggio.

b) i soft possono essere sviluppati dalle software house, da programmatori volontari (open source) e qualcuno da programmatori di aziende che si occupano di altro

c) conviene far programmare all'esterno di solito, a meno che il progetto sia molto specifico e ristretto.

d) forum offerte di lavoro