Можно ли выучить английский за один день? А за месяц?
А сколько нужно вообще времени, чтобы свободно овладеть английским, или например научиться программировать?
В случае с английским - достаточно ли выучить N слов (100, 1000, 5000)? Словосочетания, синтаксис..
А с программированием? Достаточно ли знать синтаксис языка, алгоритмы, паттерны проектирования?
В обоих случаях - нет.
Можно сказать, что ты по-настоящему знаешь английский, когда начинаешь думать на нем. И это совсем не то же самое, что думать на русском.
Ты овладел программированием, когда начал думать как программист.
И паттерны проектирования для тебя уже не та штука, которую спрашивают на собеседовании, и которую нужно применять в тех то и тех то случаях. А когда ты строишь дачу, и внезапно обнаруживаешь, что строишь её с применением этих паттернов.
Ни английский, ни программирование не возможно выучить по-настоящему за день, месяц и даже за год.
Конечно, можно ускорить эти процессы, погрузившись в благоприятную среду. Например, общепризнанным фактом является то, что английский быстрее всего учится при непрерывном контакте с носителями языка.
ТАК И КНИГИ погружают в благоприятную среду, которая позволяет усваивать новые концепции, идеи, знания, в легком и ненапряжном режиме. В отличие от тренингов, где нужно непрерывно впахивать, предпринимать усилия, работать над собой.