Hi, Welcome to the forums.
The kernel and many supporting applications are written using C, so that's the first language you should learn. You also need to learn shell scripting--use the
Z Shell. C++ is another language you must learn, especially if you want to create/modify GUIs.
A good book on C is
The GNU C Programming Tutorial and
A Book on C
For C++:
GNU C++ for Linux
For shell scripting:
From Bash to Z Shell: Conquering the Command Line
You of course need the compilers (and applicable libraries) and learn how to use them, so getting and learning about the
GNU Compiler Collection is a must.
You may also be interested in
Linux From Scratch which is a step-by-step guide on creating your own Linux distribution.