Buenas, en principio serían compatibles en todas las distribuciones, aunque puede haber excepciones, no el hecho de que no sean compatibles, sinó que puedan dar problemas. Depende de qué distribución usas, pero por estadística, si usas una distribución muy utilizada, habrá "más compatibilidad".
Las aplicaciones pueden venir en varios formatos: desde los propios repositorios (se descargan e instalan solas), desde paquetes instalables (depende de la "rama" de la distribución, cada rama tiene su sistema: deb, rpm... siendo deb el más extendido porque es el que usa Ubuntu, quien tiene mayor fama); también se pueden bajar los paquetes sin compilar y compilarlos.
Para programar... no sé si te refieres a este tipo de programación, pero yo sé de Sublime Text.