Если я решаю задачи с помощью гугла, т.е ищу как решается проблема, и на основе ответов решаю задачи, это можно назвать обучением, или необходимо к каждому решению самому приходить? Я не ищу конкретно свои задачи, а просто смотрю как делается то или иное действие в языке.
В принципе да. Главное стараться анализировать, как работает то, что ты нагуглил, а не пытаться собрать монстра франкенштейна из случайных кусков в надежде что заработает.
А по поводу того, что не надо изобретать велосипед - изобретать не надо, но порой надо знать, как он работает.
Не нужно создавать заново велосипед все методы и способы должны быть известны другим программистам, чтобы ваш код был понятен, но вы должны понимать суть данного кода и должны не просто скопировать, а уметь подстраивать его под различные задачи. Лучше учиться на книгах, лишь потом можно пытаться создать свой проект и постепенно получать информацию из интеренета, но не копировать код, а искать метод, что и как сделать
Если ты не бездумно копируешь, а сначала думаешь, а потом по аналогии делаешь решение то все нормально. Т.е. есть задача, ты подумал:
if получилось:
сверяешься с решением, сравниваешь, думаешь как можно это было оптимизировать и узнаешь, что-то новое
else:
пытаешься максимально написать, что пришло в голову, смотришь решение, понимаешь где пробелы в знаниях, так же узнаешь что-то новое.
Вообщем да, это норм.
В идеале изучаешь документацию => практикуешься => решаешь задачи.
Далее, если понял что застопорился, идешь в гугл. Но это крайне нежелательно, главное самому понимать как и что делается без гуглинга. Бывают нестандартные задачи, или пока что слишком сложные, тогда гугл в помощь.