Nov. 8th, 2012

kaipa: (Default)
Подумалось, что гипотеза лингвистической относительности Сепира-Уорфа вполне применима и к программированию. Программисты, которые учились программировать на конкретном языке, начинают думать в терминах его конструкций, и тем самым сильно себя ограничивают. Переход на другой язык и тем более парадигму может быть весьма проблематичен. Иногда можно наблюдать, как на новом для себя языке программист пишет "по-старому", как будто переводит мысли с языка на язык. В последнее время с ростом популярности языка Скала, такое случается особенно часто, так как Скала допускает этакий суржик с Джавой, чем активно пользуются неофиты.

Чтобы избежать языковой привязки, учиться программированию лучше либо в надязыковых терминах, например на языке блок-схем, либо же во время обучения пробовать возможно большее количество разных подходов. Тогда вырабатывается понимание, что инструмент или язык -- это лишь средство, и ментальные процессы решения конкретной задачи слабо с ним связывается. Например, нас учили (и в школе и на ВМК) машине Тьюринга, машине Маркова, ЛИСПу, ФОРТу, ПРОЛОГу, не говоря об "обычных" императивных и объектно-ориентированных языках. Те, кому такое разнообразие кажется бесполезным, скорее всего попали в плен какого-то конкретного языка или подхода.

В то же время, полностью исключить привыкание к языку нельзя. Наш мозг "любит" проторенные дорожки. Но видеть перед собой всю карту возможностей никогда не было лишним.

P.S. В некотором роде это является продолжением моего поста двухгодичной давности.

Profile

kaipa: (Default)
kaipa

April 2017

S M T W T F S
       1
2345678
9101112131415
16171819202122
23242526272829
30      

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 8th, 2025 06:06 am
Powered by Dreamwidth Studios