Learning to program is similar to learning to play a guitar. At first it is slow, maybe even boring. You want to play songs. Your mind knows the song, but you do not know how to play it. Instead you end up doing exercises for your fingers, practicing postures and chords. It takes time to play a simple song.