Можно ли выучить программирование?

На Лайфхакере вышла статья с очень странным названием — «Как выучить программирование с нуля». Со странным, потому что программирование нельзя выучить. Это не стихотворение, не формула по физике, не таблица умножения. Программирование — навык, который можно приобрести через практику, которому можно научиться (опять же благодаря практике).

Можно выучить (а лучше: освоить, впитать в себя) принципы, подходы к программированию, а само программирование выучить нельзя. Нельзя же выучить альпинизм, танцы или пение — эти и многие другие виды действий осваиваются, им учатся.

Можно выучить алгоритм решения конкретной задачи, но готовый алгоритм — не программирование.

Можно выучить предмет в школе или вузе — только в этом отношении фраза «выучить программирование» корректна: здесь имеется в виду ‘подготовиться к занятию или экзамену‘.

То, что имеет явные границы, выучить можно. Как правило, это то, что изучается в детских садах и младших классах школы, а также в самом начале освоения какой-то новой области. Дни недели, алфавит, падежи, таблица умножения, времена в английском языке, устройство двигателя внутреннего сгорания — все это можно выучить.

То, что явных границ не имеет, можно освоить, научиться (но не выучить!): игра на гитаре, танцы, английский язык, программирование, физика, вождение автомобиля, прогаммирование и т.п.

Из-за ожидания границ там, где их нет, слово «выучить» часто крайне неудачно используется. Вопросы «как выучить английский язык» и » как выучить физику» предполагают ожидание быстрого результата, близкое разочарование от отсутствия результатов и сильное удивление от отсутствия границ.