Социальные аспекты метапрограммирования
От: 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". Программеры получили обратно свое чувство контроля над происходящим, контракты были получены и все кончилось хорошо .

Мне кажется многие программисты не любят инновации типа ФП, потому что (не без оснований) считают, что безотносительно их технического совершенства, иноовации обесценивают их инвестиции в профессиональное образование. Метапрограммирование не нравится им еще сильнее: "Оно еще и код пишет — и я не понимаю как оно работает".
Re: Социальные аспекты метапрограммирования
От: StackOverflow  
Дата: 28.12.08 17:19
Оценка: 2 (2) +9
Здравствуйте, z00n, Вы писали:

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


думаю, автор маленько передергивает
позволить сторонним людям со сторонним софтом вносить не прошедшие ручной контроль правки в критичный код, за работоспособность которого отвечать придется потом тебе
на такое не каждый решится
Re: Социальные аспекты метапрограммирования
От: COFF  
Дата: 28.12.08 19:04
Оценка:
Здравствуйте, z00n, Вы писали:

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


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

In the financial software world, COBOL is king. The
Gartner Group estimates that the total number of lines of
COBOL in the world is over 200 Gloc, and that this number is
presently still growing at about 5 Gloc per year.


И это, несмотря на все успехи FP и MP
Re: Социальные аспекты метапрограммирования
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 28.12.08 19:47
Оценка: +1 -1
Здравствуйте, z00n, Вы писали:

Z>

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


Ага, все вокруг в дерьме, и только товарищи из Legasys в белом.

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


Очень похоже, что из упомянутой вами статьи вы сделали собственные выводы, которые не имеют отношения к тексту самой статьи. Тем более, что называть ФП инновацией как-то странно, учитывая его почтенный возраст.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[2]: Социальные аспекты метапрограммирования
От: z00n  
Дата: 28.12.08 22:20
Оценка: +3 :)
Здравствуйте, StackOverflow, Вы писали:

SO>Здравствуйте, z00n, Вы писали:


SO>думаю, автор маленько передергивает

SO>позволить сторонним людям со сторонним софтом вносить не прошедшие ручной контроль правки в критичный код, за работоспособность которого отвечать придется потом тебе
SO>на такое не каждый решится

А компиляторами (VC,GCC,C#,javac etc.) вы пользуетесь? Это (как правило) сторонний софт, который переписывает вашу программу, чаще всего не позволяя как следует проконтролировать результат, почти всегда имеет неисправленные баги. В чем для вас принципиальная разница?
Re[3]: Социальные аспекты метапрограммирования
От: StackOverflow  
Дата: 28.12.08 22:25
Оценка: +1 :)
Здравствуйте, z00n, Вы писали:

Z>Здравствуйте, StackOverflow, Вы писали:


SO>>Здравствуйте, z00n, Вы писали:


SO>>думаю, автор маленько передергивает

SO>>позволить сторонним людям со сторонним софтом вносить не прошедшие ручной контроль правки в критичный код, за работоспособность которого отвечать придется потом тебе
SO>>на такое не каждый решится

Z>А компиляторами (VC,GCC,C#,javac etc.) вы пользуетесь? Это (как правило) сторонний софт, который переписывает вашу программу, чаще всего не позволяя как следует проконтролировать результат, почти всегда имеет неисправленные баги. В чем для вас принципиальная разница?


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

а в примере приведен совсем иной случай
приносится левая программа и по не до конца понятному мне и проверенному мною алгоритму что-то меняет в моем коде
причем отказаться от ее использования можно
Re[2]: Социальные аспекты метапрограммирования
От: z00n  
Дата: 28.12.08 22:27
Оценка:
Здравствуйте, COFF, Вы писали:

COF>Было бы интересно послушать и мнение противоположной стороны. Безоговорочно верить словам консалтера довольно опасно

Ну, это все-таки научная работа а не запись в блоге.

Вообще, мне показался интересным вот такой факт:
COF>In the financial software world, COBOL is king. The
COF>Gartner Group estimates that the total number of lines of
COF>COBOL in the world is over 200 Gloc, and that this number is
COF>presently still growing at about 5 Gloc per year.


Я все прочел с большим интересом. Это один из крупнейших пластов компьютерной индустрии, и при этом один из самых слабоосвещенных.
Re[2]: Социальные аспекты метапрограммирования
От: z00n  
Дата: 28.12.08 22:33
Оценка: :))) :)
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, z00n, Вы писали:


Z>>don't understand the automatic process, and at the same time they feel


E>Ага, все вокруг в дерьме, и только товарищи из Legasys в белом.

Заняли оборону на стороне пролетариев умственного труда? Работников мет... Кобола?

E> Тем более, что называть ФП инновацией как-то странно, учитывая его почтенный возраст.

Come on. F# инновация, а ФП нет?
Re[2]: Социальные аспекты метапрограммирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 01:12
Оценка: +3
Здравствуйте, StackOverflow, Вы писали:

SO>думаю, автор маленько передергивает

SO>позволить сторонним людям со сторонним софтом вносить не прошедшие ручной контроль правки в критичный код, за работоспособность которого отвечать придется потом тебе
SO>на такое не каждый решится

Есть системы контроля версий и просто diff-ы. Нет проблем отследить все изменения. Это и правда — социальный аспкт.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Социальные аспекты метапрограммирования
От: . Великобритания  
Дата: 29.12.08 06:51
Оценка:
VladD2 wrote:

> Есть системы контроля версий и просто diff-ы. Нет проблем отследить все

> изменения. Это и правда — социальный аспкт.
удивительно, но даже сейчас не все пользуются диффами, а уж тем более скв или
как минимум считают это чёрной магией... А уж 10 лет назад, да ещё и в банках...
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: Социальные аспекты метапрограммирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 09:56
Оценка:
Здравствуйте, ., Вы писали:

>> Есть системы контроля версий и просто diff-ы. Нет проблем отследить все

>> изменения. Это и правда — социальный аспкт.
.>удивительно, но даже сейчас не все пользуются диффами, а уж тем более скв или
.>как минимум считают это чёрной магией... А уж 10 лет назад, да ещё и в банках...

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

Ко всему прочему использование допотопных подходов — это тоже социальный аспект. Ведь очевидно, что использовать сорсконтрол удобно и эффективно. Так что мешает его внедрению?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Социальные аспекты метапрограммирования
От: Lloyd Россия  
Дата: 29.12.08 10:05
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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


Не во всех системах исходные коды хранятся в виде файлов на диске. В качестве примера можешь посмотреть Axapta.
Re[6]: Социальные аспекты метапрограммирования
От: Курилка Россия http://kirya.narod.ru/
Дата: 29.12.08 10:10
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, VladD2, Вы писали:


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


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


L>Не во всех системах исходные коды хранятся в виде файлов на диске. В качестве примера можешь посмотреть Axapta.


В сапе такая же ерунда, только вот сравнение версий встроено уже в систему.
Re[3]: Социальные аспекты метапрограммирования
От: 4058  
Дата: 29.12.08 12:22
Оценка:
Здравствуйте, z00n, Вы писали:

E>> Тем более, что называть ФП инновацией как-то странно, учитывая его почтенный возраст.

Z>Come on. F# инновация, а ФП нет?

"Эх, вот и выросло поколение..."
Re[6]: Социальные аспекты метапрограммирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 12:24
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Не во всех системах исходные коды хранятся в виде файлов на диске. В качестве примера можешь посмотреть Axapta.


И какое она имеет отношение к Коболу?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Социальные аспекты метапрограммирования
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.12.08 13:02
Оценка: +2 :)
Здравствуйте, z00n, Вы писали:

Z>>>don't understand the automatic process, and at the same time they feel


E>>Ага, все вокруг в дерьме, и только товарищи из Legasys в белом.

Z>Заняли оборону на стороне пролетариев умственного труда? Работников мет... Кобола?

Нет. Просто в слова продавца о том, что покупатели боятся покупать его супер-пупер инструмент из страха остаться без работы, не верю. Поскольку маркетингом от него несет за две версты. Да и сам рассказ о том, как происходит отказ от использования инструмента Legasys в каком-нибудь банке выглядит очень неправдоподобно.

E>> Тем более, что называть ФП инновацией как-то странно, учитывая его почтенный возраст.

Z>Come on.

Excuse my poor English. What does 'come on' mean?

Z>F# инновация,


F# инновация? Кто сказал?

Z>а ФП нет?


ФП нет.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[7]: Социальные аспекты метапрограммирования
От: Lloyd Россия  
Дата: 29.12.08 13:11
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>Не во всех системах исходные коды хранятся в виде файлов на диске. В качестве примера можешь посмотреть Axapta.


VD>И какое она имеет отношение к Коболу?


Axapta не имеет никакого отношения к коболу. Мой пост был по поводу

Ведь очевидно, что использовать сорсконтрол удобно и эффективно.

Это утверждение не всегда верно, т.к. пользоваться сорс-контролом удобно только в том случае, если исходники хранятся в файловой системе. В изначальном посте не было никакой информации о способе хранения исходников.
Re[8]: Социальные аспекты метапрограммирования
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.12.08 13:17
Оценка: 1 (1) -1 :))
Здравствуйте, Lloyd, Вы писали:

VD>>И какое она имеет отношение к Коболу?


L>Axapta не имеет никакого отношения к коболу. Мой пост был по поводу

L>

L>Ведь очевидно, что использовать сорсконтрол удобно и эффективно.

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

Да мне плевать, что законы Ньютона не всегда верны, если мы говорим о земле.
Точно так же мне плевать на вселенскую правильность утверждений когда я говорю о конкретном случае.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Социальные аспекты метапрограммирования
От: Lloyd Россия  
Дата: 29.12.08 13:38
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>Да мне плевать, что законы Ньютона не всегда верны, если мы говорим о земле.

VD>Точно так же мне плевать на вселенскую правильность утверждений когда я говорю о конкретном случае.

И все-таки где конкретно в этом случае упоминание о том, что исходники хранятся в файловой системе?
Re[4]: Социальные аспекты метапрограммирования
От: z00n  
Дата: 29.12.08 13:58
Оценка: :))
Здравствуйте, eao197, Вы писали:

E>Excuse my poor English. What does 'come on' mean?

Что-то типа: "Да ладно!"

E>F# инновация? Кто сказал?

Микрософт.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.