Как развить программистское мышление? Как правильно решать задачу

Спрашивают:

зацепил один ответ:

О решении

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

Я бы советовал вам такой способ, опробованный на себе:
1. Придумать и записать на бумаге алгоритм решения задачи. На человеческом языке, разбив по пунктам. Причем под пунктом понимается некоторая более простая подзадача, которая на данном этапе не важно как решается.
2. Повторять пункт 1 для каждой подзадачи до тех пор, пока решение очередной подзадачи не станет очевидным.
3. Записать каждую подзадачу отдельно на листке в терминах языка программирования. Начиная от самых мелких и постепенно придя к исходной.
4. (первые три пункта выполняются на листке бумаги с карандашом) И вот только теперь, с полным пониманием происходящего, можно начинать писать код.

Если задачи довольно просты, то, возможно, вам не придется разбивать их на подзадачи, и тогда можно начинать сразу с пункта 3.

О гуглении

По поводу гугления. В общем - это полезный навык для программиста, но явно не на этапе "начал с полного нуля". Сейчас главное научиться декомпозировать задачи и строить алгоритмы. Единственное зачем сейчас можно(и даже нужно!) залазить в гугл - это официальная документация по Java (можно заменить на ваш язык).

Как думаешь хороший подход?

Ответ: все верно, минимум на 99%, о том как это соотносится с нашим курсом бэкэнд разработки см. тут: https://youtu.be/0_9acw3AhVY