Социальные аспекты метапрограммирования
От: z00n  
Дата: 28.12.08 16:56
Оценка: 226 (18) +3 -2 :))) :))) :)))
Пока читал ветку Что меня не устраивает в МП в Nemerle
Автор: AndrewVK
Дата: 25.12.08
- всплыло в памяти.

Пару лет назад я читал интересную статью: "Comprehending Reality — Practical Barriers to Industrial Adoption of Software Maintenance Automation" написанную Джимом Корди.

Корди принимал участие в огромном проекте по переписыванию 3.5 миллиардов строк кода на Коболе в рамках борьбы с Y2K в крупнейших канадских финансовых институтах. У них был инструмент для программной трансформации кода (сейчас его потомок известен как TXL), и что интересно, все технические проблемы легко решились — труднее решались нетехнические.

Статья сама по себе интереснейшее чтение и классика — рекомендую. Для тех, кому лень читать 10 страниц, я в паре слов, упрощая, перескажу место, которое мне понравилось больше всего — chapter 4.3: The Social Reality.

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

From their point of view it is magic — in goes the old code, out comes
the new code, or the UML, or whatever. They are dubious because they
don't understand the automatic process, and at the same time they feel
threatened — if it works, the company may not need all of them any
more!

The result is that the technical managers report to their group
managers that it can't help, or that they can already do this by hand,
or some other negative response. The group manager reports to the vice
president that the technical staff don't see any role for the
technology, and whoosh! — we're out the door.


Консалтеры проявили гибкость и испортили свой транслятор, чтобы он вместо исправления ошибок просто давал советы типа: "исправьте формат даты: строка 2345, колонка 34". Программеры получили обратно свое чувство контроля над происходящим, контракты были получены и все кончилось хорошо .

Мне кажется многие программисты не любят инновации типа ФП, потому что (не без оснований) считают, что безотносительно их технического совершенства, иноовации обесценивают их инвестиции в профессиональное образование. Метапрограммирование не нравится им еще сильнее: "Оно еще и код пишет — и я не понимаю как оно работает".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.