Гипотеза Сепира — Уорфа в программировании
Nov. 8th, 2012 05:09 pmПодумалось, что гипотеза лингвистической относительности Сепира-Уорфа вполне применима и к программированию. Программисты, которые учились программировать на конкретном языке, начинают думать в терминах его конструкций, и тем самым сильно себя ограничивают. Переход на другой язык и тем более парадигму может быть весьма проблематичен. Иногда можно наблюдать, как на новом для себя языке программист пишет "по-старому", как будто переводит мысли с языка на язык. В последнее время с ростом популярности языка Скала, такое случается особенно часто, так как Скала допускает этакий суржик с Джавой, чем активно пользуются неофиты.
Чтобы избежать языковой привязки, учиться программированию лучше либо в надязыковых терминах, например на языке блок-схем, либо же во время обучения пробовать возможно большее количество разных подходов. Тогда вырабатывается понимание, что инструмент или язык -- это лишь средство, и ментальные процессы решения конкретной задачи слабо с ним связывается. Например, нас учили (и в школе и на ВМК) машине Тьюринга, машине Маркова, ЛИСПу, ФОРТу, ПРОЛОГу, не говоря об "обычных" императивных и объектно-ориентированных языках. Те, кому такое разнообразие кажется бесполезным, скорее всего попали в плен какого-то конкретного языка или подхода.
В то же время, полностью исключить привыкание к языку нельзя. Наш мозг "любит" проторенные дорожки. Но видеть перед собой всю карту возможностей никогда не было лишним.
P.S. В некотором роде это является продолжением моего поста двухгодичной давности.
Чтобы избежать языковой привязки, учиться программированию лучше либо в надязыковых терминах, например на языке блок-схем, либо же во время обучения пробовать возможно большее количество разных подходов. Тогда вырабатывается понимание, что инструмент или язык -- это лишь средство, и ментальные процессы решения конкретной задачи слабо с ним связывается. Например, нас учили (и в школе и на ВМК) машине Тьюринга, машине Маркова, ЛИСПу, ФОРТу, ПРОЛОГу, не говоря об "обычных" императивных и объектно-ориентированных языках. Те, кому такое разнообразие кажется бесполезным, скорее всего попали в плен какого-то конкретного языка или подхода.
В то же время, полностью исключить привыкание к языку нельзя. Наш мозг "любит" проторенные дорожки. Но видеть перед собой всю карту возможностей никогда не было лишним.
P.S. В некотором роде это является продолжением моего поста двухгодичной давности.