Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why.
A book I have written: https://www.amazon.com/dp/0578802228
Also see: https://gamechangersmovie.com/