Лично мне помог линукс с языком Bash на нем, то есть писать самые простые скрипты действий на ней, к примеру писать скрипт, который создаст файл, папку или показать размер файлов в определенном месте! Большой плюс заключается в том, что вы сразу видите результат ваших действий, что они выполняют и для чего, а не просто написание кода с решением каких-то алгоритмических задач! Это конечно тоже полезно, но точно не на начальном этапе, почему их суют в начале освоения программирования я не знаю, наверное чтобы не плодить их количество!
С понимания зачем вообще это нужно. Если есть конкретная цель - будет и понимание в какую сторону двигаться: какие есть языки, технологии, ну а там уже простой поиск по учебным материалам поможет.
Да, в интернете и правда можно найти много полезной информации по программированию и не только. Главное вникать во все нюансы и максимально точно понимать, для чего нам это нужно
а еще грамматика грамматика грамматика..........