На мой взгляд, такова особенность нашей психики. Фокус внимания рассеивается, если мозг не видит сиюминутной пользы - от чтения, от рутинных операций, не важно от чего. И тут может помочь либо применение психотехник различных (визуализация результата, фокусировка на каждом действии как у спортсменов в процессе тренировки), либо смена формата, либо позитивное подкрепление - освоили главу, угостили себя печенькой; освоили книгу - сходили в кино, купили пиццу, или еще какой-то более крупный стимул. Тогда мозг будет знать, "ради чего надрываться" :)
Мне например, школьный английский очень нравился, т.к. учитель интересно давала материал. А в колледже и вузе интерес резко снизился.
При этом английский я выучил в основном благодаря компьютерным играм в жанре RPG(раньше было много пираток с ужасным переводом, я ставил оригинал и играл буквально со словарем под рукой)
Также, мне кажется, более эффективно использовать сочетание теории и практики, т.к. ни одна книга (да хоть сам Дональд Кнут :)) не сделает вас программистом, если вы будете только читать.
Применяйте все на практике, находите применение знаниям, тогда и теория пойдет в прок.