LibKing » Книги » Компьютеры и Интернет » Прочая околокомпьтерная литература » Alan Carter - The Programmers Stone (Программистский камень)

Alan Carter - The Programmers Stone (Программистский камень)

Тут можно читать онлайн Alan Carter - The Programmers Stone (Программистский камень) - бесплатно полную версию книги (целиком). Жанр: Прочая околокомпьтерная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Alan Carter - The Programmers Stone (Программистский камень)
  • Название:
    The Programmers Stone (Программистский камень)
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.12/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Alan Carter - The Programmers Stone (Программистский камень) краткое содержание

The Programmers Stone (Программистский камень) - описание и краткое содержание, автор Alan Carter, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Попытка разобраться и понять, как программировать эффективно. С точки зрения авторов, проблема создания эффективных программ скрыта в способе мышления человека при решении задач. Людям свойственны две стратегии мышления — «паковка» (packing) и «отображение» (mapping). Стать хорошим программистом можно лишь освоив «отображение».

© Википедия

The Programmers Stone (Программистский камень) - читать онлайн бесплатно полную версию (весь текст целиком)

The Programmers Stone (Программистский камень) - читать книгу онлайн бесплатно, автор Alan Carter
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

Схожесть идей Тейяра де Шардена и Винжа поразительна, только мы, помещая эволюцию в быстрый реактор программного обеспечения, сжимаем миллионы лет органической эволюции, которые нужны (по Тейяру де Шардену) для создания ноосферы, в тридцатилетие (о чем говорит Винж).

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

Общество разума

Марвин Мински (Marvin Minsky) в «Обществе разума» ( The Society of Mind ) предположил, что феномен человеческого разума возникает из взаимодействия множества неразумных обрабатывающих агентов, которые действуют в мозгу как со-процессы, каждый со своими собственными триггерами и программами действий. Агенты затем соединяются и подвергаются арбитражу посредством «сетикета» ('nettiquette'), что позволяет им определять направление деятельности организма как целого. Когда мы чувствуем себя проявляющими свободу воли в потакании нашим прихотям, мы на самом деле просто следуем решению, которое уже возникло в коллективе агентов. Эта модель определенно имеет свои привлекательные стороны и дает основу для стимулов, для удовлетворения которых мы применяем творчество и интеллект, но, как кажется, не дает полезного описания самих творчества и интеллекта. С этими обобщенными средствами познания, мозг, как кажется, должен использоваться как управляемый прибор распознавания образов общего назначения, внутренние представления которого подсоединяются к сенсорным компонентам опосредованно (косвенно), по крайней мере так, чтобы абстрактное и конкретное можно было рассматривать с одинаковых позиций.

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

Хэширование действует путем абстрагирования (извлечения) некоего ключа из данных — возможно, беря 20 символьное имя из поля и складывая численные значения всех символов. Это число затем может использоваться для индексирования таблицы и нахождения полной записи. Реальные хэширующие алгоритмы разрабатываются так, чтобы максимизировать разброс получающихся из типичных входных данных чисел, и должны учитывать ситуации, когда хэш уже переполнен, сохраняя ссылки на несколько записей, так что извлечение включает проверку полного ключа для каждой записи. В простых ситуациях хэш часто очень эффективен, и напоминает паковку, где некоторая абстракция ситуации используется для извлечения «подходящего действия». Как представляется, при паковке плохо обрабатываются переполнения хэша. Они даже не будут замечены, пока один или несколько участников не обнаружат явные, быстро проявляющиеся (short term) потери от «подходящего действия». За этим последует «спор», в котором паковщик укажет на один путь абстрагирования ключа из ситуации и утверждать, что это «именно тот случай», в то время как другой укажет на другой алгоритм хэширования и будет утверждать, что нет, это «тот случай». Это не продуктивно и показывает изъян описанной стратегии при превышении некоторого уровня сложности проблемы, где мы пытаемся буквально впихнуть слишком много вариаций в слишком маленький хэш и не развиваем навыки выполнения при необходимости большого числа проверок полного ключа.

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

Эти параллели между функциональной (общество разума и распознавание шаблонов), субъективной описательной (паковка и картостроение) и вычислительной (хэширование и объектное моделирование) моделями сознания предполагают, что вполне может существовать нейрологическая корреляция с описанными нами стратегиями картостроения и паковки. Мы определенно знаем, что ранняя стимуляция детей приводит в увеличению роста нейронов и их переплетению в мозгу ребенка, и это коррелирует с большей «интеллектуальностью» ('intelligence') (что бы это ни означало) во взрослой жизни. Что бы ни было «интеллектуальностью», навыки познания и решения проблем, что тестировалось, слабо проявлялись на тейлористском паковочном рабочем месте, где основная идея заключается в деквалификации и ограничении поведения.

Вероятный вопрос в начале информационной эры — это: «Какая часть вашего мозга предназначена для использования на работе?»

Картостроение и мистицизм

В самом начале, мы посмотрели на два разных пути решения проблем. Паковка характеризовалась как социально обусловленная привычка обрастать «пакетами знаний», которые определяют «подходящее действие», а не исследовать или переконфигурировать соотношения между пакетами знаний. Эта стратегия деградирует в практику подгонки реальности под известные пакеты и возложение ответственности на фортуну, когда что-то происходит не так. Картостроение, наоборот, включает в себя инвестирование в построение внутренней объектной модели мира по мере его восприятия и получение рычагов путем обнаружения глубокой структуры. Картостроение можно совершенствовать изучением методик, которые помогают исследованию концептуальных пространств и помогают действительно увидеть происходящее перед глазами, распознавая в происходящем глубокие структурные паттерны. Картостроители могут гибко реагировать, и они — единственные люди, которые в состоянии предложить новые подходы. Они могут учиться гораздо быстрее паковщиков, и пока они ищут глубокую структуру, они смотрят на нее как на еще неразгаданную тайну. Опыт картостроителей и паковщиков в совершенно одинаковых обстоятельствах может оказаться совершенно различным.

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Alan Carter читать все книги автора по порядку

Alan Carter - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




The Programmers Stone (Программистский камень) отзывы


Отзывы читателей о книге The Programmers Stone (Программистский камень), автор: Alan Carter. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img