iniciado en esto. ayuda para programar

Hola, siempre me a gustado todo ese tema y quisiera aprender desde el principio, es decir aprender a programar, por so quisiera que me ayudarais en decirme que lenguaje de programacion debo estudiar i que libros me recomendais. GRACIAS :D

El lenguaje que se utiliza para programar el Arduino es C. En google podrás encontrar muchos manuales de programacion en C, C++...