I learned programming in C. I really think it is important to learn all the data structures internal functioning (coding your own linked lists or hash-tables), learning how memory in a program really works, what is the difference between a 4 byte-type variable versus a 1 byte one, etc