RE:Iniciarse en progamacion
Hola:
Linux viene con varios lenguajes de programación (es posible que en la instalación haya que marcarlos, pero yo creo que al menos el C y C++ vienen con él por defecto).
En http://www.geocities.com/chuidiang/herramientas/basico/hola_mundo.html tienes un ejemplo de cómo hacer un "hola mundo" en C para linux.
A partir de ahí ya va en gustos. Quizás el vi no te guste como editor. Puedes usar el gvim, el xemacs, etc. Todos ellos vienen con linux. Si no quieres escribir en un editor tan simple y compilar a base de comandos, puede venirte bien un entorno de desarrollo como Anjuta (para Gnome) o KDevelop (para KDE). Ambos vienen con linux.
Y sobre todo, necesitas un buen libro/tutorial de C (o del lenguaje que quieras aprender).
Se bueno.