если хочешь быть "теоретиком программирования" то можно заучивать каждое поле пока мотивация не закончится и ты не забросишь программирование, но лучше "обрадовать" себя тем, что ты умеешь хоть что то делать комплексное, а потом уже углубляться в детали. Наступал на эти грабли, в моём случае "перфекционизм" был от неуверенности и ожидании, что возможно стоит еще немного прочитать и вот тогда я перестану писать говнокод.