книги хорошо читать, когда вам нужны просто знания. ну, скажем, вы хотите узнать, как зверушки внутри устроены. но вряд ли вы будете готовы самостоятельно оперировать даже собак, не говоря уж о людях, прочитав книжку. нужна практика. и желательно под руководством опытного хирурга. программирование может быть и не такая сложная штука, во всяком случае программы не живые и над ними можно издеваться как угодно, но тем не менее...
Это целая куча интеренсых вопросов
- в данном случае вопрос "курицы и яйца" решается более однозначно: какие-то программисты определённо появились до курсов, и какие-то определённо учились по книгам других
- в 90-е годы книги и разные другие источники случались куда информативнее попадавшихся в институтах преподавателей (не то чтобы я хотел кого-то обидеть, но случалось)
- Программирование очень большое, скрипты командной строки это тоже программирование (не очень сравнимое с хирургическими операциями по-моему). Люди, которым надо написать несколько bash или cmd скриптов, вполне обойдутся книгой
На институтском уровне лаб-курсачей тоже можно.
Если человек хочет быстрее, гладко, с обратной связью, по подготовленному пути -- преподаватель-репетитор с таковой очень поможет.
А вот если человек хочет дёшево или даром, набивать свои шишки сам и получить суровый не гладкий опыт -- в наше время кликовой доступности целой кучи разных материалов (книги, курсы в записи, статьи, вспомогательные видео на Ютубе, примеры кода на гитхабе) -- вполне получится.