Learning programming may seem like an impossible feat, that being said however, with the right resources and information just about anyone can learn the most essential language that is used today.
C is the programing language used to write the Linux kernel and the most of the accompanying basic utilities. It is fast, efficient and portable. Apart from other advantages and use cases it will be an incredibly useful to learn in order to better understand Linux fundamentals and solve unusual problems.
It can be difficult to learn C programming language if you do not have the right information and the right drive. The best way to learn it is to jump right in and learn from doing. As with many programming languages, it is always best to start with a fundamental understanding before you jump in. Build Your Own Lisp by Daniel Holden is a fantastic online book that allows you to learn the fundamentals of C as a programming language and relate it directly to the new language that you want to create on your own.
This book is for those that already have a little bit of knowledge on their own and those that are completely new to programming and just need a shove in the right direction. Nevertheless, it is not intended to replace The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie.
You can donate directly on the above-mentioned website. Source code is available at GitHub. For further information and updates please read the Frequently Asked Questions section and follow Daniel Holden on Twitter.