PDA

Просмотр полной версии : Программистский камень


SiberianTiger
24.12.2006, 15:27
По аналогии с понятием "философского камня", пара программистов из Англии написала в 1997 году книгу "Программистский камень", где обсудила процесс разработки программ, исходя из концепции разделения всех людей на "паковщиков" и "картографов".

Русский перевод книги находится здесь:
http://progstone.nm.ru/

Он сделан просто безобразно :). Не знаю про остальные главы, но в первой некоторые предложения просто-напросто переведены неправильно. Я начал читать перевод, но потом просто-напросто переключился на чтение английского оригинала, который можно найти здесь:
http://www.datamodel.co.uk/Reciprocality/www.reciprocality.org/Reciprocality/r0/index.html

Могу утешить русскоязычных читателей: английский оригинал тоже написан безобразно :D. Его очень непросто читать :(.


В принципе, непрограммистам достаточно прочитать лишь первую главу, чтобы получить представление о концепции.


Какое отношение эта книга имеет к личностному развитию?

Как мне кажется, концепции "паковщиков" и "картографов" описывают два Пути - восточный "Путь без головы" и современный "Путь с использованием головы" соответственно.

Ведь традиционный восточный подход основан на практике, и одной лишь практике. Голову же требуется "отключить" ради того, чтобы Учителю можно было наполнять знаниями "пустую чашку". Чем это не ДЕЙСТВИЕ, на котором основан мир паковщиков? Ведь чуть ли не единственный вопрос, задаваемый подобным человеком - это "Что я должен делать в конкретный момент?".


У использующего же голову картографа параллельно идут процессы познания мира, выработки моделей, и оптимизации своего инструментария.

Поневоле вспоминается данное сообщение Иеро из моей темы "О духовности и святости": http://project.megarulez.ru/forums/showthread.php?p=3154

Ведь картографирование - это как раз построение и уточнение собственных моделей реальности вместо принятия готовых чужих, - пусть и полученных от самого настоящего Учителя! :)


Что интересно, задолго до "Программистского камня" была написана небольшая повесть Азимова "Профессия (http://www.lib.ru/FOUNDATION/professia.txt)". Там описано общество паковщиков, и путь картографа в нем (подробностей выдавать не буду, дабы было интересно читать ;)).


Хорошая новость заключается в том, что картографированию можно научиться. А те, кто уже умеют, могут расширить как свою карту мира, так и свой арсенал методов построения карт реальности.

Чего и желаю всем вам :).

Исусик
24.12.2006, 16:14
Перевод действительно... будто паковщик переводил :)

Насчёт что описывает концепция... Если брать восточный путь интуиции, метафоры и качества сущностей как противоположность современному-западному подходу, основанному на логике, формальных моделях и количественных характеристиках, то картостроитель должен совмещать преимущества обоих подходов, а логик - это паковщик, а восточники и вовсе в программисты не идут :)

SiberianTiger
24.12.2006, 17:24
Перевод действительно... будто паковщик переводил :)

Невнятно написанную книгу и перевести сложно ;).
Хотя ты прав - она ИМХО слишком буквально переведена, будто бы автоматическим переводчиком ...

Насчёт что описывает концепция... Если брать восточный путь интуиции, метафоры и качества сущностей как противоположность современному-западному подходу, основанному на логике, формальных моделях и количественных характеристиках, то картостроитель должен совмещать преимущества обоих подходов, а логик - это паковщик,

А интуиция и логика - они ИМХО вторичны/ортогональны плоскости "паковщик - картограф". Оба этих метода можно использовать для построения карты, а можно - для программирования уже имеющегося алгоритма действий.

Я для себя разницу между паковкой и картографией применительно к дизайну программ определяю прежде всего как разницу при допросе пользователей.

Паковщик, ориентированный на действия, спрашивает: "Что и как вы делаете?", ориентируясь на процесс, и тупо перенося в программу идеосинкразию наработанных пользователями алгоритмов.

Картограф же помимо этого спросит еще и "Каковы задачи бизнеса? Что нужно достичь/реализовать?", нередко выдавая на-гора куда более эффективный способ достижения результата за счет построения модели ...

а восточники и вовсе в программисты не идут :)

Восточники в программисты не идут???!!!
Тебе, видимо, не пришлось переписывать программы, написанные китайцами ... Мне приходилось - там был самый настоящий ужас-ужас :eek:.

Впрочем, это принесло мне немало лавров :D.


П.С. Я не совсем понял, что ты имел в виду, говоря о качестве сущностей и количественных характеристиках. Пояснить можешь?

Тома
24.12.2006, 20:59
При грамотном ТЗ эта, прости господи "класификация"-бред.
А при решении эксклюзивных задач процесс создания пограммы в приниипе идет не по такой схеме.

Виктор
25.12.2006, 06:44
По ощущению от первой главы, речь идёт о метапрограммах "процедуры" (паковщики) и "варианты" (картографы).

Виктор
25.12.2006, 06:47
При грамотном ТЗ эта, прости господи "класификация"-бред.
А при решении эксклюзивных задач процесс создания пограммы в приниипе идет не по такой схеме.

ИМХО, Тома, тут фишка в том, что паковщики это ТЗ выполнять будут, а вот картографы если не писать его, то по крайней мере разработают ряд подходов, упрощающих сей процесс.

SiberianTiger
25.12.2006, 07:13
При грамотном ТЗ эта, прости господи "класификация"-бред.
А при решении эксклюзивных задач процесс создания пограммы в приниипе идет не по такой схеме.

ГЫ, какое ТЗ считать грамотным?
Мне кажется, паковщик и картограф составят очень разное ТЗ ;).

По ощущению от первой главы, речь идёт о метапрограммах "процедуры" (паковщики) и "варианты" (картографы).

Интересно. Об этих метапроцедурах/типах людей на курсах НЛП вскользь упомянули.

Лично у меня хорошо развито и то, и другое - у меня очень хорошее алгоритмическое мышление, но, в то же время, у меня и сбор информации/построение модели хорошо поставлен.

Тома
25.12.2006, 07:19
Ага, авторы текста-жертвы неравной борьбы с тупыми или неграмотными заказчиками.

Тигра, а на жизнь проецировать сию "класификацию" некоректно. Програмер решает ЧУЖИЕ задачи. А по жизни люди преследуют СВОИ цели.

SiberianTiger
25.12.2006, 17:49
Ага, авторы текста-жертвы неравной борьбы с тупыми или неграмотными заказчиками.


Тигра, а на жизнь проецировать сию "класификацию" некоректно. Програмер решает ЧУЖИЕ задачи. А по жизни люди преследуют СВОИ цели.

Да, СВОИ цели.
Вот только одни ходят кругами (крутятся в колесе), наступая на принципиально такие же грабли, отличающиеся лишь цветом и размером. И все потому, что думают лишь о текущем моменте, и смотрят на мир через шоры.

А другие составляют карту, и доходят туда, куда надо и/или хочется ;).

Тома
25.12.2006, 22:37
Мне кажется, паковщик и картограф составят очень разное ТЗ
:confused: :eek:
Они не составляют ТЗ....эт заказчик делает.



А другие составляют карту, и доходят туда, куда надо и/или хочется ;)

А другие составляют карту по описанию заказчика.......
И идут туда куда заказчик(учитель, общество, вера) пошлет....но по карте.

Уж послала так послала!(с)

И какая разница как ходить по ЧУЖОЙ карте-прямиком или с выкрутасами? Ходить надо по своей карте к своей цели.
В данном случае-развести заказчика по полной, а уж кто лучше это сделает-паковщик или картограф-неизвестно.

Исусик
26.12.2006, 04:58
А интуиция и логика - они ИМХО вторичны/ортогональны плоскости "паковщик - картограф".

Пожалуй, ты прав и дело здесь не в тактике, а в стратегии построения внутренней модели. Но давай всё-таки оставим оси интуиции и логики небольшую проекцию на плосколсть "паковщик-картограф", ведь интуиция - это мощный ресурс подсознательных(широкопотоковых, параллельных) вычислителей, образное, пространственное мышление. А логика - это медленное, последовательное размышление над ограниченным кусочком информации. И если картограф работает в 100 раз быстрее, значит он просто грамотно использует "интуитивный", подсознательный ресурс. И вопрос в том, как он это делает.

Если есть задача и надо её решить, то человек, занимаясь этой задачей, либо находится в процессе поиска пути её решения, либо следует этому пути. И переход от следования пути к поиску пути альтернативного - акт перехода на мета-процесс, переход вверх. Противоположный акт - переход вниз, на подпроцесс.

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

И причина тут - экономия ресурсов.

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

Паковщику тоже может быть лень делать эту работу, но он видит путь "доделать" более простым, чем отвлечься и придумать другой способ. И, собственно, почему для него сложней отвлечься, и окинув всю задачу придумать другое решение? Что у Картографа тагого, облегчающего переход на мета-уровень? Да просто "окинуть взором всю задачу" для паковщика - это значит загрузить в сознательную модель новые подробности системы, для него модель сложной системы держать в сознании тяжело, каждая подробность - складка меж бровями. Он работает логикой.
А для Картографа окинуть модель взором ничего не стоит, потому что сознание отдыхает, а образное мышление с лёгкостью крутит модель, приближает и отдаляет её как хочет. Он работает интуицией, картинки вертит. Просто нечёткость, размытость интуитивных понятий умеет переводить на "конкретный" язык логики. А Паковщик не умеет, и интуицией просто не пользуется, и не может бабочкой порхать по веткам уровней иерархии, способен лишь гусиницей переползти, чего не делает, просто жрёт свой лист под носом. :D

_
Насчёт качественных и количественных характеристик. Я имел ввиду примерно: качество - это структура объекта, его внутренние связи, а количество - внешний интерфейс объекта, его свойства, доступные без необходимости понимать внутреннюю структуру, то есть частный случай, моментальное проявление качества.

SiberianTiger
26.12.2006, 18:04
Исусик

Изящно и красиво :).
Есть только один момент, к которому хочется придраться.

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

Мне же кажется, что паковщик - это не тот, кто хочет, но не может. Паковщик - это тот, у кого такой вариант нередко даже не рассматривается! Ведь он живет в мире действия, и просто-напросто следует уже известному алгоритму.

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


Кстати, в процессе чтения тебя пришли мысли на тему "как становятся паковщиками или картографами" :).

Как мне кажется, картографы отличаются от паковщиков так же, как человек отличается от животных. А отличается он от животных умением моделировать в сознании те или иные объекты - ну и наличием модели себя.

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

Сопоставив это с результатами исследований, согласно которым чем талантливее человек, тем позже у него окончательно формируется мозг, прихожу к простому выводу. Потенциал картографирования есть у всех, и может быть активирован даже во взрослом возрасте. Просто паковщики - это те, у кого формирование личности завершилось до того момента, как сознание развилось в достаточном объеме для полномасштабного моделирования мира. Соответственно, их модели реальности куда проще - раз, и куда статичнее - два. Ведь картографы свои модели постоянно уточняют; все эти переходы вверх-вниз делаются автоматически!

Отсюда - навык картографирования у картографов используется постоянно, и, следовательно, со временем переносится в "быстрое" подсознание, существенно увеличивая мощность механизма картографирования.

Можно, как мне кажется, попробовать пристыковать все это дело и к половой зрелости: чем раньше она случается, тем раньше внутренние ресурсы направляются на основной инстинкт, снижая соответственно ресурсы на размышления/формирование разума и картины мира.

Это может быть еще одним фактором, благодаря которому разработка современной науки и техники переместилась во многом в "холодные" страны, где половое созревание наступает позже, чем на югах :).

Тома

У нас с тобой - разная перспектива применительно к разработке.
Ты, похоже, смотришь на процесс "Составление ТЗ -> конкурс -> выбор исполнителя -> разработка", более характерный для разработки под ключ.

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


А разводить заказчика - это не у всех такие цели ;).

Исусик
30.12.2006, 09:35
Да, паковщику и в голову не приходит маршрут мысли, привычный картографу, и дело тут в привычке. Обращение к подсознанию у паковщика или точнее, при отсутствии положительного подкрепления на мысль, повышается её энергетическая цена или та минимальная сила мотивации, достаточная чтоб запустить эту мысль с такими же параметрами и не рассматривается в качестве альтернативы.

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

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

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

Эта картина-модель позволяет сказать, как минимум, что раз информация о системе черпается посредством самой системы, то существует недоступная область проявления системы, в которую невозможно попасть используя доступные в этой системе средства. Это следует из теоремы Геделя о неполноте.

То есть, общественная коммуникация и обмен знаниями о своих мясных машинах, является причиной развития самой машины, применяющей эти знания, ну и всего общества.

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

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

SiberianTiger
07.01.2007, 20:50
Возникла мысль о том, что очень многое у людей так и остается неиспользованным потенциалом, поскольку так никогда и не подключается, не отрабатывается - включая способности к самовосстановлению, "картографирование", и многое другое ...

Насчет "мясной машины" мне "Князь света" Желязны вспоминается - как после реинкарнации (переноса духа в новое тело) тот или иной "бог" постепенно приспосабливал тело к своей сущности, приучая его делать те же специфические для него вещи, которые умело и старое тело (свой Атрибут).

И я согласен с твоим тезисом о привнесении в свою мясную машину новых фишек - только я верю в первичность привнесения этих фишек в сознание, после чего ими сможет воспользоваться и тело ...

> То есть, общественная коммуникация и обмен знаниями о своих мясных машинах, является причиной развития самой машины, применяющей эти знания, ну и всего общества.

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


Север - стыкуется ли твоя гипотеза с тем фактом, что первые цивилизации возникли на юге/в тепле - в Индии, Междуречье и Египте?

Тома
08.01.2007, 08:22
Я же смотрю с точки зрения разработки для внутренних клиентов, где шаги начинаются с опроса пользователей, и ТЗ составляется теми, кто будет разрабатывать систему.


Так вот пользователи или некий их представитель и должен составлять ТЗ, а не перекладывать это на плечи програмиста. А опрос пользователей, разработка эргономики продукта-это отдельная задача и отнюдь не програмиста. Если же эту задачу возложили на програмиста-налицо неправильная организация труда. Либо если организация или отдел маленький то эти функции должны быть четко прописаны за програмистом, а он в свою очередь должен быть обучен этому.


Зы Север - стыкуется ли твоя гипотеза с тем фактом, что первые цивилизации возникли на юге/в тепле - в Индии, Междуречье и Египте?
Нету такого факта. На севере найдены следы пребывания человека разумного до ледникового периода.

Исусик
08.01.2007, 18:09
И я согласен с твоим тезисом о привнесении в свою мясную машину новых фишек - только я верю в первичность привнесения этих фишек в сознание, после чего ими сможет воспользоваться и тело ...

Конечно, а как иначе? Вне тела эти фишки существуют в идеальном, словесного описания виде, доступном лишь сознанию.

"Князь света" Желязны вспоминается - как после реинкарнации (переноса духа в новое тело) тот или иной "бог" постепенно приспосабливал тело к своей сущности, приучая его делать те же специфические для него вещи, которые умело и старое тело (свой Атрибут).

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

То есть, эмоциональное закрепление некоего "как-будто бы" заставляет личность придерживаться режимов работы, соответствующих этому "как будто бы". Напоминает то, о чём Иеро писал, душевное кредитоимство.

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

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

SiberianTiger
09.01.2007, 15:59
Так вот пользователи или некий их представитель и должен составлять ТЗ, а не перекладывать это на плечи програмиста. А опрос пользователей, разработка эргономики продукта-это отдельная задача и отнюдь не програмиста. Если же эту задачу возложили на програмиста-налицо неправильная организация труда. Либо если организация или отдел маленький то эти функции должны быть четко прописаны за програмистом, а он в свою очередь должен быть обучен этому.

То, что ты пишешь, справедливо лишь для старых методов разработки, которые применялись лет 15 назад. Новые методы основаны на постоянной коммуникации пользователей, аналитиков и программистов.

Нету такого факта. На севере найдены следы пребывания человека разумного до ледникового периода.

Следы пребывания - это еще не цивилизация. В Африке вон тоже следов много, но цивилизации таки возникли не там.

То есть, эмоциональное закрепление некоего "как-будто бы" заставляет личность придерживаться режимов работы, соответствующих этому "как будто бы". Напоминает то, о чём Иеро писал, душевное кредитоимство.

Ну да, изменение себя начинается в большинстве случаев с изменения образа себя в подсознании ...

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

... и наглотался Фрейд проявителя ... :D
Он этот проявитель нашел внутри себя, а кто-то - вовне находит: читая форумы, к примеру ...

Тома
09.01.2007, 21:20
Новые методы основаны на постоянной коммуникации пользователей, аналитиков и программистов.


Так было и тогда . когда я работала в НИИ. А статья то как раз о нарушении комуникации между аналитиком и програмистом, и о том как это програмисту преодолеть.
Я же гоаорю о том, что проще не допустить проблему, чем с натугой её решать.

SiberianTiger
10.01.2007, 06:44
Так было и тогда . когда я работала в НИИ. А статья то как раз о нарушении комуникации между аналитиком и програмистом, и о том как это програмисту преодолеть.
Я же гоаорю о том, что проще не допустить проблему, чем с натугой её решать.

Книга ИМХО все же о тупом переносе имеющихся ДЕЙСТВИЙ/МЕТОДОВ в новую систему (паковка).

А не о нарушении коммуникации.

То есть, для картографов изначальное тех. задание ИМХО может быть лишь базой, на основе которой строится тех. задание реальное.

Тома
10.01.2007, 07:55
Имхо так Имхо.
Каждый видит в меру своего уровня.
Ты подчиненный -я начальник.
Я смотрю как можно улучшить работу системы исходя из тех ресурсов что есть. А ты как улучшить работу ресурса.

То есть, для картографов изначальное тех. задание ИМХО может быть лишь базой, на основе которой строится тех. задание реальное.
А вот таких работничков я б в шею гнала с работы.

SiberianTiger
11.01.2007, 16:45
Имхо так Имхо.
Каждый видит в меру своего уровня.
Ты подчиненный -я начальник.
Я смотрю как можно улучшить работу системы исходя из тех ресурсов что есть. А ты как улучшить работу ресурса.

Я смотрю на оптимизацию в целом. Ты - на предсказуемость процесса. А это ИМХО черта не начальника как такового, а "прикрывающего собственную задницу".

А вот таких работничков я б в шею гнала с работы.

Естессно - поскольку отчетность для тебя важнее качества :p.

Тома
11.01.2007, 22:46
Забавно ставить "в вину" предпринимателю что он работает на отчетность. Ну да ладно, 90% путает наемного начальника и предпринимателя. Я уже привыкла.


Сегодня приходили рабочие, просили на подьем банера 5000 на материалы и 10000 на З\п. Долго обьясняли про сложную систему полиспастов. Кран обошолся в 5600. Рационализаторы-картографы ,блин....


Зы тема то перекликаеться с темой Исполнители и победители.
Практики за исполнителей. Теоретики за победителей.
К чему бы это?

SiberianTiger
18.01.2007, 03:19
Забавно ставить "в вину" предпринимателю что он работает на отчетность.


Зы тема то перекликаеться с темой Исполнители и победители.
Практики за исполнителей. Теоретики за победителей.
К чему бы это?

А я понял ;).

Смысл не в отчетности и "исполнителях". Это все - следствия.

А первопричина - контроль/делегирование полномочий.

Ты ведь, работая "на отчетность", работаешь прежде всего на то, чтобы у тебя были вожжи. Соответственно, в организации нет никого, кто был бы умнее тебя.

Потому и нужны одни лишь исполнители.

Тома
18.01.2007, 07:12
Потому и нужны одни лишь исполнители

Мне нужен конечный результат.И я всегда стараюсь сделать так, что бы подчиненные не геройствовали, а просто выполняли дело, которое им ПОНЯТНО.
А вожжи у меня есть всегда и при любом раскладе.


Соответственно, в организации нет никого, кто был бы умнее тебя.


Не знаю в чем ты ум мерееш, а вот более знающие и умеющие у меня в работниках есть. Но какие бы крепкие не были кирпичики сами они в стенку без каменщика не сложатся.